Dart is actually a new programming language that has been proposed and developed by Google.
Let's find out more.
Q. Dart doesn't sound like something the world needs. Or do we?
A. Well, the specific reason for developing Dart is to make a modern language that's flexible, fast and useful in the creation of web-based applications, so it's an area of keen interest for a lot of developers and users.
Q. Well, isn't it the display part that I'm actually using in my browser?
A. When web applications were very simple, yes. But it helps to know a bit about the background here.
Before the current generation of web applications, if you wanted to do remote processing on a task, you used a client/server model. The client would connect to the server and they would exchange information, typically with the client application handling input and display, and the server doing all the heavy lifting. That's the thin-client world of computing as it was.
The trouble with this system is that keeping a persistent connection to the server is 'expensive', tying up the resources of the server. The solution was to create a kind of stateless server model, which would perform a task and return the required information, and then forget about it - like a sort of online subroutine.
This means the onus of consistency lies on the client side - the web app needs to remember what's going on, control the interface and such. As web applications have got more complex, this means more work. It's a bigger job than just rendering the information in a different font.
Q. But people will still have to develop in Dart and Java?
Q. But even so, everyone will have to learn a new language - that can't be good?
And you're forgetting that it makes a lot of tricky stuff easy, because it's designed with web apps in mind. It tackles problems such as start-up time, garbage collection and threading. It's worth learning an extra bit of syntax to cut hours off development time.
Q. This all sounds great. The developer community must be overjoyed!
Q. Well, that's understandable. But the developers of web browsers must at least be pleased.
A. Well, no. Again, many of them see it as a threat. Remember that Google has taken a large share of the browser market already with Chrome.
If it was also to control the development of the language that everybody uses to write web apps, you can see how people might begin to think the whole thing was a bit of a stitch-up.
Q. So, it seems as if Dart will likely only ever be available in Chrome.
A. Well, I guess you have a better crystal ball than we do...
Q. Well, if the majority of developers don't want it, and the majority of browsers don't want to support it, it looks like a non-starter...
A. We respectfully submit that when it comes to web technologies, developers are not the most important people - users are. Consider a world in which you can run your applications as usual, really fast, or with extra features. Which option are you going to choose?
It isn't too hard to see a future where Google Mail, Google Docs, Google Maps and Google everything else run better or more enhanced in Chrome. Ergo, people will want to run them in Chrome. And if they see some sort of competitive advantage, other people will want their applications to run in Dart.
With the Chrome OS and the Chrome app store, Google has plenty of opportunities to deliver faster, better apps. At least, that seems to be the plan.
Q. But isn't that also rather divisive, and also what Microsoft tried to do with ActiveX and Internet Explorer?
A. Well, yes, it's a little similar. Google is being a bit more open about the technology. It's created under the revised BSD license, so the code itself is about as open as you can get.
Q. That isn't the point, if people are going to be forced into a two-tier internet.
A. No. But nobody is suggesting that people will somehow be compelled to use Dart. The thing that's often overlooked is that a lot of the world's web application developers actually work for Google. If they want to create a new tool that's better for them to use and, as a by-product, release it to the rest of the world for free, should we really be complaining?
Q. Well, it still seems like a non-starter. Why would someone build a web app that wouldn't run in the majority of browsers?
Q. Hah! So much for efficiency…
A. Well, no doubt it will improve, as that could be one of the keys to getting Dart more widely accepted outside of Google.
Q. I still can't see a future in it. And, also, Google seems rather better at shutting things down than creating new things... Buzz, Wave, Labs...
A. Well, yes. It would be a little bit of a gamble to stake your livelihood on Dart. But as mentioned previously, even if used only by Google themselves, Dart would still have a huge impact on the web, and presumably for Google themselves, whose server bills must be quite terrifying. Small efficiency savings for Google could add up to more than a banker's bonus!
Q. Even so, it seems like a thing that benefits only Google.
A. Well, the specific reason for developing Dart is to make a modern language that is flexible, fast and useful in the creation of web-based applications, so it's an area of keen interest for a lot of developers, and users.
Q. So we should watch this space…
A. You're probably right. If you want to check out the current code to the Dart language, it's hosted on, erm, Google Code (http://code.google.com/p/dart). The language itself, including some already useful documentation and some development tools (well, eclipse plug-ins) is on the main site at dartlang.org.