Things I wish I hadn’t read

I see where Bert Bos, a W3C employee, said:

JavaScript is the worst invention ever.

Sure, that’s taken out of context, probably doesn’t fully explain his thoughts, much less the thoughts of the whole Workshop on Web Applications and Compound Documents, despite being practically the first words spoken there, or the thoughts of the W3C itself, but still:

Javascript was created by Brendan Eich, who as keeper of the roadmap is now so involved in guiding the course of Mozilla, the browser where I live, that his weblog is named for the roadmap.

Javascript was later standardized as ECMAScript with Sam Ruby as (something something something – ECMA makes Fight Club look like a gabfest, and various bios around and about the web all seem to have different combinations of the words chair, editor, technical, and choose-two-from-column-B).

Javascript was the reason I started programming again, after a 15 year layoff. Sure, I did some stupid and inaccessible things with it, and encouraged other people to do them too, but now I mostly stick to unobtrusive Javascript, and use it in Firefox extensions and controlled environments where I know anyone there will be able to use it.

JavaScript is the worst invention ever.

Right now, I’m feeling pretty warm toward the WHAT WG, and quite cool toward the W3C.


2004-06-08 02:52:48

Word on the streets is that ECMAScript is evolving towards AKMAScript, which will not only allow you to program snazzy DOM stuff, but give a damn good tutoring in theology besides!

Now that’s what every browser needs!

Comment by Anne #
2004-06-08 06:04:21

Yeah and every browser needs support for SVG and XForms…

We need stuff that works now and is compatible with IE 6 not some unrealistic dream of some people who like to think hard about difficult solutions.

Comment by Mark Paschal #
2004-06-08 10:13:22

I have a warm spot in my heart for JavaScript too, remembering all the cool language features of JS that Sjoerd Visscher wrote about, and using an entirely web-unrelated application that’s scriptable in JScript daily.

Comment by Dotan Dimet #
2004-06-08 10:33:23

Come on, he’s got a Java clock applet on his home page! He wants to re-write HTML and all the rest of web technology to ”get it right” (just give him another half-a-decade). How much more evidence do you need to realize that, even if this person is clever, he’s certainly not wise?
My experience with Javascript was similar; it was the language that got me programming again (before that, the last programming I did was in Turbo Pascal, before high school); it was my introduction to C/C++ and in some way to Perl (there are a lot of similarities between Javascript and Perl, behind their syntax differences). It introduced me to event-driven programming in a clean and straightforward way. It is remarkably flexible, dynamic and well-put-together, while remaining shy and retiring in it’s small browserish niche. It deserves appreciation, not scorn.
Brendan Eich deserves a heap of respect for this language.

Comment by Roger Benningfield #
2004-06-08 12:22:58

Phil: ”Javascript was the reason I started programming again…”

Another ”me too” added to the list. I hadn’t written a line of code since my Atari ST retired to the closet around 1990, but Javascript was just simple-yet-useful enough for me to dive back in. And while I don’t use it much these days, I’m still sentimental about it.

Comment by Shelley #
2004-06-08 14:25:25

My second computer book was on this new fangled client-side scripting language called ’javascript’.

My first full book was on using Javascript/Ecmascript to manipulate HTML elements in a concept called DHTML.

One word to W3C — piffle.

Comment by Scott Johnson #
2004-06-08 16:27:43

I have a borrowed book on JavaScript that I’ve never used. I’ve mostly learned it from examples and (more recently) reading the specs. But I, too, have a good deal of respect for JS as a programming language.

Comment by homer jay #
2004-06-09 14:23:54

I’d have to change this to ”The implementation of JavaScript is the worst thing ever invented.”.

JavaScript is great, cross browser script/DOM incompatibility is not.

Comment by Anne #
2004-06-09 22:18:15

Phil, not sure if you are still reading this, but it seems that your referrer scripts has some trouble with unicode it makes: ”Iñtërnâtiônàlizætiøn” -> ”Iñtërnâtiônà lizætiøn”.

Probably because my charset is utf-8 and you are (still) using iso-8859-1 and don’t convert special characters.

Comment by Phil Ringnalda #
2004-06-09 22:29:33

Ick. There’s another place I hadn’t noticed that things weren’t working out very well. That’s some really hacky PHP, that may be beyond redemption.

I wonder what I would break if I just switched everything to utf-8 without trying to change any content. Not much, I’d think, but I might be wrong…

Comment by Phil Ringnalda #
2004-06-09 22:41:04

There, how’s that? :)

Fixed my stuff (by just changing the declared encoding), while breaking your formerly perfect example rather thoroughly; I’d say that’s a pretty good fix, wouldn’t you?

Comment by Phil Ringnalda #
2004-06-10 00:59:10

And then, surprisingly enough, re-fixed your example just by loading the comment for editing and then saving it without making any changes. Since textareas have been the bane of my non-ASCII existence for so long, it’s a bit of a shock to have them actually cooperate with me.

Comment by Anne #
2004-06-10 23:14:17

Nice you switched to UTF-8! Now we only need to convince the rest of the world… :-)

Comment by Jacques Distler #
2004-06-11 00:26:23

I had a thoroughly wretched time, when I tried that back in the early days with Musings. Did some of the underlying architecture of MT improve in the meantime?

Let’s see: θ $ ö.

Yup, that round-trips OK. It used to get ”decoded”

I don’t know. Maybe I have just grown senile…

Someday I’ll try flipping that switch.

Right now, I have to save the ampersand from the barbarian hordes.

Comment by Jeroen #
2004-06-11 08:10:47

If I remember well UTF-8 is the default encoding in new MT3.0D installations. They surely fixed things!

Name (required)
E-mail (required - never shown publicly)
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.