Sunday, November 13, 2011

Dart and the Future of Web Development

Recently Google released information about the Dart programming language. Google touts it as the best way to overcome the shortcomings of JavaScript. I agree that there are issues with JavaScript. I've seen and dealt with many issues that I've shaken my head at for the implementation decisions, or things missing from the language (need I mention automatic semi-colons?).

While I agree that there are problems with JavaScript, I disagree that Dart is the best way to solve them. In my opinion, there shouldn't be ONE specific language for the web. A common runtime that other languages could target would be great. I'm not talking things like CoffeeScript, or even Dart that compile to JavaScript. I want to remove JavaScript from the equation completely and introduce something like Mono or the JVM into the browser. I want to use my favorite language to target the web.

I've seen this idea proposed before, it is not new. Miguel de Icaza brought this up on his blog last May. The idea took hold in my head and I haven't been able to forget it since then. I think it's a great idea. No, not just great, genius.

Google is going down a similar route with NaCl, but I think they are missing the point there too.

Web development is hard. I believe it should be easier, we shouldn't have to learn new languages as developers to write for the web. JavaScript is not terrible now, but the future of web development requires something better. That something better should allow developers from all backgrounds to come to the table and contribute in a language they are familiar with. Python on the client? Absolutely. Haskell? Sure. Intercal? Why not? If it can be targeted to the common runtime, it should be available.

Google needs to go one step forward on their idea, Dart is not enough to revolutionize the industry, but allowing developers to write in a language they are familiar with and good at, THAT would revolutionize the web.


Eva said...

love me some Haskal.

slide said...

Sorry, Love, but it's spelled Haskell. :-)