Earlier quoted context omitted.
> Dart is a really _ugly_ language with lots of tiny annoyances. Its as if someone took worst parts of Java and Javascript and turned them into a language. Terrible to write, terrible to read, terrible to use. While I’m a bit ambivalent towards Flutter, I totally disagree with you on Dart. To me it’s a better version of Java/Typescript with a very mature cross-platform and JIT/AOT compiler. Admittedly there are some…
Yeah I have no idea how someone who has used all these languages can come up with a conclusion like Dart is “uglier”. I really want to know what exactly they think is ugly about it!
For example:
- Class constructors cannot be in definition headers, i.e. class Something(Int a, Int b)
- The whole final and const/static const mess
- required is annoying and really "slapped on"
- shorthand syntax is => instead of =, personal pet peeve
- positional, named and optional parameters segregation makes things noisy
- concurrency, in which an event loop sounds like a great idea but ends up causing pain with multi-threading and background work so you have to spawn diff isolates
- the whole `await fn()` vs `fn()` validity issue, where you can miss the await keyword and it still compiles is such a slap in the face. think now they solved it, but you could also have returns from non-return functions and vice-versa.
- `dynamic` and generics in the same language have caused many bad designs
- extension types also feel hacked on
- type inference is annoying and highly contextual vs out of the box
- Worst sin: DateTime.now() returns different things based on the platform its running on, making it highly unreliable for something so important