|
|
|
+++
|
|
|
|
title = "Learn You a Haskell for Great Good! - Miran Lipovača"
|
|
|
|
date = 2018-11-23
|
|
|
|
|
|
|
|
[taxonomies]
|
|
|
|
tags = ["books", "miran lipovaca", "haskell", "reviews", "it"]
|
|
|
|
+++
|
|
|
|
|
|
|
|
[GoodReads Summary](https://www.goodreads.com/book/show/6593810-learn-you-a-haskell-for-great-good):
|
|
|
|
Learn You a Haskell for Great Good! is a fun, illustrated guide to learning
|
|
|
|
Haskell, a functional programming language that's growing in popularity. Learn
|
|
|
|
You a Haskell for Great Good! introduces programmers familiar with imperative
|
|
|
|
languages (such as C++, Java, or Python) to the unique aspects of functional
|
|
|
|
programming. Packed with jokes, pop culture references, and the author's own
|
|
|
|
hilarious artwork, Learn You a Haskell for Great Good! eases the learning
|
|
|
|
curve of this complex language, and is a perfect starting point for any
|
|
|
|
programmer looking to expand his or her horizons. The well-known web tutorial
|
|
|
|
on which this book is based is widely regarded as the best way for beginners
|
|
|
|
to learn Haskell, and receives over 30,000 unique visitors monthly.
|
|
|
|
|
|
|
|
<!-- more -->
|
|
|
|
|
|
|
|
{{ stars(stars=2) }}
|
|
|
|
|
|
|
|
I have mixed feelings about this book.
|
|
|
|
|
|
|
|
It starts really really well, explaining how the language works. And then it
|
|
|
|
falls on the trap of "functional programming" that, instead of focusing on what
|
|
|
|
you can do with the language, it goes lengths talking about monads, monoids,
|
|
|
|
functors and nondeterminism that you keep wondering why it is taking so long
|
|
|
|
explaining function programming instead of focusing on what you can do and when
|
|
|
|
you should use one.
|
|
|
|
|
|
|
|
There is even a bad description of "don't do this because it will look horrible
|
|
|
|
when you convert to this other form". Wondering if something will look horrible
|
|
|
|
if you write the same thing in a different form should never be a deterrent for
|
|
|
|
something.
|
|
|
|
|
|
|
|
Also, there is the language. Surely, Haskell adds a missing point in Lisp,
|
|
|
|
which are the types, but them it goes off the rails trying to remove
|
|
|
|
parenthesis and the result is a mass of weird symbols, all representing the
|
|
|
|
same thing. And you have, as I mentioned before, different forms to write the
|
|
|
|
same code, which makes the language highly irregular, one trait that really
|
|
|
|
pisses me off in programming languages.
|