5 ms·
I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough. I took a programming languages class taught in
by DonaldPShimoda 8y ago
I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough.
I took a programming languages class taught in Racket, and by the end of that semester I felt like I had finally "gotten" what functional programming was all about.
Tried LYAH again and... it still didn't quite stick. Not sure why. But I was determined, because I'd heard about Haskell so much on the internet.
So I took a follow-up "class" where we just implemented projects in the functional languages of our choice, and I chose to do everything in Haskell. I asked my research advisor (I work in a PL research lab) for guidance, and that's when Haskell really started to make sense for me. I'm not sure why LYAH wasn't good for me, when it's touted as being a great starting place for so many people, but now Haskell is one of my favorite languages by far.
- ocfx 8y agoLYAH is praised cause its cutesy and feels accessible but I'm willing to bet the majority of people recommending LYAH either just saw it and thought it looked good or never got that far. The only book that ever made sense to me was Haskell Programming from First Principles (http://haskellbook.com/ http://haskellbook.com/). It really holds your hand through a lot of stuff and has a bunch of exercises.
- 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
- 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.
- sevensor 8y agoI've bounced off LYAH more than once because it spends so much time in the REPL. I'm not interested in the REPL as an end in itself, only insofar as it can help me develop an actual program. Outside of image-based environments, what you do in the interactive shell doesn't reflect how actual code gets written. It feels trivial, and it doesn't help you build up a library of examples to refer back to later.
- 3rdAccount 8y agoThis bothered me too. I use a REPL everyday, but you have to know how to write full programs too.
- fjsolwmv 8y agoWhat book on any language shows you whole programs that couldn't be seen in repl (assuming a repl exists)
- sevensor 8y agoOff the top of my head, HtDP, despite being entirely presented within DrRacket, has you work through programs that you could just as well compile. Learn Python the Hard Way, as well as every other "Hard Way" book, makes a point of having you write entire programs. The Ocaml resource that was posted a week or two ago makes a point of deemphasizing the REPL.
- 3rdAccount 8y agoI have over 25 programming books in my cube and another dozen or so at home. I'd say roughly 1/3 tend to favor full practical programs interlaced with snippets. The full programs are usually 1/2 to a few pages in each chapter and are in general, not something I'd try to cram into the REPL piece by piece.
- jSherz 8y agoAre there any similar resources with practical examples (other than the book Real World Haskell)?
- ghayes 8y agoI really enjoyed programming in Elm as a starting point. Elm avoids type-classes, which tend to be the biggest hurdle when starting to learn Haskell. Plus, you can design a nice web app in the process (versus, say, process CSV files). After I became comfortable with Elm, learning Haskell, type-classes, lazy evaluation, etc., made significantly more sense to me. For instance, `do` syntax is great, but it's not obvious what it really is doing, at first, unless you've programmed pure functional languages without using `do`. Also, learning Idris is another great learning exercise if you want to stretch the ways to think about programming.
- tirumaraiselvan 8y agoI concur. LYAH may be seen as an intuitive and easy read for getting started but I felt I was incapable of understanding real Haskell code with just that background. I finally got my hands dirty by hacking around on existing Haskell code which is when things started making sense.