Conversation

language design is freaking hard: I really wish Dart 1 did not try to be *soooo* simple and familiar, we would not spend years digging us out of the hole initial design has put us in
10
134
- focus on optional typing instead of static typing with dynamic escape hatch - implicit downcasts - covariant generics - lack of things like pattern matching / ADTs - conservative C-like syntax decisions just to name a few
4
46
I can see how Dart ended with types where they are - original designers probably did not care (and did not foresee that it makes some syntax changes harder in the future). It's not like having types on one side or another makes you 10x more productive.
3
3
Could they have also guessed that types – especially complicated types – would be a less-common and less-desirable in real world code? So readability in those cases would have been less important to them, and possibly even a cause for syntactic salt?