Microsoft endorses JavaScript (except when they need to get work done)

This post from the JavaScript team at Microsoft endorses JavaScript evolution as the basis of the future web, and criticizes the “clean break” of Dart. It also reveals Script#, Microsoft’s equivalent to GWT, used to write “hundreds of thousands” of lines of code in their Office Web Applications. This is hypocrisy. They endorse JavaScript while finding it unusable for their own mission critical work. Many of the touted benefits of Script# are based on static typing, and will not be possible in future JavaScript till they add type guards (currently slotted for ES7 == JS.next.next). The ES committee is doing a valiant job of evolving the language (and has some really good ideas worth stealing), but it is going to take time. That fact and the unfortunate history of political dysfunction over JavaScript means we need to seriously consider alternative approaches like Dart.

6 Replies to “Microsoft endorses JavaScript (except when they need to get work done)”

  1. What we need is a simple and portable bytecode specification so everybody can use the language they want.

    And no, javascript is not a good target language.

  2. As far as I can tell, Microsoft didn’t announce anything, very confusing. What I will say is that there is a big difference between defining a new language like Dart that is Javascript compatible but will need its own libraries (ecosystem) to survive, and just enhancing (or wrapping via transformation) Javascript with N features that still feeds into the existing Javascript ecosystem of libraries; its not hypocrisy just a different approach.

    Scala was very similar. It could leverage Java libraries, of course, but encouraged new libraries that used Scala’s specific abstractions, effectively forking the Java and Scala ecosystems. Groovy is very different: it doesn’t really need its “own” libraries and therefore the ecosystem isn’t forked. Both approaches are different and have their merits.

  3. Don’t you think Dart is too bloated and lacks some features?

    There is already an alternative called haXe. It has got more concise feature list and syntax. The syntax is less Java in a good way. Overall it’s a good language for fans of classic OOP with classes, interfaces etc. but it also supports functional programming on par with javascript.
    http://haxe.org

    Also an interesting but not real development proven alternative is Roy. It’s one of the many “experimental” languages which improve the original JS syntax and compile into rather readable JS code. It has got types with types inference too but otherwise the syntax and style are very Functional ala Haskell without any syntactic sugar for classes.
    http://roy.brianmckenna.org/

  4. “That fact and the unfortunate history of political dysfunction over JavaScript means we need to seriously consider alternative approaches like Dart.”

    I agree, it’ll be interesting to see how Dart progresses but I already like some of what I see and the epically slow progress of JavaScript has to give Dart a greater chance of gaining mind share.

Comments are closed.