Skip to content

Commit 9e5fdd0

Browse files
committed
foreword
1 parent 61c761e commit 9e5fdd0

File tree

2 files changed

+2
-21
lines changed

2 files changed

+2
-21
lines changed

atlas.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"files": [
66
"sections/cover.html",
77
"sections/toc.html",
8+
"sections/foreword.html",
89
"sections/preface.html",
910
"chapters/ch01.asciidoc",
1011
"chapters/ch02.asciidoc",

sections/preface.asciidoc

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,4 @@
1-
[preface]
2-
== Foreword
3-
4-
When I created JavaScript in 1995 at Netscape, I had no definite idea that it would become the most widely used programming language on the Internet. I did know that I had very little time to get it into “minimum viable shipping” state, and so I made it extensible and mutable from global object on down, even to base-level meta-object protocol hooks (e.g., `toString` and `valueOf`, styled after Java’s methods of the same names).
5-
6-
Yet in spite of its ongoing evolution and still-rising popularity, JavaScript always benefits from an incremental and careful teaching approach that puts first things first. I think this follows inevitably from the hurried design and intentional extensibility. I overloaded two kernel elements, functions and objects, so that programmers could use them in various ways as general workalikes for individual tools in a larger Swiss army knife. This meant that students would need to learn which tool was best to use for a specific task, and how precisely to wield that particular blade.
7-
8-
Netscape was a whirlwind for me, and I think for anyone there from early 1995 on. It was rushing toward an Initial Public Offering predicated on competing with Microsoft via the infamous “Netscape + Java kills Windows” formula repeated by Marc Andreessen on the IPO roadshow that year. Java was the big-brother or “Batman” programming language to little-brother, “Robin the boy hostage” sidekick “scripting language,” JavaScript.
9-
10-
But I knew while I was writing the first version (code-named “Mocha”) that JavaScript and not Java would be integrated deeply with the Netscape browser and the document object model I created at the same time. There was no way across the Netscape/Sun organizational boundary, or the browser/JVM code bases, to embed Java other than as a plugin.
11-
12-
So I did have a vague sense that JavaScript would either succeed over time and do well, or else fade quickly in the shadow of something else. I remember telling my friend and cubicle-mate Jeff Weinstein, when he asked me what I’d be doing in 20 years, that it would be “JavaScript or bust.” Even then I felt a sense of deep obligation to JavaScript’s users that was inherent in the “two-blade Swiss army knife” design I had chosen under the dual constraints of extremely short schedule and “make it look like Java” management edict.
13-
14-
The Modular JavaScript Book Series fulfills my hope for an incremental and straightforward pedagogy, starting with easily applicable code examples and scaling through design patterns to entire module-based applications. This series nicely covers best testing practices and winning techniques for deploying JavaScript applications. It is another jewel in O’Reilly’s crown of books on JavaScript.
15-
16-
I am delighted to support Nicolás' endeavor because his book looks exactly like what people who are coming to JavaScript with fresh eyes need. I first met Nicolás at a dinner in Paris and got to know him a bit there, and over time online. His pragmatism combined with empathy for newcomers to the language and a great sense of humor convinced me to review this book in draft form. The finished work is easy-to-digest and fun. I encourage you to dive in, to discover and embrace JavaScript, and to contribute to developing a better Web for everyone.
17-
18-
--- Brendan Eich
19-
Inventor of JavaScript
20-
CEO and co-founder of Brave Software
21-
1+
[preface]
222
== Preface
233

244
..

0 commit comments

Comments
 (0)