A stronger Dart for everyone
news.dartlang.orgI'm on the Dart team.
The headline isn't very explicit, but I think this is pretty exciting. What this means is that we are taking the previous unsound optional type system and replacing it with a sound static type system.
Even though strong mode is sound and mandatory, the language still has much of the flexible feel it had before. The folks who designed the type system did a fantastic job on the inference engine. Having a few million lines of existing optionally-typed code that needed to gracefully migrate into strong mode certainly helped too.
Honestly, this baffles me. If I just wanted a language with a static type system, I could already have my pick of the litter, and Dart as a language doesn't really have any unique selling points outside of gradual typing.
On top of that is the problem that Dart's type system – at least as it stands right now – is pretty weak (another point against it vs. other statically languages). I feel like I'd be getting a watered-down Java/C#. That was okay so far, because gradual typing allowed you to work around the problems in the type system. But with mandatory strong mode, that makes answering "why Dart?" much harder now.
does this mean optional typing, is no more? why?