I've always had the hint that dart was a technological marvel, but then when i look at the dart language itself compared to today's language (rust & swift for example) i feel a bit underwhelmed.
And the worst part is what i feel was the first environment outside erlang to get real actor-like concurrency is now barely mentionning actors in its documentation. It looks like they dumbed down the recommended server architecture to event-loop style to make it more accessible, instead of going full speed on actors.
Please correct me if i'm wrong..
I am not a language designer myself, but I think "avoid overwhelming" was an explicit idea behind initial design of Dart. Yes, this led to a language that some might consider boring, but it also led to a language that a lot of people can easily pick up and use (with little surprise and reasonable amount of fun).
There are few things that I would like to have in Dart (ADT and pattern matching for example), but otherwise I actually think its a fun language to program in.
> And the worst part is what i feel was the first environment outside erlang to get real actor-like concurrency is now barely mentionning actors in its documentation.
Dart went through a lot of turmoil in the past few years, but now that this turmoil is over we hope to explore concurrency story again.
Dartino (which was a dialect of Dart targeting IOT devices) had really fun concurrency story centered around lean isolates, coroutines and fast message passing based on deeply immutable data and we think there might be something here that we could incorporate into Dart proper.