JavaScript : the good parts

book coverJavaScript : the good parts / Douglas Crockford, O’Reilly, 2008

This slim book is the best description of JavaScript that I know of.  From the back cover: “considered the JavaScript expert by many in the development community – identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language.”  Here is the author’s site.

Get it here from OPL

Born digital : understanding the first generation of digital natives

Born digital : understanding the first generation of digital natives / John Palfrey and Urs Gasser.

“Digital technologies are changing our kids in ways we don’t yet understand. This beautifully written book will set the framework for a field that will change that. It is required reading for parents, educators, and anyone who cares about the future” – Lawrence Lessig

Effective Java

Effective Java / Joshua Bloch, Addison-Wesley, 2008

“I sure wish I had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.” — James Gosling, inventor of Java.

“This is a truly excellent book done by the guy who designed several of the better recent Java platform API’s (including the Collections API).” — James Clark, of XML fame.

Holub on patterns

Holub on patterns : learning design patterns by looking at code / Allen Holub. Apress, 2004

An opinionated look at design patterns. If you are using a language not known for rapid development then you want to choose the right patterns in advance so you won’t be refactoring too much. This book discusses which patterns are most useful, with examples in Java. Not recently written, but worth reading.

Programming interviews exposed

Programming interviews exposed : secrets to landing your next job / John Mongan, Noah Suojanen, Eric Giguère. Wiley Pub., 2007

If you work in technology, whether programming or similar, you probably need to look for new work now and then. This book is the best I have seen for advice on how to interview, negotiate pay, and prepare your resume. Useful to hiring managers too.

There is another way to approach this book.  More than half of the book is programming algorithms that you would learn in undergrad CS, and you can read it to refresh your knowledge.