Hacker News new | past | comments | ask | show | jobs | submit login

The Haskell motto is "avoid success at all costs", usually clarified to "avoid 'success at all costs'".

In other words, "success" (popularity, widespread use in industry, teaching, etc.) is not a justification for "costs" such as limiting expressiveness, making things less safe, restricting research possibilities, etc. Haskell would prefer to be powerful, safe, efficient, obscure and niche; rather than popular, industry-standard, widely-known, highly compatible, unsafe, insecure, inefficient and restricted (besides, we have loads of languages of this sort!).

Crippling the language to make things easier for new users is not an option. However, there are many ways the language could be made easier without impacting any core values. For example, there are long-standing issues with strings, records, error messages, dependency handling, etc. which people are working on.

Also, for those who do want to learn Haskell, I've found the community to be very welcoming and tolerant of newbies. Just ignore some of the more math-heavy blog posts (for now, at least), or your head might explode :P




Thanks for the reply! I've heard that motto before and didn't understand it until now. Makes perfect sense.

To your point about making Haskell easier for newbies without impacting the core values... Rust is a great example of that. Rust can be difficult to learn, but the Rust community does a great job of explaining (and re-explaining in many cases) Rust's approach to newcomers. This is especially true when Rust handles a problem in a way that may be counter-intuitive to the inexperienced.

Here's a great example from r/Rust where a new Rust user trashes traits and the Result type: https://www.reddit.com/r/rust/comments/4rev26/why_is_rust_ma...


> Rust can be difficult to learn, but the Rust community does a great job of explaining (and re-explaining in many cases) Rust's approach to newcomers.

Whilst communicating why and how things work is certainly important (all of the Haskell monad tutorials come to mind!), I was actually refering to cases where "Haskell's approach" is known to be bad.

For example:

http://www.alexeyshmalko.com/2015/haskell-string-types

https://ghc.haskell.org/trac/ghc/wiki/Records

http://foswiki.cs.uu.nl/foswiki/Helium/Features#Messages




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

Search: