WatersWorks

Blog archive

Dart: Google Won't Comment, Analysts Weigh in on Possible JavaScript Replacement

Google is keeping mum on its plans to unveil another new programming language at its upcoming GoTo Conference in Denmark next month, but the buzz is already starting to hurt my ears. The language is called "Dart" (formerly "Dash"), and the conference Web site describes it as "a new programming language for structured web programming." Google's PR rep, Lily Lin, gave me a polite brush off in an e-mail, referring me to the opening keynote presentation at GoTo, during which Google engineers Lars Bak and Gilad Bracha will host Dart's debut.

The closest I'll be getting to anything Danish in the near future is the very-bad-for-me pastries at Le Boulanger in downtown Mountain View. Meanwhile, others are weighing in on Big G's latest language.

Gartner's Ray Valdes discussed with me in an e-mail interview that the internally-spawned Dart appears to be intended as a replacement for JavaScript, and that it's likely to be implemented as a translation layer above JavaScript to support compatibility with older browsers. This translation-layer approach is a recent trend in programming language implementations, Valdes explained. He points to Scala, Clojure, jRuby and Jython, all of which compile to Java or to Java byte codes. Likewise, Iron Python and Iron Ruby run on the .Net language platform (CLR). Another example is Google's GWT user interface library, in which developers write in Java that is then translated to JavaScript to be deployed to the browser.

The drive behind Dart's development appears to be mostly internal, Valdes suggested. "There are developers at Google that have built complex JavaScript applications and have decided that some of the challenges in these large projects were due to design flaws in JavaScript," he said. "Some of them built tools and frameworks to work with JavaScript (GWT, Closure) but apparently they feel the need to go further and replace JavaScript entirely."

Google was similarly motivated when it created the Go programming language in 2009 for its own internal use. The language was developed as an alternative to existing system implementation languages (C++, Java, Python), which Google found were either overly complex, slow to compile, or slow in production, Valdes said. Google hasn't evangelized Go, and Valdes doesn't believe the company will evangelize Dart.

It's clear that Google has "fix JavaScript" on its to-do list. A draft of an internal memo accidentally leaked last year expresses Google's position succinctly: "JavaScript has fundamental flaws that cannot be fixed merely by evolving the language." The memo goes on to mention Dart (then Dash) as part of a "strategy for the future of JavaScript." It would be "a new language that aims to maintain the dynamic nature of JavaScript, but have a better performance profile and be amenable to tooling for large projects."

However, there are others inside the Googleplex who are committed to JavaScript, even with its flaws, Valdes pointed out. "This has led to some internal tension, it seems," he said. "Every large company has people pulling in different directions. It reminds me of the Silverlight versus HTML5 tension at Microsoft."

Google software engineer Alex Russell, who serves as one of the company's representatives to TC39 (the JavaScript standards committee), expressed what you might call the pro-JavaScript position on his Infrequently Noted blog. "So what's the deal with Google and JavaScript? Simply stated, Google is absolutely committed to making JavaScript better, and we're pushing hard to make it happen."

"As committed and enthusiastic as I am about the prospects for JavaScript," he added, "others are just as enthused about Dart. Google is big, can do many things at once, and often isn't of one mind. What we do agree on is that we're trying to make things better the best we know how. Anyone who watches Google long enough should anticipate that we often have different ideas about what that means. For my part, then, consider me and my team to be committed JS partisans for as long as we think we can make a difference."

And by some measures, the JavaScript community is actually on the rise, said IDC analyst Al Hilwa in an e-mail he sent from the Build conference, underway this week in Anaheim, Calif.

"The most important attribute of a programming language is the size of the programmer population that uses it," he said, "and here JavaScript is well represented, and has, in fact, seen a resurgence as the companion technology to HTML5's canvas tag. JavaScript is also beginning to be used on the server as powerful frameworks such as Node.js have emerged. JavaScript has just become a first-class language inside of the Windows 8 operating system, as we learned today at the BUILD conference. It will be a big challenge to topple JavaScript, but if Google is keen on that, it should start by supporting it in its Chrome browser along with JavaScript and let it duke it out for developer mindshare."

Redmonk's James Governor wasn't especially worried about the advent of Dart. "I'd be worried about Google if it wasn't driving core language innovation," said Redmonk's James Governor in an e-mail. "Question though: Did JavaScript succeed because, or in spite of, its initial sloppiness and not being "fit for purpose" as a general purpose dev environment? More central planning doesn't always mean better innovation."

Governor's colleague at Redmonk, Stephen O'Grady, was equally sanguine. "[T]he worrisome thing isn't Dart itself; companies try to improve and/or reinvent runtimes fairly regularly. A few months back, for example, Red Hat irritated the Scala community with Ceylon. It is entirely plausible that Google is both committed to improving JavaScript and simultaneously replacing it." 

"The larger concern for many," O'Grady added, "is the language in the leaked e-mail that talks about ‘sweet talking' browser manufacturers and encouraging developers to target Chrome first. This is indicative of the kind of company-first-Web-second mandate that used to characterize Microsoft's efforts around [Internet Explorer]. That's what's got people genuinely worried."

Posted by John K. Waters on September 15, 2011