Standardization process abandoned?

126 views
Skip to first unread message

Benjamin Strauß

unread,
Aug 5, 2016, 8:14:46 AM8/5/16
to Dart Core Development
Hi,

I noticed these two issues on github (https://github.com/dart-lang/sdk/issues/26655https://github.com/dart-lang/sdk/issues/26644). Both did not go through the 'dep' standardization process. Also, proposals that have been accepted, like generalized tear-offs, even went into the specification but are not implemented.

Is the 'dep' process dead? Does the specification have any relevance anymore?

Thanks

Bob Nystrom

unread,
Aug 5, 2016, 2:07:51 PM8/5/16
to Benjamin Strauß, Dart Core Development
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:
  1. 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.)

  2. Keeping our increasingly large userbase within Google happy and addressing their needs as their apps get bigger and bigger.

  3. 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


--
You received this message because you are subscribed to the Google Groups "Dart Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.

Patrice Chalin

unread,
Aug 5, 2016, 3:15:03 PM8/5/16
to Dart Core Development, benm...@gmail.com
Thanks for all that background information Bob. It is good to get an update on what has been happening beyond the open source horizon.
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+u...@dartlang.org.

Benjamin Strauß

unread,
Aug 6, 2016, 11:51:35 AM8/6/16
to Dart Core Development, benm...@gmail.com
Thanks Bob!
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+u...@dartlang.org.

Matthew Butler

unread,
Aug 8, 2016, 9:12:06 AM8/8/16
to Dart Core Development, benm...@gmail.com
One thing I've been curious about. Dart went through a not insignificant amount of work to become standardized. It seems lately that the desire to become standardized was less beneficial than anticipated (eg still didn't get support from other vendors). Obviously since the amount of work towards a Dart 2.0 that's going on behind the scenes is happening, well behind the scenes, it's not affecting the ECMA standard. Are there plans to totally abandon the standard or to port Dart 2.0 to a standard as well?

Personally I've been involved with Dart since prior to M1 (let alone 1.0), so I rather miss the fast pace that Dart evolved at during the early times. I'm not devoted to a 'standardized' Dart, but equally I know it was a big concern in the past for the team, so I'm curious where it stands now and in the future?

Matt
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+u...@dartlang.org.

Anders Sandholm

unread,
Aug 8, 2016, 10:41:46 AM8/8/16
to Matthew Butler, Dart Core Development, benm...@gmail.com
Hi Matthew,

Yes, we'll continue to update both the spec and the Ecma standard.

There is currently very little overhead (mostly process) in updating the standard since we're keeping the spec updated anyhow.

Cheers,
Anders (in this case wearing both the hat of Dart Product Manager and Ecma TC52 Chairman)

To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.



--
Anders Sandholm | Product Manager Google Ads & Commerce | Lead PM for Dart

Anders Thorhauge Sandholm,
Product Manager, Google Denmark
CVR nr. 28 86 69 84

Samuel Schwebel

unread,
Aug 12, 2016, 9:03:48 AM8/12/16
to Anders Sandholm, Matthew Butler, Dart Core Development, benm...@gmail.com

Very nice to receive Dart news about future! Thanks for sharing Bob and Anders! How Dart many others use, beyond Google staff, it would be interesting we have periodic news in this way, talking about what was done and what is planned to do. An important question about the future of Dart. I notice that the emphasis is for the client side (web, apps, iot), which in fact is very important. However, to have high productivity with full stack in the language / libraries / tools understand that the server side would need special attention. Some issues need to be addressed: - Transactions distributed (web service orchestration and database) - Management of asynchronous messages - API Standard Specification for database access drivers. - Concurrency (threads) - Libraries for mapping data types: Object <-> Table, json <-> Table, json <-> object, json <-> xml, etc .. - etc. server side needs.
This really would be a great advantage. Dart powerful on both sides, client and server.  


To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+u...@dartlang.org.



