My Dart journey so far

16May21

Dart is the main programming language we use at The @ Company, and so it’s becoming something that I’m frequently talking to people about.

I first heard about Dart chatting with Derek Collison about Go after the FITE club meeting that Alexis Richardson brought him along to when he was over doing due diligence on RabbitMQ for the VMware acquisition. It wasn’t that long after he’d left Google, and before Docker, Cloud Foundry etc. (so before Go really took off).

And then it vanished from view. Go got all the traction in the infrastructure software space. This is why I sometimes joke about Dart being ‘the ginger cousin’. And then Flutter came along and started pushing Dart up the language rankings.

And then Flutter 2 dropped, adding web and desktop to the Android and iOS targets. And Canonical are jumping in with the new Ubuntu installer, and suddenly this is the train that it seems everybody is jumping onboard.

I was chatting to Justin Cormack about Dart over the past couple of weeks, and his observation is that it’s quite Erlang like. The choice between ahead of time (AOT) native compilation and just in time (JIT) provides for some interesting trade offs between startup time and long term runtime performance.

Async/await and callback handling is very JavaScript. But there’s strong types, like Typescript. There’s no static linking like Golang, but the system library dependency layer is VERY thin (~2MB). And there’s an actor model built in, and isolates.

The pub.dev package manager is one of the least bad I’ve seen (though it’s still possible to end up in that Gem thing of different chunks of code insisting on different versions of deps).

Interesting Features of the Dart Programming Language‘ by Renato Athaydes provides more detail, and I also like this ‘Introduction to Dart VM‘ by Vyacheslav Egorov (more on my Dart pinboard tag).

My most recent adventure with Dart has been ‘Running Dart on Arm Servers‘, but you can get started in the browser with ‘DartPad’ tutorials.



No Responses Yet to “My Dart journey so far”

  1. Leave a Comment

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.