Skip to content

Instantly share code, notes, and snippets.

@azenla
Last active August 29, 2015 14:16
Show Gist options
  • Save azenla/23362bc2413cecfa47db to your computer and use it in GitHub Desktop.
Save azenla/23362bc2413cecfa47db to your computer and use it in GitHub Desktop.
My arguments for why Dart is the way to go.

Dart

There is a lot of controversy surrounding Dart, and I feel like this should be cleared up. Here I will display my arguments for why Dart is the way to go and answer some false concerns about Dart.

The Dart VM is fast

Dart's Virtual Machine is one of the fastest VMs out there to this day, at least with a language that is as powerful as Dart. Here is why it is fast:

  • It's not a bytecode VM, it's a source-based VM. This means that the VM doesn't have code that doesn't pertain to the language of Dart. You might say: well how does Dart optimize? The answer: It's able to perform more optimizations because it is optimizing at runtime, where it has much more information about what is actually going on.
  • It has SIMD support. This allows Dart to run operations on data very quickly.
  • It does not have shared memory. This not only reduces the amount of bugs in your code, it also keeps Dart from having to deal with concurrent access and other such issues. It offers an alternative: Isolates. These are completely separate VM heaps that can communicate with your program through message passing.
  • It is able to backout of optimizations if it decides it's not helping.

See it for yourself

Dart has a very small learning curve

Dart is similar to most popular languages out there. This allows people to quickly get started with it.

Common Misconception: It's intended to replace JavaScript

Dart was NEVER intended to replace JavaScript. It does however have one goal, give the developer a choice. A lot of people see Dart as useless now that ES6 is out. This is not true, Dart is still relevant. There are still major issues with JavaScript, that cause the developers pain and cause the engine to be slower. The fact remains that JavaScript is not going away, and this is good, because developers should have choice.

Common Misconception: Everyone hates it

This is simply just wrong. In reality people who try Dart with intentions on actually wanting to understand it, usually love/like it. In the Technology world, there exists a strong side-picking effect. This is a problem that must be solved at some point. Will there be people who hate Dart? Of Course. The big question comes in this: Have they actually ever tried it?

Common Misconception: Dart is barely supported by Google

As Seth Ladd and others have pointed out multiple times, Google is very comitted to Dart. Google uses it for business-critical applications and workflows, including Google Shopping Express, Google Fiber, and Google Ads.

Common Misconception: Google favors Go to Dart

Go and Dart are two completely different languages and with this, comes a different purpose. Dart is intended to run on both the browser and server, while Go is a pure systems programming language. Dart is more of a high-level programming language while Go gets you working with the low-level of the system. Remember, it's your choice, not the 'popular choice', that matters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment