The only book you'll ever need
It's been a while since I posted anything, I actually have two half written posts sitting in draft status which I'll get around to eventually, but this morning I'm inspired to write
This is a nice and at times fun introduction to ML that gives the reader a hint as to the true power and complexity of functional programming, but buyers should be aware THIS WILL NOT BE THE ONLY ML BOOK YOU WILL NEED.
What I think is surprising is that anyone could be reviewing a book on Amazon and be thinking that on there, somewhere, is a book that will tell them all they ever need to know about anything even moderately complex (ie. any subject worth writing a book about).
The same author was critical of the book because the style "kills its utility as a reference". Why would you expect a tutorial book to be a good reference? Why would you expect a reference book to be a good tutorial? Is this sort of attitude the reason why the programming books market is flooded by unnecessarily thick books which are both below average tutorials and below average references? From chapter one of Thinking in Java:
In a good object-oriented design, each object does one thing well, but doesn’t try to do too much.
Perhaps I shouldn't be surprised though. Every day on the blogosphere I see comments which seem to support the belief that just because it's possible to solve almost every programming problem in Java or C# or Python, that Java or C# or Python are appropriate for solving every programming problem; that just because Ruby on Rails presents a nice paradigm for web development, that all web development should be done in Ruby on Rails (substitute cool web framework of your choice); and people who happily use frameworks for their chosen language which require thousands of lines of XML (or worse) configuration files berate web development in general for being too hard because it requires learning more than one language (or technology, or whatever other category you like to put declarative markup into).
Comment from: Reg Braithwaite [Visitor] · http://weblog.raganwald.com
04/10/07 @ 13:57Terrific insight. IMO, "The Little MLer" does one thing well, but doesn’t try to do too much: it introduces the idea of programming with types and pattern-matching.
I wouldn't even go so far as to say that it's a book about ML: I firmly believe it's a book about type-oriented programming that uses ML (or Ocaml) as its language of instruction).
And as you point out, that makes it a wonderful book. Especially if you like food.
11/10/07 @ 20:09I suspect these kind of symptoms are related to mental laziness (which we all suffer from, to some degree) -- having one awesome book (or language, tool, hero, gaming console, philosophical system, you name it) which solves all problems makes the universe feel noticeably more understandable and less threatening.
I loved 'The Little Schemer', will be checking out 'The Little MLer'.