JavaScript as The Web’s Systems Language
We all know there are system programmers and higher-level application programmers. At the extreme ends of each category: a dude writing C to work on the Linux kernal, and a dude writing Java to create a text editor. These two fellows deal with very different tasks. Generally, the former can write stuff that runs faster, and the latter can write stuff more easily.
I’m starting to think that the web is going to get a similar disjunction. JavaScript may become the C of the web. I’m not referring to how some new JavaScript engines are approaching the speed of C (not there yet, but certainly getting there). I’m talking about how JavaScript is becoming the systems language of the web platform. You write JavaScript to create either really fast webapps, or use libraries implemented in JavaScript to more easily write slower webapps.
Look at some jQuery code for a second:
$("#dog").show()
.addClass("barking")
.load("dogdata.html")
It starts to look more like a domain-specific language for DOM manipulation than actual JavaScript.
Since that may be a stretch for some people, here is a better example, further into the disjunction I’m talking about. Cappuccino.
What are we looking at here? A library that is much more powerful than typical web app libraries. It uses its own programming language (Objective-J). And if the demos are to be trusted, the resulting software is much slower than stuff written in plain JavaScript.
Imagine years down the line if we had web app developers that knew Objective-J, but not JavaScript. Us JavaScript guys would be useful for maintaining these libraries, and for doing the jobs that need to be blazing fast. Sound like a C developer of the desktop world?
Obviously this trend could be derailed depending on how browsers develop. I found it an interesting pattern nonetheless.

Tweet This
Back when average computer processors were a few mhz, and had a few k of ram, you needed every performance gain you could get. Now… we have resources to spare so performance takes a back seat to faster application development.
The bottleneck for web apps has always been bandwidth, and to a lesser extent processor speed since it’s not compiled. Now that those bottlenecks are going away I’m psyched about what we’ll be able to do if including a 20mb library is fast and non-noticable… I’m impressed enough with jQuery and I’d love to have even more of the ‘low level’ stuff taken care of.
Comment by Andy — September 10, 2008 @ 2:51 am