Marijn Haverbeke

#Eloquent
#JavaScript
#Node.js
#HTTP
This is a book about instructing computers. Computers are about as common as screwdrivers today, but they are quite a bit more complex, and making them do what you want them to do isn’t always easy. If the task you have for your computer is a common, well-understood one, such as showing you your email or acting like a calculator, you can open the appropriate application and get to work.
But for unique or open-ended tasks, there often is no appropriate application. That is where programming may come in. Programming is the act of constructing a program—a set of precise instructions telling a computer what to do. Because computers are dumb, pedantic beasts, programming is fundamentally tedious and frustrating.
Fortunately, if you can get over that fact—and maybe even enjoy the rigor of thinking in terms that dumb machines can deal with—programming can be rewarding. It allows you to do things in seconds that would take forever by hand. It is a way to make your computer tool do things that it couldn’t do before. On top of that, it makes for a wonderful game of puzzle solving and abstract thinking.
Table of Contents
1 Values, Types, and Operators
2 Program Structure
3 Functions
4 Data Structures: Objects and Arrays
5 Higher-Order Functions
6 The Secret Life of Objects
7 Project: A Robot
8 Bugs and Errors
9 Regular Expressions
10 Modules
11 Asynchronous Programming
12 Project: A Programming Language
13 JavaScript and the Browser
14 The Document Object Model
15 Handling Events
16 Project: A Platform Game
17 Drawing on Canvas
18 HTTP and Forms
19 Project: A Pixel Art Editor
20 Node.js
21 Project: Skill-Sharing Website
Exercise Hints
Marijn Haverbeke is a programming language enthusiast and polyglot. He's worked on a wide range of software systems, from databases to compilers to editors. He runs a small business around his open source projects.









