4 ms·
> I'm not sure why LYAH wasn't good for me, when it's touted as being a great starting place It's not. It's a terrible starting resource. Majority of people I
by BoiledCabbage 8y ago
> I'm not sure why LYAH wasn't good for me, when it's touted as being a great starting place
It's not. It's a terrible starting resource. Majority of people I anecdotally hear gave up on Haskell seem to mention LYAH. Yes the material is there, but it's not presented in a way that generally sticks and fits pieces together. I guarantee someone will reply to this thread and say it worked for them, but in general people seem to be unsuccessful with it.
There are better options out there.
- neon_electro 8y agoWhat would you recommend?
- dvlsg 8y agoI'm not OP and it's not haskell, but fsharpforfunandprofit.com really clicked for me, personally.
- naraic0o 8y agothe spring 2013 edition of cis194[0] seems to be the most commonly recommended from previous threads here. due to its popularity a quick web search leads to a lot of secondary learning resources if you get stuck. i'm currently most of the way through it and it's been well presented and nicely challenging. [0]http://www.cis.upenn.edu/~cis194/spring13/lectures.html http://www.cis.upenn.edu/~cis194/spring13/lectures.html
- wmfiv 8y agoAnother entry in the not Haskell category, Functional Programming in Scala is outstanding.
- sulam 8y agoYes, this book is one I recommend to anyone who wants to really understand functional programming. Admittedly it's not Haskell, but it's the book I wished I'd had back when I first learn FP (and Scala).
- ChristianGeek 8y agoIt lost me about 2/3 in when it got to monads.
- acjohnson55 8y agoThat's OK. You've already learned more than enough. My life in Scala was just fine once I understood that a monad was just a data type that admitted a flatmap operation.
- undseg 8y agofound this[1] to be a great introductory course. Might want to have dipped into functional concepts beforehand, though. Fairly sure it was recommended in here in the past and that's how I came to know it, can't give credit because I sadly don't remember. [1]https://www.seas.upenn.edu/~cis194/spring13/lectures.html https://www.seas.upenn.edu/~cis194/spring13/lectures.html
- almostdeadguy 8y agoEasily the best one IMO: http://haskellbook.com/ http://haskellbook.com/ . Unlike LYAH it covers stuff that is actually important to writing real haskell programs like testing code, managing effects via monad transformers, etc. Also this is one of the best references while you're learning (not good as a tutorial, but chock full of invaluable resources): http://dev.stephendiehl.com/hask/ http://dev.stephendiehl.com/hask/ . TBH I wish every language had an equivalent of this guide.
- djur 8y agoHaskell Programming From First Principles is costly but extremely good: http://haskellbook.com/ http://haskellbook.com/ The beginner material in the Haskell WikiBook is pretty solid: https://en.wikibooks.org/wiki/Haskell https://en.wikibooks.org/wiki/Haskell
- acjohnson55 8y agoReal World OCaml is great. While not purely functional, I also recommend JacaScript Allongé. Both are free online!
- nilkn 8y agoI learned Haskell from the "Gentle Introduction" (which isn't so gentle), then writing programs, reading documentation, and reading online discussions and threads. https://www.haskell.org/tutorial/ https://www.haskell.org/tutorial/
- js8 8y agoI would start with Haskell Programming from first principles, as it is recommended by many and it looks good (I have to admit I started with LYAH but content-wise, HPFFP is much better). I also recommend reading these web documents as a supplement: http://dev.stephendiehl.com/hask/ http://dev.stephendiehl.com/hask/ https://wiki.haskell.org/All_About_Monads https://wiki.haskell.org/All_About_Monads https://wiki.haskell.org/Typeclassopedia https://wiki.haskell.org/Typeclassopedia https://www.fpcomplete.com/blog/2017/09/all-about-strictness https://www.fpcomplete.com/blog/2017/09/all-about-strictness I am now reading Haskell High Performance Programming (https://www.packtpub.com/application-development/haskell-high-performance-programming https://www.packtpub.com/application-development/haskell-hig...), and while the book is more intermediate (it assumes that you can find the documentation and read the Haskell code yourself), I think it is a good overview of how to use modern Haskell in real projects.
- danieldk 8y agoI think the enthusiasm for LYAH should also be seen in context. Real World Haskell was the first book that made it to a wider audience. And while was is full of useful information, it is a very uneven book that works badly as an introduction to Haskell. We once had a reading group where we read RWH, most colleagues dropped out after the first 3-4 chapters. In comparison, LYAH was a book that was far more straightforward as an introduction. And I know a few people that have gone through it cover to cover. Although it's been a while since I read it, I really liked Graham Hutton's 'Programming in Haskell'. It was short & clear.
- kitd 8y agoHutton's book was my favourite too when I was learning Haskell. My only gripe was it used a proper typeface for it's code samples, making mapping to keyboard strokes an unnecessary cognitive effort.
- hexane360 8y ago>Majority of people I anecdotally hear gave up on Haskell seem to mention LYAH This is a bad statistic to use on its own. Imagine if I said "Majority of people I anecdotally hear gave up on web development seem to mention HTML". See the problem?
- NateEag 8y agoHTML is by definition intrinsic to Web development. LYAH is not intrinsic to Haskell programming.
- marvy 8y agoLet me try to make hexane360's point more explicitly: Imagine a hypothetical universe where all Haskell books are equally good, but some are more popular than others (maybe they have well known authors, or catchy titles, or are available for free online, or something). In particular, imagine Haskell Book Number 7 (HB#7 for short) gets 99% "market share". Then if someone says "most people who gave up on Haskell used this book", you should not conclude that it reflects badly on the book. It's just a consequence of the book being popular, so it's the one people tend to try to use, so it's "the one that didn't work for them". If you want to learn whether the book is better or worse than average, you need to split people into two groups: one group used this book, the other group used some other book, and compare which group does better. (Ideally, you should assign people to a group based on a coin flip, but even just looking at what happens "naturally" without your interference is better than nothing.) Back to our non-hypothetical universe: LYAH does not have 99% market share, but it's pretty popular. I heard of it, and I've never looked for a book on Haskell. So to some extent the same logic applies.
- NateEag 8y agoI see what you're saying, and it makes some sense. As you say, though, LYAH is almost certainly not at 99% market share. It's definitely not at the 100% market share HTML has in Web development. The universe is too complex to design a statistically-valid study for everything you want to know (though I definitely understand the urge to do that). At the end of the day, anecdotal evidence may not be great, but it's often better than nothing, and nothing is often the only other practical option.
- FearNotDaniel 8y agoI had a very similar experience with the "Poignant Guide To Ruby" back in the day. It had an enormous cult following, it's a charming piece of programming-themed art, and probably did a lot to encourage people to want to learn the language, but I found it wasn't actually very practical as a tool for learning.