Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

[flagged]


Learning Haskell taught me about a lot of language features that I find myself reaching for in lots of languages. Examples include: destructuring, list comprehensions, currying, immutable data structures, maybe types, and algebraic data types.

The language has a lot offer. How much you want to take away and incorporate in your programming repertoire is clearly at the discretion of the student; however, to imply that it is devoid of transferrable value is a false assertion.


Ironically, Haskell pioneers exactly in programming scientific research while the rest of the languages focus more on the linguistics rather than the science.


[flagged]


Haskell has crazy amounts of wild evolution and experimentation with new ways to do a programming language. Look at the number of language extensions present in a typical non-toy haskell system. It's not just a single arbitrary set of conditions. I'd consider it more as a highly successful platform for PL research that people happen to build stuff in. If that's not progress, I don't know what is.


Ah, the classic - "we are producing REAL software over here".

Always reminds me of this: https://steenschledermann.files.wordpress.com/2014/05/no-tha...


Monads were not invented to support the needs of Haskell. The concept predates even the existence of microprocessors.

Haskell simply recognizes the applicability of that existing mathematical concept to an aspect (in fact various unrelated aspects) of programming. This isn't really a feature unique to Haskell.


Walk all you want, meanwhile Haskell is developing ways to fly.


If by "developing ways to fly", you mean "crawling on its knees while flapping its arms", then OK.

When I see an (admittedly admirably concise) Haskell program get ten times longer just to approach the speed of the most obvious expression in C++ or even C, it leaves me uninspired.

I want a language where the cleaner the program is, the faster it is. It seems like only C++ is really even trying. (Rust might step up, once it matures. Or might not.) With Dennart Scaling wholly dead, and Moore's Law petering out, there will be lots of room for better ways to use lots of cores, GPU units, and FPGAs (with plenty of macro cells) reconfigured at runtime, to make better use of what logic we can fit. C++ is only taking baby steps into that brave new world, but I don't see anyone else doing even that much.

In the meantime, we have a bunch of cores to keep busy doing actually useful work, and decreasing room for actively wasteful languages.

Haskell has had plenty to teach us, but it will not be the language that flies.


> When I see an (admittedly admirably concise) Haskell program get ten times longer just to approach the speed of the most obvious expression in C++ or even C, it leaves me uninspired.

Well, if the most obvious expression in C++ or C was a hundred times longer then that's still a win for Haskell. Particularly when the performance-critical parts are usually a tiny fraction of any given program. Frankly I don't think the industry should even start worrying about performance yet though, given how much difficulty we still have with producing correct software.


I have not seen any example of a program that would be a hundred, or even ten, or five, times longer in C++.

Not worrying about performance is a luxury that those of us who face stringent requirements are often not afforded. My experience using the WWW indicates that many, many sites demonstrate their contempt for me (and you, if you could perceive that) by ignoring it.


And wait until you discover the Eskimo languages does not, in fact, have hundreds of words for snow. It's a myth.

http://www.lel.ed.ac.uk/~gpullum/EskimoHoax.pdf


'elaborate vocabulary surrounding snow' != 'hundreds of words for snow'


I went through elementary school in Inuktitut and don't remember anything about an elaborate vocabulary for snow. Learning stuff for Haskell made it much easier to learn similar concepts in Rust, which is a pretty pragmatic language. Sometimes learning things doesn't help but it also never hurts.


This fits my experience. But then I am only an average engineer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: