Eloquent JavaScript: A Modern Introduction to Programming, 2nd Edition

no starch press
Marijn Haverbeke
no starch press

Want to learn one of the primary languages of the web? JavaScript might be just an excellent choice and Eloquent JavaScript just might be the best route to proficiency with this language. It's not a baby's introduction to programming; it will require some work and maybe even a little head scratching, but it's an excellent and very thorough introduction to the language and to programming itself or, as the author would say, getting the computer to do what you want it to.

One of the things that first caught my attention was when, early in the book, the author explained how JavaScript's flexibility can either make your life miserable or turn out to be an invaluable aid to getting work done. In other words, JavaScript's lack of strict controls can be friend or foe, and you need to understand the implications of this very flexible language if you want to become an eloquent JavaScript programmer. By the end of this book, if you work through the material, you will very likely understand how to use JavaScript in ways that work extremely well.

The book follows a logical progression of programming concepts. You will start with values and operators, move through programming structures and objects. You'll learn how to use regular expressions and how to handle errors before moving on to more complex topics and projects.

The book's chapters demonstrate how the book moves from basic to complex topics.

Chapter  1 Values, Types, and Operators
Chapter  2 Program Structure
Chapter  3 Functions
Chapter  4 Data Structures: Objects and Arrays
Chapter  5 Higher-Order Functions
Chapter  6 The Secret Life of Objects
Chapter  7 Project: Electronic Life
Chapter  8 Bugs and Error Handling
Chapter  9 Regular Expressions
Chapter 10 Modules
Chapter 11 Project: A Programming Language
Chapter 12 JavaScript and The Browser
Chapter 13 The Document Object Model
Chapter 14 Handling Events
Chapter 15 Project: A Platform Game
Chapter 16 Drawing on Canvas
Chapter 17 HTTP
Chapter 18 Forms and Form Fields
Chapter 19 Project: A Paint Program
Chapter 20 Node.js
Chapter 21 Project: Skill-Sharing Website
Chapter 22 JavaScript and Performance

Most chapters include an exercises section and there are exercise hints at the back of the book to help if you need. There are also two projects that you can work through. The exercises are fairly challenging and the projects are interesting and will help to nail down the material.

I especially liked the author's friendly easy-going tone and how the exercises build on each other. He provides a thoroughly good handling of programming concepts, so good that you're likely to learn just as much about programming as about JavaScript.

Eloquent JavaScript will teach you what you need to know about the JavaScript language if you progress through the material taking advantage of the examples and exercises. This is an excellent book, but you will have to put some effort into "getting it". That said, it provides some of the best explanations of programming concepts that I've ever read. And it shows you how to use JavaScript -- how to take advantage of its flexibility and how to use it for some very interesting programming tasks.

ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon