Hacker News new | ask | show | jobs
by greenhouse_gas 2925 days ago
It's because the language was made to compile to JS, and competition to JS, so appropriate tradeoffs were made.

For example:

1. JS is single-threaded, with extremely heavy threads only recently made available. So Dart is single threaded, with extremely heavy threads available.

2. JS is weak-typed, so Dart was made optional typed. Remember, it was made before typescript, so they probably didn't expect that such type-heavy features as ADT would interest people.

Kotlin does the same (for example, internal immutability would be much nicer, but since the JVM doesn't support that, neither does Kotlin).