boogdesign posts

Longer posts on standards based web design, portable web development and Linux, intermingled with some stuff on my other nerd interests.

Rob Crowther, London, UK based Blogger, Web Developer, Web Designer and System Administrator - read my Curriculum Vitae

Buy my book!

Book CoverHello! HTML5 and CSS3 available now

Buy my other book!

Book CoverEarly access to HTML5 in Action available now
« My First Website for Mobiles :: Doing Dumb Things with the Javascript Date Object »

The only book you'll ever need


12:28:23 pm Permalink The only book you'll ever need

Categories: Blogging and Internet Culture

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 :)

I followed a link from raganwald's post to The Little MLer on Amazon, the thing that caught my eye was one of the reviews:

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).

Tweet this!


Comment from: Reg Braithwaite [Visitor] ·
04/10/07 @ 13:57
Terrific 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.
Comment from: Marijn Haverbeke [Visitor] ·
11/10/07 @ 20:09
I 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'.