Skip to content

Thoughts on Dart vs Go vs Node

Evan edited this page Feb 8, 2015 · 1 revision

From my comment: https://medium.com/@evanxsummers/nodejs-55fe1cca38f6

JavaScript is the toughest competitor to Dart, and Go.

Go is the great new language for systems and services, for the cloud. It is designed to be a better systems programming language than C/C++. And it competes with Python and Java for many use-cases.

Go competes with Node for microservices for front-end apps. However where those are JavaScript apps e.g. using AngularJS or Ember.js, Node is a great fit. JavaScript is already familiar, and more accessible to web developers.

Go is fast, but Node's performance is also excellent, thanks to V8, and its efficient async approach.

Dart is designed to be a better JavaScript, more akin to Java. But JavaScript is evolving, and at least via AtScript and Traceur, is getting classes, annotations and optional typing, more akin to Dart. EcmaScript is likely to adopt TypeScript and AtScript "extensions" as a future standard for JavaScript. I imagine that V8 will support AtScript first, and that's fine for Node.

Incidently, hopefully V8 will support "deferred functions" early as well, which is important for Node's async programming model. This proposed EcmaScript feature is already supported by the Traceur transpiler, which is a good omen. TypeScript is also working on "async/await" functions. So neater async programming is in the pipeline for JavaScript, and Node even sooner.

<iframe width="560" height="315" src="//www.youtube.com/embed/lGdnh8QSPPk" frameborder="0" allowfullscreen></iframe>

JavaScript's evolution doesn’t bode well for Dart’s design goal. Better technologies commonly lose to the incumbent with broader support. JavaScript fits that bill.

JavaScript has all the third-party libraries in its toolbelt, and unfortunately Apple and Microsoft do not seem keen to integrate the DartVM into their browsers, at least not yet.

Hopefully Dart hangs tough for the long term, as Dart and AngularDart are wonderful. Chrome is on an upwards trajectory, and Android's global market share is humongous. That gives Google a quiver to support the adoption of Dart.

Will evolution trump revolution, for the web? Probably, I guess. For JavaScript’s evolution, we should praise Dart also.