Sunday, January 15, 2012

JavaScript is Dead. Long Live JavaScript

OK, this is going to be light on fact and heavy on impressions. I admit to not having much to go on, other than my own memory of history. I'm simply spewing intuition here.

I just took a whiff of a new programming language. Something smelled wrong.  It reminded me of 
  • Fully blown Corba enterprise standards
  • C++ for business applications
  • Java for the Web
  • W3C XML Schema Language 
  • Web Services Standards (pick just about any)
It is not that there isn't some merit to each of these, but each egregiously forces a practice of making many decisions early in the design process; they do so in the name of performance; and they all suck because they embed too much cruft in the deployed systems.

The language I smelled was Google's Dart. It smells an awful lot like Java, from the tooling (Eclipse) to the static typing (uh, "optional" static typing). Then there's the 17 thousand + line of code "Hello World" example. But OK, even gcc compiles Hello World to around 8k on an OSX machine. (Then again, that's machine code gcc is compiling into on a desktop, not scripted source in a Web browser.) 

If Google wants to push an alternative to Java, more power to them. But they should not have done it under the pretense of killing JavaScript, or of making open Web scripting easier with enterprise tooling. That's just a little bit "evil". 

2 comments:

Hivaga said...

JavaScript is dead man, the moment Dart is supported in Chrome is the moment I stop writing JavaScript :).

Jersey Boy said...

Javascript is ubiquitous on all Desktop and mobile browsers, as well as many mobile app frameworks. Chrome's major user base is on the PC, a shrinking part of the market. I'd take note if, say, Apple built it into IOS, followed by Mozilla, Nokia, Samsung, RIM, and maybe throw Opera in there too; but otherwise I don't see it happening. Projects like Coffeescript are leaner alternatives to the syntactic aspects, and like Node.js a leaner path forward on the server-side, so I'm not sure what another one-size-fits-all-but-usually-very-poorly technology stack is going to add that isn't only a marginal improvement, if that. In any case, I don't find it reassuring that when Google faces opposition or perceives a slow process in correcting deficiencies via the Ecmascript standards process, it opts to take an approach to undermine that standards effort; it is a little too reminiscent of Microsoft's treatment of Corba. I'm not saying the current JavaScript stack is all wonderful, but Dart tries to solve the problems in the same way that COM "solved" issues with Corba: by throwing the standards process under the bus.