This is one of the best programming books I have read in years, due to a number of reasons:
- It is small, only 60 pages
- It is free, but I got my copy though OReilly blogger reivew program
- It is well written. The narration goes from simple to complex
Recently, people have come up with many nice languages such as Python and Ruby which share many common features. Nobody claims they are easy to learn, but they are easy to use. So, the initial goal of building an easy language has been achieved. A new set of language constructs and idioms has been adopted (such as using indentation instead of brackets, arrow instead of function keyword, ranges, comprehensions, etc.). A new generation of developers expects iterators, maps, ranges, closures to be standard features of any programming languages. To most C++ programmers those look like quite advanved features provided by libraries such as STL. But Java revolution has happened: people got used to this syntactic expressiveness.