Minecraft is one of the most widely used games around these days. So it was notable when the programmer who wrote it, Markus "Notch" Persson, embraced Google's Dart programming language for Web apps.
"I love it," Persson tweeted in November, shortly after .
That's because Google right now is building Dart technology directly into Chrome.
"The next step for us is to get the Dart virtual machine into Chrome," said Lars Bak, the leader of Google's project, adding that he hopes it'll be done within a year. "If everything pans out the way it's predicted, with a factor of two performance boost and a factor of ten in startup-time boost, I'm pretty sure the other browsers will be enticed with what we're doing."
Bak is "pretty sure," but Mozilla, Apple, and Microsoft -- which make the other three of the top four browsers in use today -- don't care for Dart. When Google ships a Dart-enabled Chrome, the debate over the language will transform from dueling blog posts to live code on the Web that affects the public.
Dart on the Web
Second -- and this is the project the Dart team is working on now -- is building the Dart virtual machine (VM) into a browser. A virtual machine is a software layer that acts like self-contained computer on its own, running instructions in its own particular language.
So far, but building the Dart VM into Chrome would mean native Dart programs would have a place on the Web. That's the phase that .
That same step worries some other developers who've seen past problems when the Web was fragmented with software platforms that worked in one browser but not another.
"What I find worrying is [Google's] tendency to push for in-house, works-only-on-Chrome solutions instead of trying to work with the wider web standards community," said Henri Bergius, founder of the FlowHub. In this they strongly resemble Microsoft of the bad old IE market dominance and ActiveX era."and co-creator of
Dart has some big differences compared to ActiveX, though. For one thing, it's open-source software, which means anyone can adopt it for free and that Google is, at least in principle, open to outside contributions. And last week,, an effort that could more formally ensure that others get a say in Dart.
Dart's Dash debut
For example, it's got optional "typing," which essentially means that when one part of a program calls upon another, the programmer must lay out what kind of data it sends out and what kinds it expects back. That's the kind of thing that lets programming tools do a better job finding bugs early, and it's something that could make Web-app programming easier for developers coming in from native-app languages like C++ and Java.
That raised hackles.
Eich is skeptical of Google's performance claims and of the wisdom of adding a Dart virtual machine.
"Most browsers have no reason to include Dart because doing so would not only be extremely difficult for engineers to accomplish in each major browser, it would also result in a quality hit," Eich said.
Specifically, he pointed to problems with having two separate virtual machines, both trying to clean up computer memory through a process called garbage collection and both trying to control Web page elements through the browser's Document Object Model (DOM) interface. "Two runtimes sharing the DOM adds both bug habitat and a performance tax," Eich said. That's an objection Apple has raised, too.
The practical difficulties of Dart, including the resistance of other browser makers, means that moving to Dart "feels like a big pill to swallow," Almaer said.
Microsoft's TypeScript approach
Microsoft is eating its own dogfood, as the expression goes: it's using TypeScript to power the Bing.com Web site; the Visual Studio Online programming tools, and the Xbox Music app on Windows 8.1, the Web, and the Xbox One game console.
"I hope we get the Web platform to a point where there are different types of technology that can be used, so there is innovation going on," Bak said. "The more the merrier."