Goodreads helps you follow your favorite authors. Be the first to learn about new releases!
Start by following Marijn Haverbeke.
Showing 1-30 of 40
“Learning is hard work, but everything you learn is yours and will make subsequent learning easier.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“The programmer who refuses to keep exploring will surely stagnate, forget his joy, lose the will to program (and become a manager).”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Programming, it turns out, is hard. The fundamental rules are typically simple and clear. But programs built on top of these rules tend to become complex enough to introduce their own rules and complexity. You’re building your own maze, in a way, and you might just get lost in it.”
―
―
“The art of programming is the skill of controlling complexity.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“You should imagine variables as tentacles, rather than boxes. They do not contain values; they grasp them—two variables can refer to the same value.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Functions that create values are easier to combine in new ways than functions that directly perform side effects”
―
―
“How difficult it is to find a good name for a function is a good indication of how clear a concept it is that”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Higher-order functions allow us to abstract over actions, not just values.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Automated testing is the process of writing a program that tests another program. Writing tests is a bit more work than testing manually, but once you’ve done it, you gain a kind of superpower: it takes you only a few seconds to verify that your program still behaves properly in all the situations you wrote tests for.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“The computer programmer is a creator of universes for which he alone is responsible. Universes of virtually unlimited complexity can be created in the form of computer programs. — Joseph Weizenbaum, Computer Power and Human Reason”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“It has to become second nature, for a programmer, to notice when a concept is begging to be abstracted into a new word.”
―
―
“Though computers are deterministic machines—they always react the same way if given the same input—it is possible to have them produce numbers that appear random. To do that, the machine keeps some hidden value, and whenever you ask for a new random number, it performs complicated computations on this hidden value to create a new value.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“The best way to learn the value of good interface design is to use lots of interfaces — some good, some bad. Experience will teach you what works and what doesn’t. Never assume that a painful interface is “just the way it is.” Fix it, or wrap it in”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“The main thing I want to show in this chapter is that there is no magic involved in building your own language. I’ve often felt that some human inventions were so immensely clever and complicated that I’d never be able to understand them. But with a little reading and tinkering, such things often turn out to be quite mundane.”
― Eloquent JavaScript: A Modern Introduction
― Eloquent JavaScript: A Modern Introduction
“Below the surface of the machine, the program moves. Without effort, it expands and contracts. In great harmony, electrons scatter and regroup. The forms on the monitor are but ripples on the water. The essence stays invisibly below. —Master Yuan-Ma, The Book of Programming”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“In the happy land of elegant code and pretty rainbows, there lives a spoil-sport monster called inefficiency.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“You’re building your own maze, in a way, and you might just get lost in it.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“We defined square with only one parameter. Yet when we call it with three, the language doesn’t complain. It ignores the extra arguments and computes the square of the first one.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Strict mode does a few more things. It disallows giving a function multiple parameters with the same name and removes certain problematic language features entirely (such as the with statement, which is so wrong it is not further discussed in this book).”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“As we’ve seen, Math is a grab bag of number-related utility functions, such as Math.max (maximum), Math.min (minimum), and Math.sqrt (square root).”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“a detailed low-level one for complex situations and a simple high-level one for routine use. The second can usually be built easily using the tools provided by the first. In”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“It can be useful for a function to accept any number of arguments. For example, Math.max computes the maximum of all the arguments it is given. To write such a function, you put three dots before the function’s last parameter, like this: function max(... numbers)”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“The preceding code works, even though the function is defined below the code that uses it. Function declarations are not part of the regular topto-bottom flow of control. They are conceptually moved to the top of their scope and can be used by all the code in that scope. This is sometimes useful because it offers the freedom to order code in a way that seems meaningful, without worrying about having to define all functions before they are used.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Values of type string, number, and Boolean are not objects, and though the language doesn’t complain if you try to set new properties on them, it doesn’t actually store those properties. As mentioned earlier, such values are immutable and cannot be changed. But these types do have built-in properties. Every string value has a number of methods.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Such a prototype object will itself have a prototype, often Object .prototype, so that it still indirectly provides methods like toString.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“Because computers are dumb, pedantic beasts, programming is fundamentally tedious and frustrating.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“So there is another feature that try statements have. They may be followed by a finally block either instead of or in addition to a catch block. A finally block says “no matter what happens, run this code after trying to run the code in the try block.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“most obvious application of functions is defining new vocabulary. Creating new words in regular, human-language prose is usually bad style. But in programming, it is indispensable.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“If you write an = operator after a parameter, followed by an expression, the value of that expression will replace the argument when it is not given.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming
“There’s no deep reason to have both arrow functions and function expressions in the language. Apart from a minor detail, which we’ll discuss in Chapter 6, they do the same thing. Arrow functions were added in 2015, mostly to make it possible to write small function expressions in a less verbose way.”
― Eloquent JavaScript: A Modern Introduction to Programming
― Eloquent JavaScript: A Modern Introduction to Programming

