logoalt Hacker News

brabeltoday at 11:40 AM2 repliesview on HN

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!


Replies

hypendevtoday at 2:31 PM

Mostly its the core syntax, it's terribly noisy. Also parts of the implementation itself. While I cannot enumerate the taste, I can give you some examples.

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

show 1 reply
anthropodietoday at 12:09 PM

They have written their own UI framework. Probably the reason they are biased against other frameworks