6 ms·
Before TypeScript (fall 2012), Zef Hemel then at c9.io did static analysis for JS IDE diagnostics (mid-2012?), Dmitry Vardoulakis then grad-student-interning at
by BrendanEich 12y ago
Before TypeScript (fall 2012), Zef Hemel then at c9.io did static analysis for JS IDE diagnostics (mid-2012?), Dmitry Vardoulakis then grad-student-interning at Mozilla Research did DoctorJS (spring 2010, I think). And don't forget the Closure compiler from Google, but I'm not sure when that really got serious about static analysis -- perhaps after Google hired Dmitry. So no more than 15 years, not 20. ;-)
What's damning is the stagnation under the IE (convicted in the US) monopoly from late '90s through 2009 when ES5 was published. It's not as if Python 1.3 or whatever, if frozen in Netscape 2 amber, would have fared better if forked.
- dietrichepp 12y agoMy comment about 20 years was in response to a quote from the parent comment. But yes, that's a very good point. Very few languages have ever come out of the gate close to the mark. Early C# and Java were painful without closures, iterators, function pointers, or good performance. Which is why I'm glad to see things like TypeScript, Closure, and ES6, Traceur, etc. (and I'm less excited about Coffeescript and Dart). It's especially a good sign that Google is using TypeScript as a basis because it means we might not get siloed implementations and communities.
- lmm 12y ago> It's not as if Python 1.3 or whatever, if frozen in Netscape 2 amber, would have fared better if forked. Disagree. Python 1.3 was at least designed as a general-purpose programming language, with a variety of use cases, and took the best parts of existing languages (TCL and Perl) rather than having novel features that sorta-but-not-quite replace more conventional ones. It had its share of warts but nothing in Python 1.3 is as awkward as prototypal inheritance or javascript's scoping. IMO the biggest tragedy is Mozilla's unwillingness to put other languages in the browser. Dart was developed in public, far more of an open standard than the original JS, fixed language design problems that ES6 still isn't addressing, had an adequate approach to running in JS-only browsers, and would have added much less complexity to browser implementation (the reason given for rejection) than many standards that Mozilla has been happy to support.
- amyjess 12y ago> IMO the biggest tragedy is Mozilla's unwillingness to put other languages in the browser. Dart was developed in public, far more of an open standard than the original JS, fixed language design problems that ES6 still isn't addressing, had an adequate approach to running in JS-only browsers, and would have added much less complexity to browser implementation (the reason given for rejection) than many standards that Mozilla has been happy to support. It's also Google's failure to exploit their market position. Instead of using Dartium, they should've just integrated the Dart VM into mainline Chrome and began paying web developers to use Dart. Mozilla would then have no choice but to implement Dart or find their users complaining about not being able to access their favorite websites. On a similar note, it's kind of a shame that IE's support for VBScript never took off. Not because VBScript was a good language, but because it would've laid down a precedent for the web being a multi-language environment. Browser vendors would have developed pluggable scripting architectures to compete. Imagine if, say, every browser on Windows could have allow scripts written in, for example, everything offered by Windows Script Host (and I'm sure some equivalent architecture would have been developed for Mac and Linux -- maybe even something as simple as "any script that can be interpreted via a shebang line").
- BrendanEich 12y agoSee my reply just above. You ignore high costs of multiple engines, both intrinsic and inter-engine -- including, notably, a memory cycle collector of some sort, with its attendant write barrier costs. See Fil Pizlo on webkit-dev the other year: https://lists.webkit.org/pipermail/webkit-dev/2011-December/018811.html https://lists.webkit.org/pipermail/webkit-dev/2011-December/... As for your lamenting the lack of Machiavellian market power abuse by Google, it really is not clear that even Google can force Dart down others' throats, or its own throat. Rewriting JS code in Dart is a net lose, as far as I can tell. No Google property yet uses Dart, even with dart2js (I welcome correction). Ignoring the morality of such market-power shenanigans (hey, I was at Netscape, but I've paid my dues, and someone had to be "first" :-P), it is also not clear "Mozilla would then have no choice". Money AKA energy is not free; Mozilla can least afford follies; there is always an option to reject a neo-standard. Microsoft could not make VBScript stick in the '90s. I say this is signal, yet again. Multiple and mandatory HTML scripting languages exact high direct and indirect costs. Lack of such an outcome is not a conspiracy or tragedy. It's economics and evolution in action. Update: WSH, shebangs, wow. You forgot about security!