[–]▶ No.811748>>811757 >>811786 >>811845 >>817592 [Watch Thread][Show All Posts]
Everyone outside of /tech/ seems to think Haskell is a great second language and the best for functional programming and teaches you great practices that will improve your skills in other languages.
Then I lurk threads here and people seem to hate it.
Why?
Is it just the community you hate? I mean, they're pretty lazy when it comes to actually making stuff with it, but they're really polite and helpful people, so I think that nullifies it, but I'd like to focus on /tech/'s thoughts on the language rather than the community, since the community is all I hear people complain about.
▶ No.811757>>811761 >>811776
>>811748 (OP)
>I mean, they're pretty lazy
I see what you did there :^) There was a time when I wanted to learn Haskell because the functional approach sounded interesting, but most of the books just quickly glanced over the functional approach and just assumed you got it. I later picked up SICP and since use Scheme when I want to do functional stuff, its syntax is very clean, unlike Haskell's. That's really all I can personally say about Haskell. They do have a cool logo though
▶ No.811774>>811789
a lot of other languages steal ideas from haskell so if you learn a bit of haskell many concepts transfer. the language is fun but personally i'd rather just get shit done in c than wank about with functional nuttery.
▶ No.811776>>811781
>>811757
I really like Haskell's syntax, I just hate syntactic whitespace more
▶ No.811777>>817592
>let's ascribe meaning to invisible characters
lol. every language that does this is trash
▶ No.811781
>>811776
Haskelly syntax is fine, but after tasting s-expressions in Scheme I think every language should be like that. Technically Lisp languages don't even have a syntax, you are writing the AST which normally the syntax would be transformed into by the parser.
▶ No.811786
>>811748 (OP)
I've tried learning it but the build tools are what get me. Can't figure out what to download.
▶ No.811787>>811831 >>812350
Functional languages are memes. Observe the output of those communities over the past 60 years before you buy in to the cult. They don't produce anything. They make a lot of claims that they should be able to produce all sorts of things, but they never do.
▶ No.811789>>811790
>>811774
>get shit done in c
enjoy your segfaults anon, I hear theyre extremely productive :^)
▶ No.811790
>>811789
Better to have crashy code than no code. But of course you're writing your replies in your browser made in haskell / lisp so I have no room to talk.
▶ No.811831>>811834
>>811787
oh yeah, nobody ever built anything useful with Erlang amirite
▶ No.811833
suck on these monads you endofunctors
▶ No.811834>>811838
>>811831
It's garbage. Even Ericsson gave up. The only uses it gets these days is at hipster webdev shops where they only have a tiny amount of code to write and performance doesn't matter because selling your info pays so well so they just write it in random languages for fun.
▶ No.811838>>811844
>>811834
Erlang is massive right now.
▶ No.811844>>811847
▶ No.811845>>811848
>>811748 (OP)
It's typical /tech/ superiority. Obviously /tech/ is superior to everybody else because the poster said so. Nevermind the fact that these posters are nothing more than LARPers.
▶ No.811847
>>811844
All the usual places, HN, Reddit, /g/, /tech/, Coding Horror
▶ No.811848>>812189
>>811845
>nothing worthwhile written in haskell
>hurr /tech/ is LARPing
sage
▶ No.811854>>811858 >>811861
The community is worthless. The language is worthless.
▶ No.811858>>812013
▶ No.811861>>812013
>>811854
>using reddit as a measure of value for anything at all
▶ No.811895
Haskell is good for academic study, but to get peak performance you have to right really nasty code. Erlang is a lot more practical, and while I wouldn't say "huge" is certainly very useful for certain domains.
▶ No.811956
>Haskell
Just learn Scheme instead.
<but muh purity
<but muh monads
Get out.
▶ No.812013>>812018 >>812020
>>811858
>>811861
>language links everyone to mailinglists, Facebook, Google+, and Reddit
>mailinglist is just spam
>Google+ community is dead as fuck
>Facebook community is even deader somehow
>largest community by a mile is on Reddit
>Reddit isn't a measure of Haskell's shit community
Look at yourselves and what you have become.
▶ No.812018
>>812013
the irc is pretty active.
▶ No.812020>>812031
>>812013
Is a mailing list still the best way for a tech community to exchange ideas? It seems to be that it would be so, as all other options are owned by some outside entity. IRC is fine, but it's ephemeral and no one wants to plow through logs to find their answers.
▶ No.812031>>812038 >>812063
>>812020
>Is a mailing list still the best way for a tech community to exchange ideas?
Yeah. Actually, several communities now consider mailinglists to be what saves them from having to deal with CS Grads as millennials can't figure out email. There's zero bullshit on many of them, I'd give examples but I don't want to leave a trail for the horde to follow.
▶ No.812038>>812055
>>812031
>I'd give examples but I don't want to leave a trail for the horde to follow.
▶ No.812055>>812063
>>812038
It's the reality of tech today. As long as a community is unknown to the cancer it's safe.
▶ No.812063
>>812031
>>812055
If the cancer spreads there, we'll just use newsgroups more.
▶ No.812079>>812117 >>812191
I 40% resent it for taking oxygen from better languages, like Mercury. I 20% hate lazy evaluation: it's a fucking gimmick; everything it gives you is worse than the non-lazy alternative. I'm 10% disgusted for popularity that came from a subverted "language of the year" project (first year's language: Haskell; second year's language: lol nevermind stick with Haskell people). I 30% despise the community--but, not because they're SJWs like in Rust, where it's possible to love the code but hate the coder, but because they value complexity and obscurity, so their code also suffers as a result. That's on average. When my hate for the language swells, I can fit in an extra 10% of contempt for the non-transportable 'features' of Haskell: as people learn Forth or Lisp they grow as programmers; as people learn Haskell they grow only as Haskell programmers. It's an attractive nuisance of a language.
▶ No.812117>>812218
>>812079
Pretty much that. I actually wrote quite a bit of haskell back in the day, and I couldn't understand code I had written only 6 months prior! I'd also spend time making my code look like a mathematical masterpiece, and then get very annoyed when requirements changed and I had to ruin the beautiful code. While it's definitely worth learning, continued use of it is really just intellectual masturbation. There's snobbery involved too, because it is a complex language, and you start telling yourself "I'm a smart guy, and stupid people cannot get on my level", only to realize you were wasting time writing abstract fuckery just to cause a little side effect.
I gave it all up and just stuck with Racket (PLT Scheme when I switched) for the things I was using Haskell for. We need to do something about the Monad Epidemic, why didn't someone intervene sooner?
▶ No.812189
>>811848
>thinks sage is a downvote
>only hurting the thread by shitting it up with a sagepost, not doing anything to the reply you're saging for
please fuck off back to reddit
▶ No.812191>>812198 >>812232
>>812079
Do you really understand what that means? Lazy evaluation simply means work is done only when necessary. You call this principle a gimmick?
▶ No.812198>>812200 >>812202
>>812191
The implementation of lazy evaluation can lead to an explosion of memory usage, as those thunks really start to add up. It's useful for toy programs, but when performance and memory concerns dictate, you often have to force strict evaluation.
▶ No.812200
>>812198
Haskell's only used for toy programs, it should be fine.
▶ No.812202>>812357
>>812198
Explosion on memory usage for memory that should be earmarked as cache? I would have thought that this cached data for lazy lists would be kept within a fixed sized buffer that's intended to be flushed when memory is needed and tuned for performance.
▶ No.812218>>812233 >>812356
>>812117
>Monad epidemic
Dude, monads are Haskell's most copied feature and they do make certain constructs in other languages much more palatable.
▶ No.812232
>>812191
>You call this principle a gimmick?
Allow me to quote myself:
>everything it gives you is worse than the non-lazy alternative.
Lazy evaluation is not "doing work when necessary" floating in a void. It is 'useful'. The usefulness is a lie.
▶ No.812233
>>812218
>most copied feature
Only if you're so stupid as to interpret 'Monad epidemic' as about monads rather than about Haskell itself that you think Some and Optional and such are people copying monads. It's like seeing a 'cons-cell epidemic' in Perl using an array as a stack. Some and Optional and such you can do with algebraic types, which (like everything good about Haskell) aren't unique to Haskell.
▶ No.812350>>812358
>>811787
yesod is top tier
▶ No.812356
>>812218
I was making a pun about the Opioid epidemic. I could have said Monoid, but I don't know if there are any Category Theorists here.
▶ No.812357
>>812202
How can it be fixed sized when program evaluation is non-deterministic?
▶ No.812358>>812360
>>812350
>Yesod (Hebrew: יסוד "foundation") is a sephirah or node in the kabbalistic Tree of Life, a system of Jewish philosophy.[1]
▶ No.812360>>812362
>>812358
The creator of Yesod is an Israeli, he's a clever guy, but that's why he named it so.
▶ No.812362>>812369
>>812360
>Yesod believes in the philosophy of making the compiler your (((ally))), not your enemy.
>using jewish kabbalistic funcitonal meme frameworks written in haskell
▶ No.812369>>812370 >>812412
>>812362
So don't use it. Don't use GNU anything because (((JEWS))). Throw out anything that might have come from the mind of a (((JEW))) because you know... (((JEWS))).
I really wish we had a higher quality tech board where we could have a proper discussion instead of it devolving into this.
▶ No.812375
▶ No.812384
>>812378
>newfriend can't link posts properly
/pol/yps are mentally ill
▶ No.812393
▶ No.812402>>812415
>>812370
I'm actually a National Socialist and frequently browse /pol/, but if you think an idea is bad because a Jew created it, you're a very stupid person. Hell, there were even Jews in top ranking positions of the SS!
▶ No.812412
>>812369
“higher quality” sites end up like the progrider successors - bikeshed city if they talk about tech shit at all
it can’t be helped
▶ No.812415>>812419
>>812402
>I'm actually a National Socialist and frequently browse /pol/
nevermind 😂😂😂
▶ No.812419>>812421 >>812432
>>812415
There are so many low IQ posters here (like you), that I seriously question why I bother coming here.
▶ No.812421>>812424
>>812419
you gonna cry, snowflake?
▶ No.812424>>812426
>>812421
Looks like you're the one crying, gnu-male. (three posts up from this).
▶ No.812426
▶ No.812432>>812434
>>812419
Because you fit in so well
▶ No.812434>>812444 >>812460
>>812432
I want to cleanse the board of idiocy.
▶ No.812444>>812474
>>812434
That's not going to happen without a banhammer.
▶ No.812460
▶ No.812474>>812477 >>812481
>>812444 (checked: 4 for death)
>see nearly-dead board on hatechan
>BO already baleting negative information about CEOs of tech companies
>faglioli containment thread because BO himself not interesting in a tiny trickle of tech news
>still occasionally someone says pajeet
THE SOLUTION TO THIS IS HEAVIER-HANDED MODERATION
WHEN I HAVE NO REASON TO COME HERE (BECAUSE THERE IS NOTHING HERE)
I WILL BE AS WITHOUT TRIGGERS
▶ No.812477
>>812474
You can’t save that sort of stupid from itself
▶ No.812481
>>812474
BEHEAD THOSE WHO INSULT FAGIOLI
▶ No.817261>>817332
Haskell is one of those languages where some problems can be solved with 1 line and for other problems it's terrible and people give up trying to use it. If you're doing Project Euler type problems or you're writing an interpreter, Haskell makes things very easy.
▶ No.817332>>817340 >>817474
>>817261
Functional languages are all like that. You can make small, elegant solutions that with one requirement change have to be completely redesigned from scratch. It's why they're memes.
▶ No.817340>>817362
>>817332
you've obviously never ever used one at any level of competency.
▶ No.817362>>817364 >>817474
>>817340
You're at a point where you've not yet realized what I've already learned.
▶ No.817364
>>817362
>talking like a supervillian
▶ No.817474>>817481
▶ No.817481>>817507
>>817474
No, it's totally different.
Think of it this way - if you hand a mathfag a math problem involving trilateration they will try to solve it with a system of equations as the intersection of spheres as it's mathy and elegant. If you then tell them that there could actually be a small amount of error on each measurement it wrecks their shit and they have to throw out the whole solution and start over with one based in statistics, and they will bitch and moan about this as they seem to hate statistics.
The same kind of thing happens with functional vs. imperative where the elegant functional solution is the least malleable and any small change to the requirements will shatter it. The functional language community still can't see this, several decades after everyone else realized it and moved on.
▶ No.817507>>817625
>>817481
>they will bitch and moan about this as they seem to hate statistics
Statistics isn't mathematics. You can't tell me that the process of statistical is mathematics.
▶ No.817546
I played around with it a bit intermittently for a while, and learned quite a few things in the process. It's definitely an interesting language, as it shows you what programming can be outside of the ALGOL-like realm in a drastic way.
But in the end, I have no use for it, and I'm too much of a brainlet to understand the concepts of monoid and monad tbh so I gave up.
If I would spend time with an atypical language in the future, it would be Lisp, as you can explore many different paradigms with all its dialects, while they also share some kind of essence I didn't quite get yet (manipulation of code as it runs through macros and stuff like this ?)
I would also have more practical uses for it, as I use Emacs, many Scheme dialects are embeddable in C/C++ programs, and Clojure, LFE and the likes open up a lot of possibilities too. Not to mention, Lisps generally don't require a 1GB runtime.
Anyway, in short it's worthwhile to spend a little time with Haskell, but then it ultimately depends of what you want to do once you got hold of the basics.
▶ No.817592
>>811748 (OP)
Not long ago it was like: "We have enough memory now, so time to stop using data as mutable objects."
Today it is like: "i am a religious idiot with dumb non-arguments just trying to dismantle the whole idea of functional/object-oriented (pick your side) programming."
>People seem to hate Haskell. Why?
Haskell is fine as a language, but it's not perfect. Consider your own priorities and decide on what you compromise. For example I agree with >>811777 , but unless you want to make ASCII art from your code, it is a subjective matter.
▶ No.817603
The best part of Haskell is monads in your endofunctors.
▶ No.817625
>>817507
>Statistics isn't mathematics.
It is, but there's a lot of snootyness about it. Meanwhile you'll find newton-raphson everywhere and calculus almost nowhere.
▶ No.817672
Haskell is really a two separate languages:
1. simple syntax you use to describe how your code should operate,
2. GIANT type definition syntax you use to setup constraints for the compiler.
2 is absurdly complex if you go deep. To understand it you'll soon be reading obscure ghc documentation, theoretical math papers and books about category theory. Not fun.