I like to spend quite a bit of time in bookstores, the physical – non-virtual ones – the few still remaining in the real world.
The reason is that I like the atmosphere, I like to “touch & feel” the physical books, I like the perspective the display of new books gives me on what’s new, and I like to browse books at length before making a purchase.
Normally, I walk around the store, from section to section, and typically, sooner or later I end up in the computer science section. Even though it’s now a long time since I did programming for a living, I still like to keep in touch with the craft, what’s new in terms of languages, algoritms etc. However, since at least 15 years, the vast majority of texts covering programming languages are quite a disappointment: huge bibles, with fancy covers, obviously written under a “pay-per-word” contract…!
The last really excellent – short, to the point, still comprehensive – text on programming was as far as I’ve been able to figure out Kernighan & Ritchies “The C Programming Language”, published 1978: some 100+ pages densely packed with all you need to know to program i C.
Therefore, it’s was a very positive surprise to find Allen Downey’s “Think Python – how to think like a Computer Scientist“: in less than 240 pages Allen manages to walk thru not only most of Python, with clear and easy to follow examples (the core, not all the external modules, obviously – that would take several thousand pages!) and additionally, also presents general programming paradigms and styles, i.e. stuff falling under the label of “computer science”.
I find Allen’s book very much to my liking, and very much in line with the concise style of Kernighan & Ritchie.