Developer Reading List
, December 03, 2013 Ruby, Python, ASP.NET, Android development, PDF, and more.
Also Received
A Tour of C++
by Bjarne Stroustrup
This is a curious volume: It is an excerpt from the recently published 4th Edition of The C++ Programming Language by Stroustrup. The basic idea the publisher had was to gather the chapters from that master work that presented the language overview and reprint them, with a little editing, as a concise introduction to the language. This unusual republication is required primarily because the source book is now a ponderous 1300+ pages, and it has morphed into a reference work, rather than a tutorial. So, this concise presentation (at 150 pages) is good for those new to the language who aren't ready to dive into all the language details. There is an irony that the front cover claims the book is part of the "C++ In-Depth" series, while the rear cover touts its concision.
Java Coding Guidelines
by Fred Long, et al.
This book is an update to "The CERT Oracle Secure Coding Standard for Java" and is primarily a volume of rules to ensure the security of Java code. Curiously, the book focuses on Java SE rather than Java EE, which is where I would have expected the principal security concerns to be. However, the guidelines are well articulated and the reasoning for them clearly stated. There are scattered guidelines on related topics such as reliability and performance (to wit, don't call the garbage collector explicitly.) This title should be recommended reading for almost all Java developers who write software that is consumed by the public.
Programming Erlang, Second Edition
by Joe Armstrong
Erlang is the functional language designed for parallel programming. Originally written by the author for use in Swedish phone systems, it has come to be embraced for applications that are massively parallel and that can accept fault tolerance based on a running instance being closed down and restarted.
Erlang's biggest problem has always been the language's peculiar syntax. The original edition of this book did not facilitate overcoming the syntax issue. But this edition improves on that shortcoming; plus, it includes new material on some of the leading tools and resources for Erlang programmers. For anyone interested in Erlang or already programming with it, this is book is a must read.