You might as well ask why Brendan Eich invented JavaScript.
Also quoting one of the project founders: "FWIW what we've seen in usability studies is that people who know JavaScript can pick up Dart without even noticing. (Literally, after an hour in a usability study we'd ask people what language they'd been using and they would respond with surprise, having not even noticed that it was a new language."
Whether it was a good idea or not I'll leave for you to decide, but the reason that they landed on is that the Dart VM allows for AOT compilation, which is required for iOS, while still being flexible enough to do Hot Reload.
I would like to consider it a beginning of something better.
If we want to prioritize a sound type system, why then go for a language that is for the most part Java but with no ecosystem, instead of something like Reason/OCaml, Haskell, PureScript which absolutely blow Dart out of the water as languages; or even if your number one priority is targeting Java devs with something more palatable, why not Kotlin even?
Why give artificial life to a language that was on its deathbed and brings absolutely nothing useful to the ecosystem yet will contribute to the amount of churn suffered in the industry?
Just start creating packages for this language and very soon you'll have a rich ecosystem too.
This is not an inherent characteristic of a language itself, it's something powered by the community and built over time.
The larger community is => the better ecosystem we get.
Re: lacking features. Feel free to submit a request here https://github.com/dart-lang/language
Dart team is already working on some nice additions to the language. If ADTs are something many community members are looking for, I'm pretty sure it'll be added.
> and brings absolutely nothing useful
Dart is a language that's predictable (no WATs), performant, has the best built-in tooling to facilitate quick iterative development, the best package manager and can be used to build web, mobile and desktop apps with high level of shared codebase between them.
It's not the best language by any means but it's already a good language. And it's getting better and better.
And yes, we can submit feature requests, and the language authors may and may not add them. I'd rather go for a language that further aligns with the expectations of a modern language from the start rather than plead with the authors to turn it into something it's not.
> Dart is a language that's predictable (no WATs),
Ok, so it beats the raw JS with no dev tooling development experience. That's the bare minimum.
> performant
Plenty of performant languages to go around, including many more performant ones.
> has the best built-in tooling to facilitate quick iterative development
What does it bring over any other language with a semi-decent REPL?
> the best package manager
You'll have to expand on this, it's a very bold claim.
> and can be used to build web, mobile and desktop apps with high level of shared codebase between them.
So can any compile to JS language, Kotlin, C#, Clojure, among others, and since you place so little value on ecosystem I'll throw a special mention to Idris in too, which can compile to performant JS, the JVM (no bridge necessary on Android), C (usable on iOS) and pretty much whatever; and almost guaranteed blows any other language you can name out of the water when it comes to modern features and being pragmatic.
It's a clutch on top of JS.
It wouldn't be native compiled code (which this says it is), and it would have a poorer language experience plus all the baggage that comes with JS.
>No one uses Dart
You'd be surprised.