4 ms·
I would have wished a world where both the chromium project and Mozilla would collaborate to a unified JS compiler instead of having two separate implementation
by The_rationalist 7y ago
I would have wished a world where both the chromium project and Mozilla would collaborate to a unified JS compiler instead of having two separate implementations. How faster would have JS been? How more featureful and less buggy?
BTW chrome 78 will be released today too!
- eyegor 7y agoBut without their own js compiler, chrome couldn't randomly add/deprecate features! It's not like Mozilla existed first and was open source back when Chrome launched. Oh wait, it was open sourced 10 years before Chrome launched! So yeah, I blame greed. https://www.mozilla.org/en-US/about/history/ https://www.mozilla.org/en-US/about/history/
- SloopJon 7y agoOn the contrary, I'd say that competition has been good for all involved. For such a maligned language that was born in a little over a week, JavaScript is better and faster than it has any right to be. The amount of resources that have gone into improving JavaScript is amazing. I just wonder what some other languages would look like now with that kind of attention.
- eyegor 7y agoOnly a week? And I would slap python 3 right on top of that. Despite the language being inherently messy and fully dynamic (similar to js), there are tons of static analysis tools, compilers, alternate run times, IDEs, etc. Edit: the "only a week?" question was genuine, it wasn't meant to be tongue in cheek.
- astine 7y ago"There was a lot of internal pressure to pick one language as soon as possible. Python, Tcl, Scheme itself were all possible candidates. So Eich had to work fast. He had two advantages over the alternatives: freedom to pick the right set of features, and a direct line to those who made the calls. Unfortunately, he also had a big disadvantage: no time. Lots of important decisions had to be made and very little time was available to make them. JavaScript, a.k.a. Mocha, was born in this context. In a matter of weeks a working prototype was functional, and so it was integrated into Netscape Communicator." https://auth0.com/blog/a-brief-history-of-javascript/ https://auth0.com/blog/a-brief-history-of-javascript/ Looks like it was pretty quick but maybe not just one week. Looks like Python was actually considered, but bear in mind that this was 25 years ago. Python 3 certainly wasn't out yet and the available tool ecosystem was much more limited.
- BrendanEich 7y agoDo some elementary, Wikipedia-level research — Python was at 1.3 then if I recall correctly. As I’ve written many times, the management order was “make it look like Java”, so none of the languages you mentioned was practical. None was practical anyway in terms of portability and safety from Windows 3.1 to Mac CodeWarrior to a number of Unixes that still mattered to Netscape sales. See/hear also https://news.ycombinator.com/item?id=1905155 https://news.ycombinator.com/item?id=1905155. See also https://devchat.tv/js-jabber/124-jsj-the-origin-of-javascript-with-brendan-eich/ https://devchat.tv/js-jabber/124-jsj-the-origin-of-javascrip... — transcript below the fold.
- SloopJon 7y agoTake a look at this article from the IEEE Computer magazine: https://www.computer.org/csdl/magazine/co/2012/02/mco2012020007/13rRUy08MzA https://www.computer.org/csdl/magazine/co/2012/02/mco2012020... It links to a video interview with Brendan Eich: https://youtu.be/IPxQ9kEaF8c https://youtu.be/IPxQ9kEaF8c
- Orphis 7y agoSpeaking as a member of one of the many W3C working groups, I would say that it isn't desirable. When designing a standard, we want to have multiple competing implementations of the standard to ensure it is well defined and understood by users. Should there be one implementation, we wouldn't be able to say with confidence that we have succeeded for that goal.
- The_rationalist 7y agoYour argument is moot, nothing prevent V8 to make two competitive implementations of a feature. With mozilla ressources focused on not duplicating effort, they would even have resources for making 3 or 4 compretitive implementations per JS proposals.