UPDATED 12:23 EDT / OCTOBER 10 2011

Google Dart logo NEWS

Google’s Dart Programming Language Disappoints Hackers

Google Dart logo As expected, Google announced its new programming language Dart at GOTO Conf. We previously reported on the language here.

Dart is a new programming language that will run in its own virtual machine in Chrome and compile to JavaScript in other browsers. The stated goals are:

  • Create a structured yet flexible language for web programming.
  • Make Dart feel familiar and natural to programmers and thus easy to learn.
  • Ensure that Dart delivers high performance on all modern web browsers and environments ranging from small handheld devices to server-side execution.

The essential purpose seems to be to create a language better suited for creating large, complicated Web applications such as Gmail. A leaked Google memo had described Dart, then called Dash, as a language the company hoped would “replace JavaScript as the
lingua franca of web development on the open web platform.” Google developer Alex Russell confirmed the memo’s authenticity but distanced himself and Google from the goal of replacing JavaScript. The company seems to be deliberately avoiding calling Dart a replacement for JavaScript at this point. Here is an excellent overview by Dr. Axel Rauschmayer, who sees Dart as more of a replacement for Java than for JavaScript.

Since the two presenters at GOTO, Gilad Bracha and Lars Bak, both worked on Smalltalk related projects – Newspeak and Strongtalk- so many of us expected Dart to be Smalltalk like. This isn’t the case. Most developers are comparing Dart’s syntax to Java. The joke “Dart puts the Java back in JavaScript” is circulating on Twitter. It seems many were hoping for some syntactic sugar, a la CoffeeScript. And in case you were wondering whether you could use CoffeeScript to compile to Dart, CoffeeScript creator Jeremy Ashkenas tweeted: “Emitting any language other than JS from CS doesn’t make much sense — it’s entirely designed around how JS works. Do DartScript.”

At first glance: #Dart a hybrid of #Java and #Erlang with syntactic "noise" from C++/Java. I like "actors" though for concurrency @dart_lang

The overall sentiment in places like Hacker News is that of disappointment, but some developers did find something to like. Dart features actor-like entities called isolates. The actor model is used in programming languages like Erlang and Scala, both of which are increasingly popular. Erlang developer jlouis goes into more detail on Dart’s similarities and differences with Erlang in a blog entry.

Apparent from the syntax and features of the language, there is concern that the language will cause fragmentation. JavaScript creator Brenand Eich wrote on Hacker News earlier this year:

A Dart to JS compiler will never be “decent” compared to having the Dart VM in the browser. Yet I guarantee you that Apple and Microsoft (and Opera and Mozilla, but the first two are enough) will never embed the Dart VM.
So “Works best in Chrome” and even “Works only in Chrome” are new norms promulgated intentionally by Google. We see more of this fragmentation every day. As a user of Chrome and Firefox (and Safari), I find it painful to experience, never mind the political bad taste.

I agree that this is the biggest issue regarding Dart. If it gains any traction – or even if Google rebuilds major applications like Gmail and Google Maps with it – we could be brought closer to the bad old days of Internet Explorer 6-style fragmentation.

Since you’re here …

Show your support for our mission with our one-click subscription to our YouTube channel (below). The more subscribers we have, the more YouTube will suggest relevant enterprise and emerging technology content to you. Thanks!

Support our mission:    >>>>>>  SUBSCRIBE NOW >>>>>>  to our YouTube channel.

… We’d also like to tell you about our mission and how you can help us fulfill it. SiliconANGLE Media Inc.’s business model is based on the intrinsic value of the content, not advertising. Unlike many online publications, we don’t have a paywall or run banner advertising, because we want to keep our journalism open, without influence or the need to chase traffic.The journalism, reporting and commentary on SiliconANGLE — along with live, unscripted video from our Silicon Valley studio and globe-trotting video teams at theCUBE — take a lot of hard work, time and money. Keeping the quality high requires the support of sponsors who are aligned with our vision of ad-free journalism content.

If you like the reporting, video interviews and other ad-free content here, please take a moment to check out a sample of the video content supported by our sponsors, tweet your support, and keep coming back to SiliconANGLE.