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.

Four months with Haskell

249 pointsby rwosyncalmost 9 years ago

8 comments

slezakattackalmost 9 years ago
I programmed Haskell professionally for about a year and a half. My last company has been trying to hire Haskell engineers for over 2 years and we&#x27;ve only managed to hire at least 2. &quot;Hiring Haskell developers is not hard&quot;, is extremely subjective and naive to say the least. Obviously, YMMV, but the front-end devs that the last company was hiring was running laps around the Haskell team. Honestly, finding a Haskell engineer is not always a winner either. I&#x27;ve found that the ones we hired are very smart but not very decent engineers (i.e. defining requirements, shipping a product on time, understand tradeoffs, etc.).<p>There were quite a few things about Haskell that I truly love and miss, such as the type system, but the tradeoffs just weren&#x27;t worth it to me and I honestly don&#x27;t think it&#x27;s mature enough to be considered &quot;enterprise ready&quot;. Aside from the learning curve, there were several bugs in one of the Haskell libraries that caused frequent outages (until we were able to pinpoint what was wrong), lazy evaluation caused excessive memory bloat when used incorrectly, and my all-time favorite: needing to switch on profiling in order to get stack traces (this is suppose to change in future GHC versions) which defeated the whole purpose of &quot;haskell is fast&quot;. I don&#x27;t know, perhaps we were using Haskell wrong. From a business perspective, it just wasn&#x27;t making that much sense given how difficult it was to hire, getting engineers excited to learn it, and having the features needed to monitor a production system.
评论 #11898528 未加载
评论 #11896153 未加载
评论 #11896786 未加载
评论 #11896688 未加载
p4wnc6almost 9 years ago
I fall in a weird bucket: very advanced understanding of some other languages and good work experience, education, etc., but even though I love Haskell and practice it all the time, I think I am just somewhere on the boundary between beginner and intermediate, and even with focused daily effort I would remain on that boundary for a long time before there is a phase transition to solid intermediate.<p>Because of this, the only kinds of FP shops that would hire me want to hire me at a junior or low-paying level, but my market value in lots of other skill areas (machine learning, Python, database stuff, etc.) is much higher, so I&#x27;m not willing to take a salary anywhere close to what they think fits the position.<p>As a result, even though I would love to get industry experience with functional programming, there is a market wage energy barrier preventing me from considering it. I was burned once early in my career with malarkey about how you should accept a lower salary for some alleged other benefit (like cool functional programming, or working with a team of awesome people, or getting in on the ground floor on something, etc.) -- I won&#x27;t make that mistake again.<p>So I basically had to learn to divorce myself from real world Haskell practically just as soon as I learned how much I really love it.<p>Plus, and this should not be discounted, the professional tooling with Haskell is still extremely immature with lots of esoteric corners duct taped together in unsatisfying ways. It&#x27;s getting better, but if you work with Haskell for real there are likely to be as many, if not many more, extremely frustrating painpoints of the language tooling as with any other language, enough to amortize away all the warm fuzzy happiness you&#x27;d get from the status effects of being able to say you do pure functional programming for a job.
评论 #11895651 未加载
sdx23almost 9 years ago
Nice article. Although at some points I disagree with the author.<p>The part on errors is mostly &quot;some guys use error but don&#x27;t mention it&quot;. Partial functions are not nice, that&#x27;s true. In some cases tools like hlint may help. Actually I&#x27;m wondering there&#x27;s no tool &#x2F; hackage functionality around, that flags modules &#x2F; (pure) functions that are partial.<p>For documentation: Starting with Haskell I felt the same, some more examples and more documentation would be nice. But in the meantime I&#x27;ve come to like the concise documentation most often used. When searching for a certain function I don&#x27;t want to read screenpages of text, but find that function fast. If, however, I need more detail or want to be really sure what the function does I need to read the source anyway.<p>However, true is that some libraries lack _any_ documentation and it seems you should be grateful to have the typesignatures.<p>Also, I think more libraries should have examples&#x2F; directories so one can get at quick glance how the library is designed to be used. Perhaps even have hackage emphasize the existence of these examples more.
Thaxllalmost 9 years ago
&quot;Hiring Haskell developers is not hard&quot;, it&#x27;s already hard to get good Java developer can&#x27;t imagine for Haskell...
评论 #11894837 未加载
评论 #11894774 未加载
评论 #11895427 未加载
评论 #11895687 未加载
评论 #11895156 未加载
评论 #11894762 未加载
评论 #11894747 未加载
评论 #11895245 未加载
评论 #11894858 未加载
评论 #11896323 未加载
评论 #11894897 未加载
评论 #11894761 未加载
harry8almost 9 years ago
Here is the part where I want to update my data point about how many applications I can run for doing something other than writing code where the program was written in Haskell. This data point is useful because hackers gotta hack. If there&#x27;s still not much here then I&#x27;m forced to assume that haskell still has problems that aren&#x27;t being talked about.<p>Off the top of my head I&#x27;ve got:<p>pandoc - translates from one document format to another<p>ion - a window manager<p>git-annex - store stuff in git without it being in git.<p>If we can get to 50 useful &quot;apt-get install&quot;-able programs Haskell will be worth looking closely at again.<p>This is not trolling, this is useful data. We know FP is fun, cool, funky and all that. It&#x27;s a different discussion as to what problems remain (if any) and how to solve them (if needed). I just want to see where we&#x27;re up to in mid 2016.
评论 #11899240 未加载
Ericson2314almost 9 years ago
I totally agree with the downsides. Ban synchronous exceptions now!<p>Thank goodness everything else is library&#x2F;ecosystem, rather than language, problems. I think those are easier to fix :).
mikerichardsalmost 9 years ago
I&#x27;m not a Haskell programmer, but I wish more languages had Newtypes.<p>Most of the time I&#x27;m too lazy (or consider it too much boilerplate) to wrap strings in classes. But on more than one occasion I&#x27;ve spent too much time tracking down a bug because I passed the wrong string to the wrong argument in a method.
评论 #11898979 未加载
AnTaoiseachalmost 9 years ago
This makes no sense whatsoever. Purely subjective speculation at best.
评论 #11899894 未加载
评论 #11896599 未加载