It's not dead,
it's, uh, resting. Seriously, though, it is on ice but we expect to get it going again (likely in a modified format) at some point in the future. I mentioned this a while back:
Right now, the Dart team is very focused on a few very big and interconnected things:
- Fully making the philosophical/technical/mental switch from a scripting language that runs from source in a VM in your browser to a general-purpose client side language that is compiled and targets a number of disparate platforms—web, Android, iOS, etc. It's how to understate how profound of a switch that is. The way your language is executed has deep implications all over the language design.
Dart was originally designed to run from source with no compile step, in a virtual machine that can do lots of runtime profiling, optimizations, and just-in-time code generation. Since the VM is not going into Chrome, every supported platform for Dart now has some sort of compilation process, and now that we care about iOS, we cannot rely on having a JIT. (Apple disallows runtime code generation on iOS.)
- Keeping our increasingly large userbase within Google happy and addressing their needs as their apps get bigger and bigger.
- Designing a Dart 2.0 that we think will be much more productive and successful and figuring out how to smoothly migrate users to it.
As you can imagine, that's a ton of work, and we don't have that much time to do it all.
A fully open process where you take copious meeting notes and every bit of communication gets enshrined in text has a lot of nice features, but it's also sloooooow. If I'm in a meeting and someone says, for example, "We need to figure out how to handle covariant overrides in Flutter." that's a single sentence that everyone in the room already gets. But if I put that in something like DEP meeting notes, now I have to explain to people what Flutter is and why it's a priority, what we mean by "covariant override", why Flutter is using it, why strong mode disallows it, other alternatives, etc.
Early on in the design process, a lot of stuff is sort of nebulous and vague and frequently changing, and formal processes don't handle that well. So, for now, we're trying to be agile and informal so we can get to a good place fast. But a side effect is that there isn't as much visibility. :(
Over time, as things get progressively more baked, we will ramp back up the formality and quantity of communication as well. By the time we have a pretty solid picture of Dart 2.0, my hope is that we're also back to a process along the lines of the DEP process (though ideally lighter-weight).
I think that lines up with what most other languages have done. Their language designers tend to get most of the foundations in place informally and off the record, often before the public knows the language even exists. Then they move to a more open and rigid process for incrementally evolving the language after that. I think processes like Python's PEP, Scala's DIP, Rust's RFC are good for that latter kind of small-scale stepwise evolution and we'll get back to that with Dart.
Cheers!
– bob