TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What killed Haskell, could kill Rust, too

72 pointsby donutover 4 years ago

24 comments

brundolfover 4 years ago
&gt; As one might have guessed, this is not an essay. It&#x27;s a transcript of the following talk by R. Martin with some substitutions made (SmallTalk -&gt; Haskell, Ruby -&gt; Rust, and others). You are free to make any conclusions from this.<p>No wonder it felt like the author was living in a different universe.
srtjstjsjover 4 years ago
Title is trolling<p>&gt; It&#x27;s a transcript of the following talk by R. Martin with some substitutions made (SmallTalk -&gt; Haskell, Ruby -&gt; Rust, and others).
评论 #24454503 未加载
platzover 4 years ago
The reason why Haskell still doesn&#x27;t really break through in the corporate world is not a failure of arrogance, but a marketing failure in the strictest sense of the word &#x27;marketing&#x27;—which means prioritizing the right features to target the right market.<p>A large proportion of the talk linked below is based on the book “Crossing the Chasm&quot;.<p>The book was originally written for startups trying to break into the mainstream, and this talk adopts that book to programming laguage (or tools more generally), particularly regarding Haskell.<p>Gabriel Gonzalez – How to market Haskell to a mainstream programmer: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=fNpsgTIpODA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=fNpsgTIpODA</a><p>Gabriel also suggests that in order to &quot;cross the chasm&quot; you have to offer a best-in-class experience in some area, and suggests that Haskellers adapt the language to facilitating building interpreters, which is it particularly well suited for.<p>So, base on the above, I don&#x27;t think the OP&#x27;s emphasis on the emotional analysis of Haskell programmers is anything more than the OP&#x27;s just-so story, although the notion of parochialism may have some crossover with the concept of marketing.
throw149102over 4 years ago
It seems strange to consider Haskell as dead when its motto was &quot;Avoid success at all costs&quot;. Haskell wasn&#x27;t popular in enterprise settings because it didn&#x27;t want to sacrifice being a good language for being a popular one. Haskell was&#x2F;is very successful if you base it on it&#x27;s own terms. Now, that goal can be debated, it could be argued that an unpopular language is never that good <i>because</i> it is unpopular, but that&#x27;s a different argument.
评论 #24406058 未加载
评论 #24407598 未加载
评论 #24405505 未加载
评论 #24405331 未加载
xferover 4 years ago
I would say tooling is the main reason haskell is not adopted even in personal projects much. The package manager used to be pretty bad, poor editor support is still the biggest obstacle for new-comers. Combine that with the fact that students are taught a procedural-style language in their school and you have small percentage of new-comers looking at it. Rust have an advantage here since it is procedural-ish language.<p>But these problems require money and expertise and marketing from people who already are in the field, so a bit of chicken-egg problem.<p>Arrogance is the last thing i would say about haskell community and i have interacted with them on reddit and irc. So not sure about that.<p>The thing about ignoring enterprise needs is that the enterprises need to invest in the things they want. Those that do contribute are using haskell in enterprises that fit their needs. Otherwise it is primarily a research driven language.<p>It&#x27;s not very surprising that Go&#x2F;Java is doing very well, looking at the investment done by the companies behind it.
评论 #24405055 未加载
评论 #24405440 未加载
评论 #24406411 未加载
benreesmanover 4 years ago
I’m far from an expert Haskell programmer, but I have written it for money and had the code run on big fleets.<p>Haskell is really cool, but IMHO is held back from practical adoption by two things, one technical, one cultural:<p>- Lazy by default maps weirdly onto von Neumann machines. Laziness is cool but doesn’t pull it’s weight as the default. Performance in time and space is even harder to reason about than it already is on modern architectures, and debugging is...different.<p>- GHC extensions are like crack for the kind of people who overdo it with C++ templates. Pragmatic, legible Haskell in the RWH tradition isn’t safe from the type-theory zealots even in a production system. Cool research goes on in GHC, but it’s hard to keep everyone’s hand out of that cookie jar in prod.
评论 #24406785 未加载
metreoover 4 years ago
Whole opinion piece is one long mixed metaphor. The programming styles of Haskell and Rust couldn&#x27;t be more different. Fails to even mention the generational differences in language design that have occurred since the 1990s. Haskell was inspired by Miranda, Rust has its influence from C++ and Standard ML languages.
lackerover 4 years ago
<i>So what killed Haskell is the parochialism, the inability to address the needs of the Enterprise.</i><p>I don’t think so. What killed Haskell in mainstream programming is its weird syntax. Rust looks like C so it passed that first sanity check. People hate that something so aesthetically basic could define the success of programming languages, but it seems pretty clear at this point. Languages have to basically look like C in order to be popular.
评论 #24404707 未加载
评论 #24406186 未加载
评论 #24407293 未加载
评论 #24404080 未加载
评论 #24405431 未加载
评论 #24408554 未加载
评论 #24405117 未加载
codygmanover 4 years ago
I&#x27;ve said as much there in the comments already, but this gist doesn&#x27;t have many useful insights.<p>The problem is that highly valuing &quot;first-principles thinking&quot; is wrongfully attributed to arrogance and seen as &quot;ignoring truths from the &#x27;dirty&#x27; mainstream&quot;.
评论 #24404243 未加载
EE84M3iover 4 years ago
&gt;Some of you might remember the Reddit discussions in the mid 2000s. A bunch of people were there. And they were talking about cool math things there. In those talks, they often were snickering about other languages like Go.<p>Golang was publicly announced at the end of 2009.
评论 #24404088 未加载
axilmarover 4 years ago
My personal experience with Haskell hackers went like this:<p>-I used to hang out at lambda-the-ultimate, in which haskell was considered god sent and c++ a toy language. At the time, I was heavy into writing simulation software, which meant c++ all the way, so I tried to understand haskell and its advantages over c++, but my attempts ended up being mocked. I stopped visiting that site.<p>-I tried to open some debates about Haskell on reddit, where someone told me they will answer my haskell questions only if I told them a specific mathematical definition on some properties of functions. I didn&#x27;t know the reply, I was a programmer after all, not a mathematician. Said person left me in the cold.<p>-again on reddit, I was trying the debate the usefulness of haskell regarding simulation software, which relies heavily on updating variables, but I never got straight answers. To this day, I still do not know if haskell code actually can update variables in place or it only simulates updating of variables. Someone suggested using lens, and although I understand the abstraction, it still has not solved my question if haskell can update variables in place.<p>Why I was so interested in this aspect, i.e. in place updating? I wrote simulation software and after that game software for a living, and it matters to me because I want to be able to reason about the performance of my program. I don&#x27;t want to have data be duplicated behind my back.<p>To cut the long story short, my haskell questions go unanswered to this day, I was very disappointed, and since I have great experience in imperative programming languages, I usually write programs that are correct as soon as they are compiled, which is what the haskell advantage is supposed to be. So I don&#x27;t see any benefit from haskell, and I won&#x27;t recommend it to my company or my colleagues.<p>Am I wrong regarding haskell? perhaps, but I am not interested any more in &#x27;trying out&#x27; languages of dubious gains, nor am I interested in dealing with juvenile behaviors. I tried Rust because it had a serious advantage over C++ (namely, object lifetimes), and I will recommend Rust, but my patience for and interest in haskell is virtually non-existent at this point.
评论 #24421785 未加载
评论 #24421997 未加载
评论 #24427115 未加载
评论 #24423943 未加载
tomeover 4 years ago
What is killing Haskell, according to this discussion<p>* marketing failure<p>* lazy by default<p>* GHC extensions<p>* its weird syntax<p>* its obsession with monad-as-burrito tutorials<p>* pretty hostile haskell-centric spaces<p>* not backed by a large company<p>* bad university classes<p>* tooling<p>* average developers are not “smart” enough to learn it<p>* no payback for learning Haskell skills
Aerroonover 4 years ago
We actually had a functional programming class in university, where the focus was on Haskell. The main impression that seemed to permeate the class was &quot;Haskell is hard&quot;. There was a lot of grumbling. Nowhere near as much as about Prolog in Logical Programming though. They were both thrown into the same pile of &quot;must get through this class&quot; though.<p>I&#x27;m not really sure whether it was because of the way it was taught or whether Haskell is inherently more difficult. I do think that a class like that might&#x27;ve hurt the language&#x27;s adoption among the students though. (Or maybe my impression is simply biased by my own experience.)
sklarsaover 4 years ago
Rust will be fine, as long as people continue using it to produce high-quality tools like ripgrep (rg) and xsv
kovacover 4 years ago
I think for a language to gain traction today in the mainstream, it needs to be backed by a large company. If the language is web technologies oriented, it&#x27;s all the more likely. The reason is because lots of developers nowadays are working in web related stuff. And when it&#x27;s backed by a big company like Google or Microsoft, kids will at least learn it to try and land a job at one of those companies. Also, these big companies will support many useful apis in that language which will attract mainstream developers as they can start building useful stuff quickly.<p>I wanted to learn a functional programming language and did a lot of research about which language to start with. Initially I looked at Haskell but ended up going with F# because the tooling was a lot better and the documentation from Microsoft was really good. Also, I read quite a few posts by those who worked fulltime, paid F# jobs. I loved the functional style. I think it&#x27;s a shame that it&#x27;s not mainstream. But then when I tried to do something non trivial, like network programming, I had to use OOP C# style types in F#. That was just fugly and made the paradigm look weak because OOP constructs could do it more easily than functional constructs.<p>Other than the elegance of the functional programming paradigm, it didn&#x27;t seem to offer much in terms of jobs because I can&#x27;t really see large numbers of people suddenly picking up functional programming (which isn&#x27;t easy) and building massive applications specially with the whole cloud based SaaS stuff that&#x27;s happening right now.
评论 #24406494 未加载
heavenlyblueover 4 years ago
I think comparing Rust to Haskell for their &quot;similar&quot; success is kind of dumb. Everybody wanted to program in Haskell, yet nobody build a proper package management and&#x2F;or compiler version management solution for Haskell up until very late.<p>If Haskell was indeed one of those &quot;everybody wants to do it&quot; languages, then making it easy to approach from the infrastructure perspective would be the first thing to do.
dsabaninover 4 years 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.
评论 #24405195 未加载
评论 #24404770 未加载
评论 #24409920 未加载
评论 #24407145 未加载
评论 #24405398 未加载
bsderover 4 years ago
Here&#x27;s a starting difference between the two:<p>Rust code uses &quot;unsafe&quot; and doesn&#x27;t apologize about not being pure. Rust tries to minimize &quot;unsafe&quot; and encapsulate it, but acknowledges that it <i>must</i> exist.<p>What&#x27;s the Rust equivalent of &quot;A monad is just a monoid in the category of endofunctors, what&#x27;s the problem?&quot; I can&#x27;t really think of one.<p>Maybe there&#x27;s something in lifetimes (which can be pretty messy). Maybe: &quot;Quit using doubly linked lists or the borrow checker will beat you senseless.&quot;<p>In addition, there are lots of alternatives to Haskell that are almost as good. That isn&#x27;t true of Rust. If you need systems programming, you have C, C++, maybe Ada. Rust is trying to drive a fairly difficult wedge into that area, but if it succeeds, the alternatives are scarce.
评论 #24404116 未加载
评论 #24404153 未加载
评论 #24408577 未加载
评论 #24404371 未加载
tengbretsonover 4 years ago
&gt; In Go, I can do amazing things with monads.<p>Can you tho?
StillBoredover 4 years ago
I&#x27;ve assumed that rust is going to be killed by a &quot;-enforce-no-mutate-single-owner&quot; or similar flag to gcc (or some linter) that restricts C++ code to some subset&#x2F;style that nails the majority of what rust brings to the table. IMHO, like many other language paradigms, once you understand the core tenents of rust you could write &quot;rust code&quot; in many other languages. The difference being that those other languages don&#x27;t _yet_ have flags&#x2F;etc to enforce a rust like style.
评论 #24420320 未加载
评论 #24418901 未加载
smabieover 4 years ago
Though Haskell is nice in many ways, I would choose OCaml for a commercial project over Haskell any day. OCaml is ruthlessly practical and the culture around it is was one eminent pragmatism.<p>Ocaml is designed to get stuff done, and the tooling and ecosystem strongly reflect that.<p>If something was going to kill Haskell, it would OCaml, not Javascript or some other language.<p>I would feel very comfortable running a business on OCaml, Haskell, not so much.
评论 #24414567 未加载
评论 #24414599 未加载
dpc_pwover 4 years ago
What does it have to do with Rust? I mean Rust shows absolutely no sign of problems that Haskell had. It&#x27;s very practical, learns from everywhere it can find a good idea, tooling is great, marketing is great, community is nice and inclusive.
TheGoddessInariover 4 years ago
I don&#x27;t feel like I can take it seriously when it talks about Haskell devs on Reddit snickering about Go &quot;in the mid 2000s&quot;.
non-entityover 4 years ago
Of all the Haskell programers I&#x27;ve met and interacted with both irl and online not one came off as &quot;arrogant&quot; (there is a programming language who&#x27;s hardcore fans tend to be a bit more, uh, eccentric, in my experience, but im not going to name it at the time).
评论 #24411740 未加载
评论 #24405048 未加载