Interesting. I still haven't figured out where Dart actually fits or is especially useful as compared to say Java or Go. Does anyone have a good explanation on Dart?
It's sort of a cross between Javascript and Java. At the moment a lot of the effort is focused on creating (client side) web apps where Javascript is used now, though the team is also working on the server side.
The language feels a lot like Javascript with the warts removed and with optional typing. What's interesting is that the team consists of people with a ton of experience in writing VMs (Strongtalk, Hotspot, V8). This means many of the language decisions were chosen so they were easy to make fast. In practice this means things are sometimes less dynamic than in Javascript.
This means many of the language decisions were chosen so they were easy to make fast.
This is a big part of how Smalltalk was designed as well. The motivation back then was just to have a powerful OO system that would run fast enough...ish. I've seen emulations of those early Smalltalk systems. The slow reputation came from there.
I suspect the same sort of thinking went into the design of Lua.
I work on Dart, and find it much nicer to use than either Java, JavaScript or Python, my main languages before taking up Dart. I think it's a great general purpose language and even though it's starting focused on web apps, it'll be great for servers and command line script.
It's faster, more sane, structured and readable than JavaScript with classes, mixins, sane this and type coercion behavior and statically analyzable semantics.
It's much less verbose than Java, with libraries, top-level functions, getters and setters, implicit interfaces, cascades and more.
And surprisingly to me when I started, I like it better than Python. It's more consistent and feels more lightweight, and it's a lot faster than CPython.