Books for Programmers
Tuesday March 22, 2016
Software development in general
Some years ago a mentor lent me a copy of The Pragmatic Programmer. It is a very useful collection of The Right Way to do things. It's a set of ground rules for doing good work that can make you and the people you work with more effective.
For more books on software development "in general", it looks like Atwood's list is quite good. I should read some of those. He even lists Tufte!
I encountered Think Python and the rest of Downey's books while teaching some data science courses. It's a nice intro to computer science, programming, and Python, and it's available for free online.
Clojure is a neat language, and The Joy of Clojure is a neat book. There is a ton to learn. It's "a Clojure book", but as the subtitle, "Thinking the Clojure Way", indicates, the language and the book are not bashful about philosophy, and it's a different philosophy from a lot of other languages and ways of thinking. Use and appreciate functional programming with immutable data structures.
Years back I loved The Art of R Programming for acknowledging that you need to program in R. Some books treat R like it's a statistics GUI that, for reasons unknown, you happen to have to type to use.
Nowadays I think Hadley's freely available Advanced R is by far the best R book. Despite the title, it does also cover introductory material, but the pace is quicker and the depth is greater than The Art of R Programming.
git is not a language, it's a version control tool, but I'm including it here because there's an obvious book for it which is free online. It's called Pro Git. Newcomers to git sometimes find git confusing, and there's a simple solution: read the book. Read the whole book. Just read it.
See also Books for Professionals.