--
Anders Sandholm | Product Manager Google Ads & Commerce | Lead PM for Dart

Anders Thorhauge Sandholm,
Product Manager, Google Denmark
CVR nr. 28 86 69 84

--

Natalie Weizenbaum

unread,
Aug 12, 2016, 4:19:23 PM8/12/16
to Samuel Schwebel, Anders Sandholm, Matthew Butler, Dart Core Development, benm...@gmail.com
All of those issues (except maybe threading) seem like really good opportunities for community members to work on. They don't require language-level changes so much as clever package/protocol design, which is where community involvement tends to shine brightest. The Dart team is mostly focused on areas where centralization is most effective—designing the language, working on its implementations, and working on the core tools and frameworks. But a couple dedicated community members could totally release a package that defines a standard database API all on their own.

To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.



--
Anders Sandholm | Product Manager Google Ads & Commerce | Lead PM for Dart

Anders Thorhauge Sandholm,
Product Manager, Google Denmark
CVR nr. 28 86 69 84

--
You received this message because you are subscribed to the Google Groups "Dart Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.

--
You received this message because you are subscribed to the Google Groups "Dart Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.

kc

unread,
Aug 26, 2016, 9:16:03 AM8/26/16
to Dart Core Development, benm...@gmail.com
I think collaboration is vital. Have individuals from the Dart, Flutter/Fuchsia and Angular/Ads team had say a workshop  on Dart 2.0?

*Rough* notes on this would be useful. You get feedback from outside the Googleplex. 

K.
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+u...@dartlang.org.

Anders Sandholm

unread,
Aug 26, 2016, 9:41:32 AM8/26/16
to kc, Dart Core Development, Benjamin Strauß
Hi Kevin,

Thanks for your mail. I agree, collaboration is great and the more valuable feedback we can get from core users - both internally and externally - the better.

Internally, this is a continuous process. We're meeting with, e.g., the Flutter and Ads teams frequently. Discussing the future development of Dart as well as many other aspects. I'm sorry to say that right now it is just too risky and painful to extract the essence of all these conversations wrt. language evolvement that can be shared in its current state.

That said, I would like to share with you the planned direction of Dart and proposals that have solidified somewhat as soon as we can. So I'll have to ask for your patience and hope that you stay tuned.

-Anders 


To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.



--
Anders Sandholm | Product Manager Google Ads & Commerce | Lead PM for Dart

kc

unread,
Aug 27, 2016, 10:02:14 AM8/27/16
to Dart Core Development, kevin...@gmail.com, benm...@gmail.com
Anders,

Thanks for the response.

The reason I'm so interested is that the Dart 2.0 opportunity - Flutter/Fuchsia alongside an Angular 2.0 liberated from the TS constraint - is more exciting the Dart 1.x opportunity.

Twenty years since Java and JS - Dart has an opportunity to be the lang for the next couple of decades.

If Google can pull together disparate tech - web, mobile, 'instant apps', gRPC etc -  into something cohesive - devs will be all over it.

K.
-Anders 


To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+u...@dartlang.org.



--
Anders Sandholm | Product Manager Google Ads & Commerce | Lead PM for Dart

Dan Grove

unread,
Aug 27, 2016, 10:29:17 AM8/27/16
to kc, Dart Core Development, benm...@gmail.com
On Sat, Aug 27, 2016 at 7:02 AM, kc <kevin...@gmail.com> wrote:
Anders,

Thanks for the response.

The reason I'm so interested is that the Dart 2.0 opportunity - Flutter/Fuchsia alongside an Angular 2.0 liberated from the TS constraint - is more exciting the Dart 1.x opportunity.

I totally share this excitement, and for all of these reasons! We're doing our best here, and will have more as soon as we reasonably can.
To unsubscribe from this group and stop receiving emails from it, send an email to core-dev+unsubscribe@dartlang.org.

Reply all
Reply to author
Forward
0 new messages