Author: Michael Hartl
I'm not in sympathy with the title of this book. It's not what you might think however. I really do approve of the "to be dangerous" part of the title. It is the "Enough" I have a problem with. What sort of aspiration is it to just learn "enough" and to be really dangerous you need to learn a lot more than "enough". Or is the title supposed to be taken as "enough to be incompetent and hence blow your own foot off".
So was I happier when I got beyond the title?
At the start of Chapter 1 we are told:
Well this is only slightly true and very misleading. The first thing is that the book uses Linux and you are expected to be happy with the Linux command line. This might be a tall order for a beginner, although the author does point you to a online tutorial in his "Learn Enough" series of online books and streaming video.
The book does include a "Hello World" example, but on page 7 we have
Yes, before "Hello World" we have to use Git!!! I'm prepared to admit that many a modern programmer would be lost without Git or similar but making it something that has to be tackled before any programs have been written seems hard. Again GIT is covered in one of Hartl's ten Learn Enough online courses.
You may not have to have any programming knowledge before starting in on this book but you definitely need a lot of knowledge and competence in other largely unconnected things.
From here we move on to a chapter on strings and by the way we look at the flow of control. The chapter is heavy on detail and light on general principles. The approach is light-hearted and there are lots of photos with cute captions but they don't really add anything. If you can't understand the text, the extras don't help - they probably won't even make you smile.
Next we get to functions, the most important detail of which is that they are objects but this fact is ignored. Instead we have method chaining which is far from fundamental. Then on to functional programming - well we have just been introduced to functions, so why not. This isn't really about functional programming - it's about using map, filter and reduce and TDD (test driven development) although what that has to do with functional programming I'm not sure.
Eventually we have reached objects. but they are covered in a brief and shallow few pages just before the book ends with a look at TTD and event handling, DOM manipulation, shell scripts and a big example.
|Last Updated ( Wednesday, 03 May 2023 )|