6 ms·
My theory, based on a lot of experience, is that average developers are not “smart” enough to learn it, beyond simple tutorials. By smart I don’t mean IQ, but r
by dsabanin 6y ago
My theory, based on a lot of experience, is that average developers are not “smart” enough to learn it, beyond simple tutorials. By smart I don’t mean IQ, but rather drive, intellectual curiosity and desire for a challenge, that I think is required for learning something so different from mainstream languages.
- alexbanks 6y ago> drive, intellectual curiosity and desire for a challenge literally none of these is related to intelligence. And even if they did, to assert that not wanting to learn Haskell has anything to do with "drive, intellectual curiosity and desire for a challenge" is ridiculous. There are a million reasons a person that exhibits all three of those qualities could opt not to.
- tome 6y ago> literally none of these is related to intelligence. GP didn't mention the word "intelligence"
- alexbanks 6y agosmart adjective, smart·er, smart·est. - having or showing quick intelligence or ready mental capability They said "smart", I said "intelligence".
- dllthomas 6y agoWe could arguably account "drive, intellectual curiosity and desire for a challenge" as particular mental capabilities.
- alexbanks 6y agoEvery time Haskell is discussed, lots of valid critiques show up as to why it's not more successful, and yet every single time, without fail, the conversation devolves heavily into "People aren't smart enough." The person I was responding to literally said that Haskell wouldn't catch on because most developers aren't smart enough, and then defined "smart" as those three things. I am arguing a series of things. First, that being "smart" does not always mean those three things. Second, that being "smart" does not mean that you'd care to learn Haskell. Third, to suggest a tool isn't catching on because the members of the programming community aren't "smart" enough is so masturbatory it's actually insane. God forbid Haskell isn't catching on because of all the valid critiques that show up in every one of these threads and then gets dismissed under this same "Haskell smart" rhetoric. Haskell will not catch on because the community thinks it is too smart to have to actually accommodate the programming community. Simple as that.
- dllthomas 6y ago> The person I was responding to literally said that Haskell wouldn't catch on because most developers aren't smart enough, and then defined "smart" as those three things. The person used "smart" in scare quotes, and defined that usage of smart as being those things. That seems like an explicit mark that they are not talking about all of the usual definition of the word. > Second, that being "smart" does not mean that you'd care to learn Haskell. That's irrelevant. If X is necessary for Y, lack of X is a good explanation for lack of Y even when X is not sufficient for Y. > God forbid Haskell isn't catching on because of all the valid critiques that show up in every one of these threads and then gets dismissed under this same "Haskell smart" rhetoric. If you're looking in from the outside, you may not be in a good place to distinguish between "all of these valid critiques" and "invalid complaints that arise because of misunderstanding, dated info, or outright FUD". There are absolutely valid critiques of Haskell. Most of my problems with it are things that are even more present in languages that have caught on, though, so they cannot stand alone as an explanation. All of that said, "people aren't smart enough" isn't a claim I'd make, even with the reduced scope. I just don't think your argument is well formed.
- alexbanks 6y ago> If you're looking in from the outside, It's weird, then, that the person that wrote the article that you and I are both commenting on has written a well regarded book using Haskell and their assertion is exactly the same as mine, no? It's also weird that the subject of this article is meant to be Rust, and yet here we are debating the idea that "Devs just aren't smart enough to understand haskell". But, as always, I wouldn't expect a conversation about Haskell to really go anywhere. You can't comment unless you've drank the kool aid, and if you've drank the kool aid you're required to spout the same rhetoric.
- dllthomas 6y ago> their assertion is exactly the same as mine ... their assertion was that the problem was the exactly the same unspecified pile of "valid critiques that show up in every one of these threads"? > I wouldn't expect a conversation about Haskell to really go anywhere. Many conversations I've had about Haskell - pro and con - have gone really interesting places. But as your experience has differed, and you appear to think that's predictive, I'll take this opportunity to remove that common variable by wrapping up discussion here. Snark aside, I wish you well.
- ncmncm 6y agoWhat is lacking is payback. Having developed Haskell skills, what can one then do with them? Who in the world wants to have any Haskell code written badly enough to offer to pay to have it done? If Rust dies, it will die just exactly the way almost every language did: its adoption rate was two or more orders of magnitude too slow, and the world moved on. This is not inevitable: there are many other ways languages have died. Ada had a formal spec, billions of dollars in development contracts backing it, many industrial-grade compilers, thousands employed coding in it. It died because, ultimately, it wasn't enough better than C. PL/I died. Algol died. All the various Pascals died. Ruby is in sharp decline. Death is the natural course for languages. Overcoming death requires a near-miracle. COBOL, Fortran, C, C++, Python, Java, and Javascript managed it. It is too early to tell about Go or Rust, but it is not looking good for Rust, just based on the numbers. Rust's originators hoped to displace C, but very few move from C. Most who might have moved on from C did before there was a Rust, and the rest like it for its flaws, the way rock climbers like cliffs. Rust will take few from C++ because Rust is less expressive, by design. The gap widens with each Standard release. The languages Rust can practically steal users from do not suffer from the memory-safety problems Rust is promoted as solving. They have other problems it could help with. Go and Java are pathologically weak languages, and Python is pathologically slow and un-parallel. There are things Rust adherents could do to increase its adoption rate, but they seem, by all indications, supremely and aggressively uninterested in even trying any of them. HN buzz, which Rust fans have run up to stratospheric heights, is very far from enough to sustain a language. So, Rust's prospects are dimming even as its apparent popularity peaks.
- pjmlp 6y agoI see Rust as being a very influential language intro bringing affine types into mainstream languages, which eventually made other language communities look up how to improve their approaches to resource management. Examples being Swift, Ada/Spark, C++ lifetime analyzers, Chapel, ParaSail. Then there are the Haskell, OCaml, Pony, Verona, Nim, D, Nim efforts on how to combine the best of both worlds GC (in whatever form) + affine types when needed. But taking the world by storm and actually replacing C++ across Fortune 500's, specially given the contribution of many of them to ISO C++ and industry certifications, I see that as a multiple decades effort and even, as we can see from C++'s failure to take over C in certain domains, it is going to be a very steep uphill battle. So in the end, we might just happen to get the usual mainstream languages with improved capabilities for managing resources, just like Haskell happened to bring LINQ to .NET world, followed by influencing Java streams and C++ ranges.
- logicslave12 6y agoThis is what no one wants to admit about functional programming
- heavenlyblue 6y ago> drive, intellectual curiosity and desire for a challenge Reading a book on abstract algebra is going to give you more concepts of Type Theory than learning Haskell. So you may say that learning Haskell is intellectually useful, yet there are more challenging purely theoretic concepts which are more useful than Haskell. I would go as far as saying that learning Haskell is just a "<smarts> poor man's excuse for not challenging themselves enough in the areas that actually matter".
- tome 6y ago> Reading a book on abstract algebra is going to give you more concepts of Type Theory than learning Haskell. What aspects of a book in abstract algebra introduce you to concepts of type theory, would you say?
- heavenlyblue 6y agoThe most basic ones: that objects have certain properties and those properties define how they can interact with other objects. How those properties get preserved under interactions and how one should think about it.
- heavyset_go 6y agoLearning Haskell is like learning Latin, sure you'll gain deeper insights into other languages and language itself, but you aren't going to be able to do much by just speaking Latin.
- codygman 6y agoThat's just untrue. Saying it is very inconsiderate of the efforts of everyone writing real world Haskell software. Facebook uses Haskell, Github uses Haskell, etc... the metaphor doesn't hold and means this is just FUD. On top of that, you're actually talking to a working professional Haskell programmer whose company depends on it.
- heavyset_go 6y agoI agree, it's hyperbole stemming from the fact that there are 5 times as many job openings for roles that touch Rust than there are Haskell. What do you use Haskell for?
- codygman 6y agoI use haskell for all of my general purpose programming. Webdev/rest apis at work mostly. Sometimes background services.
- alexbanks 6y agoI'm not who you're responding to, but you've responded to my posts on this topic. I think, what they're trying to illustrate, is that Haskell is still an incredibly niche language. Sure, yes, there are jobs at a handful of big names, and then a handful of not big names and companies that found their success using it. But if you were trying to maximize your employability or open up new doorways in your career, you definitely wouldn't pick Haskell as the language to do that with. Separating "I like and use Haskell" from "Learning Haskell will amplify your career and employability" is, I think, what they're going for, and I would generally agree with. "The exception that proves the rule" is a thing, after all.