Dart: The new language of the web?

Google recently announced Dart, a new programming language aimed for serious web apps. I can’t tell you how excited I am with this announcement.

If you’ve been following my posts recently, I had a series of posts on JavaScript (part1, part2, part3, part4, conclusion) where I concluded that JavaScript is not ready for serious development on the web. My main complaints were lack of true object oriented support, lack of visibility control, lack of type support, lack of tooling, and overall primitive nature of JavaScript language. If you look at Dart Technical Overview, Google is tackling the exact issues I outlined in my previous posts. There will be classes, optional types, libraries in Dart with extensive tooling.

This is quite exciting but not that exciting for me because ActionScript and the Flash ecosystem around it already provides all of these. I think the more exciting part of Dart (that ActionScript does not provide) is its flexibility. The type system in Dart is optional, so you can use it if you want strongly typed code (which will surely help with tooling) but you don’t have to and you can simply revert back to JavaScript style of everything being a var. Similarly, you can run Dart in its own VM that Chrome will surely provide and other browsers might follow but if some browser doesn’t support Dart VM, no worries, you will be able to compile Dart into JavaScript.

If Google can truly implement this kind of flexibility across browsers, I think Dart can be a serious contender to be the new language of the web. It’ll also be interesting how ActionScript will evolve as Dart materializes. Good times for web development for sure!