3 ms·
"Never write specs"? I have to say, that some of the rhetoric from Mozilla seems a bit over the top. Mozilla doesn't seem to have had a problem dumping all kin
by cromwellian 15y ago
"Never write specs"? I have to say, that some of the rhetoric from Mozilla seems a bit over the top. Mozilla doesn't seem to have had a problem dumping all kinds of Javascript and CSS features into Firefox over the years not all of it making it into draft spec proposals.
And how could NaCL have been done any better? It's been publicly published for years prior to the first shipping implementation. If Mozilla was interested, they could have put in requests for how they'd like to see NaCl and Pepper changed to better fit a Firefox implementation, or even a counter-proposal for running untrusted native code. But I've seen no such proposals, instead, just a blanket refusal to even consider it. I think there's a philosophical difference such that Mozilla isn't really interested in anything that isn't JS based, so suggesting that bringing NaCL to the working groups would have changed anything is somewhat disingenuous. It's kind of like hoping that Republicans would contribute to a National Single Payer healthcare plan design if it had been brought to the right committee.
It's a shame really, because proprietary native mobile platforms are hurting the web, and consumers don't really care, they just want fast apps which don't kill their battery or phone performance. Something like NaCL for mobile could preserve the DOM, CSS, browser security model, and other good things about the web, but replace JS with something much more performant for games, and this would go a long way to hedging risk against the proprietary native platforms. I'll take portal NaCl C-code calling into browser APIs and WebGL any day over Obj-C code calling into Cocoa that can only be installed through an app-store.
If the Web is to be around for decades more, the religion over programming languages needs to give way to polyglotism.
As on Dart, the language was released at version 0.1. The grammar isn't all that complex, the library is minimalist. It came with a early spec and source. It is not a "fully developed" specification. No one designs language grammars by committee. Languages are highly personal and opinionated. Usually one or two people design the overall structure of the language privately, and then release an initial spec, and it evolves from there.
When Mozilla developed Rust, the first time most of the web heard of it was Graydon dumping a gigantic codebomb into GitHub and it being covered on Lambda-the-Ultimate.
Which I think is perfectly find, but let's try and be a little level headed and fair, and not arrogantly think that what Mozilla does is uniquely better than what others are doing.
(I speak only for myself and I do not work on Dart, NaCl, nor Chrome)
- haberman 15y agoIt is unfortunate that you have intermixed good points with unfair and untrue attacks against mbrubeck ("disingenuous", "arrogant"); I know Matt in real life and he is none of these things.
- cromwellian 15y agoI didn't accuse Matt being disingenuous, I accused Mozilla as a whole, primarily based on some of the comments of Brendan Eich when Dart was first released, because of somewhat contradictory statements.
- cromwellian 15y agoErr, on second reading, I can see how it reads like I'm personally accusing him, my apologies, it was not my intent.
- mbrubeck 15y agoNot a problem, I am not easily offended. :) I was careless in my own comments and I apologize for being combative.
- mbrubeck 15y ago"Mozilla doesn't seem to have had a problem dumping all kinds of Javascript and CSS features into Firefox over the years not all of it making it into draft spec proposals." Certainly, every vendor has been guilty here. I at least think that every extension Mozilla is currently encouraging use of is hoped to be a potential future standard. (And no, I'm not claiming this is unique -- some other vendors like Google are also good citizens in this regard.) I also agree that proprietary platforms are hurting the web, and that the web needs new abilities in order to fight the threat. However, to preserve the openness of the web, new features need to be things that more than one vendor has the resources and motivation to implement; even if Mozilla and Opera thought Dart or Pepper were great ideas, adopting them would put is on a treadmill where Google (with its much greater resources) controls the speed. And no, I am not claiming that Apple/Mozilla/Opera would have adopted Dart or NaCL if they were brought before the right committee at the right time. Part of getting early feedback means finding out if the community even thinks that your solution is something that's desired in the first place. "When Mozilla developed Rust, the first time most of the web heard of it was Graydon dumping a gigantic codebomb into GitHub and it being covered on Lambda-the-Ultimate." This is actually an interesting contrast between Mozilla and Google. The initial Rust code-dump was a barely-running proof-of-concept; it was shared with the world on the same day it was first shared within the Mozilla community. Zero lines of the current self-hosted compiler were written at the time. Most of the planned features (like the task system) were unimplemented. The first actual release (Rust 0.1 alpha) came a year and a half later, and that first release already reflected significant community feedback and contributions. For example, the packaging system in Rust 0.1 was written by a volunteer contributor who happens to be a Google employee. The stage of maturity at which Rust became open source was far earlier than Go. Some things really are different at a non-profit like Mozilla, and the goal of opening everything up as early as possible is one thing that's unique among tech companies I've worked for or with. We don't always do it perfectly, and we do struggle with the need for people to do some types of design and experimentation without the world looking over their shoulders, but it's very much a unique core principle that affects all of our work.