Slashdot Mirror


TypeScript: Microsoft's Replacement For JavaScript

mikejuk writes "Everyone seems to have a replacement for JavaScript — Google even has two. Now Microsoft has revealed that Anders Hejlsberg, the father of C# among other languages, has been working on a replacement and it has released a preview of TypeScript. The good news is that it is compatible with JavaScript — you can simply load JavaScript code and run it. JavaScript programs are TypeScript programs. To improve on JavaScript, TypeScript lets you include annotations that allow the compiler to understand what objects and functions support. The annotations are removed by the compiler, making it a zero overhead facility. It also adds a full class construct to make it more like traditional object oriented languages. Not every JavaScript programmer will be pleased about the shift in emphasis, but the way it compiles to a JavaScript constructor is fairly transparent. At this early stage it is difficult to see the development as good. It isn't particularly good for JavaScript developers who already have alternatives, and it isn't good for C# developers who now have confirmation that Ander Hejlsberg is looking elsewhere for his future." Update: 10/01 20:34 GMT by U L : It's also freely available under under the Apache 2.0 license, and there's a language specification available. It looks pretty interesting: it even has ML-style type inference (including e.g. deducing the types of higher order functions).

488 comments

  1. Embrace, Extend, Extinguish by turgid · · Score: 1, Insightful

    JavaScript programs are TypeScript programs.

    'Nuff said.

    and it isn't good for C# developers who now have confirmation that Ander Hejlsberg is looking elsewhere for his future.

    It's C++ all the way down!

    1. Re:Embrace, Extend, Extinguish by shutdown+-p+now · · Score: 1

      How exactly do you "extinguish" something that's free, open source and cross-platform from the get go?

      (yes, TypeScript is all three)

    2. Re:Embrace, Extend, Extinguish by DarwinSurvivor · · Score: 1

      By creating a not-so-compatible implementation and getting it installed on millions of computers.

    3. Re:Embrace, Extend, Extinguish by Billly+Gates · · Score: 1

      Actually IE 10 is the most ECMA compliant browser in existence! I had a link too (lost it) and submitted an article on this in the firehouse. It got reject, gee can't imagine why :-)

      IE 10 =! IE 6. As long as Microsoft honors standards to compete against Webkit and Firefox I see no problem with adding them if they are opensource. As AJAX is maturing we need to develop that further. ... now if MS does an IE 6 and cripples javascript or changes it so these new better standards are required and ECMA javascript is required for other browsers, plus ancient MS jscript for IE 8 and earlier than yes that would be assholish and evil. That is not the case.

    4. Re:Embrace, Extend, Extinguish by shutdown+-p+now · · Score: 2

      That still doesn't make any sense. There's no implementation to install here - TypeScript compiler outputs portable, standards-compliant JavaScript code that runs the same on any browser (and also Node.js etc).

    5. Re:Embrace, Extend, Extinguish by exomondo · · Score: 1

      By creating a not-so-compatible implementation and getting it installed on millions of computers.

      How does that apply to typescript?

    6. Re:Embrace, Extend, Extinguish by squiggleslash · · Score: 1

      Dude, it's quite simple. It's Microsoft!!! ARGH!!! Noooo!!!

      Remember, Microsoft used underhanded business dealings to kill OS/2. Therefore, twenty years later, everything it does must be eeeeeeeeeeeeeeeeeeeeeeeeeeevil.

      --
      You are not alone. This is not normal. None of this is normal.
    7. Re:Embrace, Extend, Extinguish by turgid · · Score: 1

      What you do is introduce this new "free" and "open" language that compiles down to another ubiquitous language. The new language is convenient and saves people a lot of time.

      Then people get to thinking, "Why bother compiling to another language when you can directly target the virtual machine and runtime environment that that language runs on?" Sounds reasonable, doesn't it?

      Now, I'm not a web developer (thank $DEITY), but there are many (slightly incompatible) implementations of JavaScript, and they are all implemented differently, i.e. they all have different bytecode interpreters/JITs and so forth. Now supposing you were the author of this particular language and the author of a certain very popular web browser, you could do this quite easily for your particular web browser, and none of the competing ones. You would thus make your browser (probably) the most fast and efficient one at running this particular language.

      People like to have "the fastest" whether they need it or not, and due to human nature, speed usually trumps other considerations like compatibility and reliability, so you've just made your platform more popular. People are now hooked.

      Once you have people hooked and your market share is increasing, you can start making proprietary "enhancements" to your implementation of the language and run-time deliberately incompatible with everyone elses'. Note that your implementation of the language was originally distributed under a license (Apache) which doesn't require you to distribute source code with any changes, so you can choose to keep "enhancements" secret and proprietary any time you like, and you can throw in the odd patent or two for good measure for those enhancements.

      I've been around since IBM was the Evil Empire. I saw them fall to Microsoft, and I've seen all of Microsoft's dirty tricks. I switched to Linux when Windows 95 came out.

    8. Re:Embrace, Extend, Extinguish by shutdown+-p+now · · Score: 1

      What you do is introduce this new "free" and "open" language that compiles down to another ubiquitous language. The new language is convenient and saves people a lot of time.

      Then people get to thinking, "Why bother compiling to another language when you can directly target the virtual machine and runtime environment that that language runs on?" Sounds reasonable, doesn't it?

      Now, I'm not a web developer (thank $DEITY), but there are many (slightly incompatible) implementations of JavaScript, and they are all implemented differently, i.e. they all have different bytecode interpreters/JITs and so forth. Now supposing you were the author of this particular language and the author of a certain very popular web browser, you could do this quite easily for your particular web browser, and none of the competing ones. You would thus make your browser (probably) the most fast and efficient one at running this particular language.

      It does indeed sound very reasonable, and this is in fact precisely what Google does with Dart - they have a Dart-to-JS compiler, but they're also working on native support for Dart directly in Chrome, which will be better and faster. I'll be eagerly waiting for your post debunking their attempt to "embrace, extend and extinguish".

      With TypeScript, on the other hand, people have specifically asked if there will be special support for it in IE. And the official answer is no.

    9. Re:Embrace, Extend, Extinguish by turgid · · Score: 1

      It does indeed sound very reasonable, and this is in fact precisely what Google does with Dart - they have a Dart-to-JS compiler, but they're also working on native support for Dart directly in Chrome, which will be better and faster. I'll be eagerly waiting for your post debunking their attempt to "embrace, extend and extinguish".

      I'm not a google apologist either, so sorry to disappoint you.

  2. Full classes? by Anonymous Coward · · Score: 0, Troll

    Doesn't JavaScript have a better system altogether? Prototypical inheritance?
    Classes feel awful in comparison.

    And doesn't the next revision have support for classes? I keep forgetting the name of it, H s... oh Harmony?
    I'm sure Harmony has a lot of things planned to extend the language massively to bring it up to standards even comparable to other languages.

    Regardless, any and every attempt to expand on things is always good.
    Yes, even if it is Microsoft. They gave you the website you are using now, remember. (unless you are in the 80s using some text browser)
    Competition will hopefully lead to quicker implementations of a much better language overall.

    1. Re:Full classes? by Anonymous Coward · · Score: 0

      I'm not even gonna go into the server-side JavaScript.

      It sure is. Many have come and many have faded in efforts to outdo/replace JavaScript. The single most impact is by Chrome V8, because it improved the performance of the JavaScript engine and NOT change JavaScript the language.
      UI, esp. good Web UI, is very hard. It's not for pussies and JavaScript is not to blame.

    2. Re:Full classes? by spongman · · Score: 1

      if prototypical inheritance is so great, why does almost everyone write a class-like wrapper around it to make it useful?

    3. Re:Full classes? by chromatic · · Score: 3, Informative

      v8 (and other optimized JavaScript implementations) have decent performance despite JavaScript the language.

    4. Re:Full classes? by MightyYar · · Score: 1

      if prototypical inheritance is so great, why does almost everyone write a class-like wrapper around it to make it useful?

      Probably because they haven't read this.

      if (typeof Object.create !== 'function') {
          Object.create = function (o) {
              function F() {}
              F.prototype = o;
              return new F();
          };
      }
      newObject = Object.create(oldObject);

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    5. Re:Full classes? by aztracker1 · · Score: 2

      Because they don't understand how prototype based inheritance chains work, or how to utilize functional programming techniques. When you add event driven callbacks, along with non-class based structures in JS, it can be very elegant, and with Node.js + async, far more performant than other solutions..

      --
      Michael J. Ryan - tracker1.info
    6. Re:Full classes? by Anonymous Coward · · Score: 0

      Because most people fail to drag their puny minds away from torturous years of C and C++ and the many mistakes they have brought.

      Where are classes in Lisp?

      btw, I challenge your assumption: jQuery doesn't have any class-like wrappers (jQuery UI sorta does, but that isn't the point of the jquery UI widget object). I am unaware of any in underscore either. Or Backbone, or Socket.io (or most other node libraries) or Ace or anywhere in Firefox ...

    7. Re:Full classes? by spongman · · Score: 1

      ugh, Crockford considered harmful.
      1) it's not compatible with ES5.
      2) it doesn't handle overridden methods/constructor
      3) you can't efficiently & cleanly get private/protected members
      4) it misses the point, just because you can do all these clever things with prototypes doesn't mean that you should.

      exposing the mechanics of all this stuff to the programmer is a disaster - it results in reams of confused questions on stackoverflow, and tools that need to solve the halting problem.

    8. Re:Full classes? by mrbester · · Score: 1

      Or they read the first three paragraphs and go "I don't get it and I want to use OO like those C++ guys" and deliberately choose to ignore probably the most useful aspect of JavaScript.

      --
      "Wait. Something's happening. It's opening up! My God, it's full of apricots!"
    9. Re:Full classes? by Anonymous Coward · · Score: 1

      Really...

      Coming from you? A rather significant contributor to Perl (enough that I recognize your name instantly)?

      Sure there are certain pain points. Every language has its ugly spots that make optimization difficult, but a large amount of the performance improvements that have come in recent years have nothing to do with the language syntax of javascript but rather the concepts of doing things like function inlining and in-execution-code-analysis (doing things like deciding if a particular function is "pure" and then caching calls and outputs) and profiling have come from years of academic research and corporate R&D. Many of these recent compiler optimizations had little to do initially with JS, the concepts were just applied there after being researched and developed elsewhere (take note even though all of the JS engines have gotten faster in the past few years, they are not applying the same optimizations; implying that there are still many roads untraveled and that said optimizations are not entirely dependent of the language design).

      There is a reason why a notable number of the people who write compilers hold advanced degrees and even work in academics. These are not simple CRUD applications. Much of the most advanced computer science goes into writing these.

      (btw, note that those pain points are still slow in comparison in both Perl and JS)

    10. Re:Full classes? by spongman · · Score: 1

      it may be the 'probably the most useful aspect', but it's still a leak of the implementation details of a half-baked feature.

      how many of 'those C++ guys' are raving about how cool it is to mainpulate **this in your constructor? none. why not? because it's foolish and the language already provides rich abstractions for many of the sensible things you could do there, and more importantly prevents you from doing most of the idiotic things. same reason most of the 'compile-to-javascript' languages, as3, JIT engines, etc... either forgo the prototype chain entirely or de-emphasize it.

      javascript doesn't, of course, do this. it says - look we're going to do half of the work for you, if you want something more you have to implement it yourself, here's the tools. watch your feet, though.

    11. Re:Full classes? by spongman · · Score: 1

      i fail to see how any of that has anything to do with or is limited to prototype chains, except maybe performance where it can only hurt.

      function programming techniques don't require prototype-based inheritance.
      event driven callbacks, async, neither.

    12. Re:Full classes? by shutdown+-p+now · · Score: 3, Informative

      Doesn't JavaScript have a better system altogether? Prototypical inheritance? Classes feel awful in comparison.

      These classes are just syntactic sugar, and are fully defined in terms of prototypes and constructor functions. The exact translation is detailed in the language spec, but it's easier to just go here and see how exactly it maps TS code to JS code, live, as you type it. Here's a simple example with inheritance

      class Base {
          x: number;
          constructor(x: number) { this.x = x; }
          foo() { return this.x; }
      }
       
      class Derived extends Base {
          foo() { return super.foo() }
      }

      translates as follows:

      var __extends = this.__extends || function (d, b) {
          function __() { this.constructor = d; }
          __.prototype = b.prototype;
          d.prototype = new __();
      }
      var Base = (function () {
          function Base(x) {
              this.x = x;
          }
          Base.prototype.foo = function () {
              return this.x;
          };
          return Base;
      })();
      var Derived = (function (_super) {
          __extends(Derived, _super);
          function Derived() {
              _super.apply(this, arguments);
       
          }
          Derived.prototype.foo = function () {
              return _super.prototype.foo.call(this);
          };
          return Derived;
      })(Base);

      As you can see, it's all fairly idiomatic JS.

      Furthermore:

      And doesn't the next revision have support for classes? I keep forgetting the name of it, H s... oh Harmony?
      I'm sure Harmony has a lot of things planned to extend the language massively to bring it up to standards even comparable to other languages.

      Indeed it does, and TypeScript classes are directly borrowed from there. Furthermore, the team has said that they will keep tracking ES6 (since it's still a draft), and amending TS accordingly so that their class syntax and semantics remain in sync.

    13. Re:Full classes? by chromatic · · Score: 4, Informative

      Coming from you?

      I know a little bit about compilers.

      Every language has its ugly spots that make optimization difficult...

      "Every number is a float" is one of them in JavaScript. "All objects are associative arrays" is another. "Object prototypes are mutable everywhere" is yet another.

      ... a large amount of the performance improvements that have come in recent years have nothing to do with the language syntax of javascript...

      Some, yes, but many also come from tracing the flow of data as the program runs to figure out which pessimizations inherent to the semantics of JavaScript it's safe to undo. That's why modern JavaScript JITs work so hard to perform side exits with their guard clauses to produce code that runs in as straight a line as possible. Ask Jim Blandy about it sometime.

      Perl would have to do similar optimizations. So would Python. So would Ruby. (It's instructive to talk to the people behind Rubinius and Unladen Swallow, if not people who've spent years optimizing Smalltalk implementations.)

    14. Re:Full classes? by aztracker1 · · Score: 1

      I was answering"if prototypical inheritance is so great, why does almost everyone write a class-like wrapper around it to make it useful?"

      Then, adding that JS can be very powerful as-is. The biggest reason you see class abstractions in JS, is that people aren't able to think outside of an OO/Class hierarchy box.

      --
      Michael J. Ryan - tracker1.info
    15. Re:Full classes? by Toonol · · Score: 1

      Sorry; accidentally modded 'redundant', so I'm posting to undo. (... was aiming for 'interesting'...)

    16. Re:Full classes? by Jack9 · · Score: 1

      > The biggest reason you see class abstractions in JS, is that people aren't able to think outside of an OO/Class hierarchy box.

      That's a cute theory that is thrown around. OOP has shown (in my experience) to be the most effective way to collaborate on large projects. I have my own theories as to why. If there was MORE than just a vast anecdotal consensus (i.e. evidence) one way or the other your comment should be citing that.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    17. Re:Full classes? by mrbester · · Score: 1

      True, this can be an elephant trap for beginners but this is the problem. People think that JavaScript is easy due to its accessibility (anyone can hit F12 and type into the console, jQuery and plugins are everywhere; it is usually in recruitment ads) and so rarely bother to actually learn the nuances. Then they complain when things don't work how their limited knowledge assumes it will.

      This isn't to say that there aren't dumb things going on under the hood occasionally.

      --
      "Wait. Something's happening. It's opening up! My God, it's full of apricots!"
    18. Re:Full classes? by spongman · · Score: 1

      exactly. Javascript has leaky and dangerous abstractions that buy you nothing and only confuse - it's poorly designed.

      and don't even get me started on semicolons.

    19. Re:Full classes? by spongman · · Score: 1

      The biggest reason you see class abstractions in JS, is that people aren't able to think outside of an OO/Class hierarchy box.

      codswallop.
      that's like saying that you see so many C programs because people aren't able to code in assembly.
      no.
      people stopped writing assembly and started writing more C for exactly the same reason that C was created in the first place - there's a better way to do it.

    20. Re:Full classes? by DragonWriter · · Score: 1

      if prototypical inheritance is so great, why does almost everyone write a class-like wrapper around it to make it useful?

      Because almost everyone (really, almost everyone writing software) has spent lots of time working with class-based OO, and the "almost everyone" you refer to (which isn't anywhere close to almost everyone) wants to help the real almost everyone referred to previously by making things familiar for them.

    21. Re:Full classes? by DragonWriter · · Score: 1

      OOP has shown (in my experience) to be the most effective way to collaborate on large projects.

      Object-oriented analysis and design may be important to collaboration on large projects, but OOA&D doesn't require class-based OOP at the language level.

    22. Re:Full classes? by spongman · · Score: 1

      Exactly. Thanks for clarifying my point.

    23. Re:Full classes? by aztracker1 · · Score: 1

      Documenting large projects with OO doesn't require OO paradigm... you can declare structured object models as self-documenting JSON, and identify process points that interact with or return these models... JSON based web services can be fairly well integrated, and far simpler to interact with than the ws-* or other more OO level services. As far as code integration, larger JS projects can utilize something like TS for generating a lot of the interaction models, or as demonstrated, extending the IDE while maintaining compatibility... IMHO, this is mainly to make VS2012 the best tool available for developing for Node.js ...

      --
      Michael J. Ryan - tracker1.info
    24. Re:Full classes? by Pherdnut · · Score: 1

      I'm not really seeing how that analogy works. Prototypal inheritance is newer as a phenomenon than class-based AFAIK. I really don't see what the fuss is though. JS is meant to be highly flexible. That means more granular control over how things work with more mutability and less of the inevitable-idiots-on-excessively-large-teams paradigm. I can do a lot of things with them that I can't with classes and I can emulate classes if I cared to. I've been at it for a few years now, have bothered to become literate in a couple other languages, and I really don't see the massive advantage classes have over prototypal.

    25. Re:Full classes? by Pherdnut · · Score: 1

      JS devs who know the language well, do not.

    26. Re:Full classes? by Pherdnut · · Score: 1

      Crockford wants you to use that because he considers use of the new keyword dangerous because you might forget to use it and just fire the constructor normally. Even if this were a common occurrence (really?), it shouldn't take a competent dev very long to see that something went wrong with the object they were creating or write a factory function if this became a regular source of issues.

      Function constructors are a little more verbose but have three major advantages over Object.create. You can effectively create the equivalent of private methods/properties that are defined internally but can be accessed by public methods/properties that are also defined internally (but not attached to the object after it's created), you can include initialization behavior inside the constructor that occurs automatically, and you can name the constructor, effectively giving instances a "type" to examine with .constructor.name (requires a workaround for IE=8) which can be useful regardless of whether you smartly prefer duck-typing to type-checking in most scenarios.

      Also, that workaround version of the method is incomplete. It takes two args. A prototype and a property object.

      if (typeof Object.create !== 'function') {
              Object.create = function objCreate(proto,props){
                      if(!props){ props = {}; }
                      var objConstructor = function(){
                              for(var x in props){ this[x] = props[x]; } //like-named properties here will override prototype properties
                      };
                      objConstructor.prototype = proto;
                      return new objConstructor();
              }
      }

      Object.create is not a replacement for function constructors and Crockford is ignoring a number of things I know he's aware of to suggest that it should be. It's just a convenient way to create shallow copies of objects or short-hand for the following when you don't need all the extras and granular control function constructors provide, but still need a prototype other than the general Object instance you get when you define as object literals:

      function ConstructorName(proto){
              this.propertyA = ''; //and other properties from props defined constructor style
      }
      ConstructorName.prototype = proto;
      var someObj = new ConstructorName();

      "Prefer Object.create" isn't even an acceptable heuristic. It's like saying "prefer convenience."

      The scale of convenience vs. options is {},Object.create,new function(){}

    27. Re:Full classes? by MightyYar · · Score: 1

      I thought he just created it for convenience. I didn't get the impression that he meant for it to be used all the time - but I have to admit that you seem to have put more thought into it than I have. :)

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  3. What are google's two js replacements? by Bill,+Shooter+of+Bul · · Score: 4, Interesting

    Dart, obviously. But what is the other one? Anyone know what the article writer was talking about?

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
    1. Re:What are google's two js replacements? by Anonymous Coward · · Score: 1

      GWT?

    2. Re:What are google's two js replacements? by Bill,+Shooter+of+Bul · · Score: 1

      I don't think that qualifies as a language, but maybe that's what the author meant.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    3. Re:What are google's two js replacements? by Anonymous Coward · · Score: 0

      Go, maybe? Or was that more intended as more complex than a web client language?

    4. Re:What are google's two js replacements? by Alternate+Interior · · Score: 2, Informative

      Clojure: http://clojure.org/

      Don't think it's formally Google anymore.

    5. Re:What are google's two js replacements? by Lennie · · Score: 1

      Go is meant as a system language.

      I don't think complexity has anything to do with it.

      But maybe the author meant C, in the form of Google NaCl (Native Client).

      --
      New things are always on the horizon
    6. Re:What are google's two js replacements? by Shados · · Score: 1

      Id say GWT if i had to guess.

    7. Re:What are google's two js replacements? by lahvak · · Score: 1

      Clojure is pretty cool, and it compiles to the JVM code, but I have never heard about it being a replacement for JavaScript. In which sense would it replace JavaScript?

      --
      AccountKiller
    8. Re:What are google's two js replacements? by Alternate+Interior · · Score: 0

      Just a different way of thinking. Purely functional programming is possible in JavaScript, and is basically mandated in Clojure. So it's more like comparing JavaScript and "use strict"; -- you want to be pure in your algorithms and so it babysits you.

    9. Re:What are google's two js replacements? by mrmtampa · · Score: 1

      Dart, obviously. But what is the other one? Anyone know what the article writer was talking about?

      CoffeeScript is probably the second.

      --
      "There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy." Hamlet (I, v, 166-167)
    10. Re:What are google's two js replacements? by Anonymous Coward · · Score: 1

      More specifically, you want to look at ClojureScript (https://github.com/clojure/clojurescript), which compiles clojure to javascript.

    11. Re:What are google's two js replacements? by Bill,+Shooter+of+Bul · · Score: 1

      Yeah, that's probably it. Always forget about salt.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    12. Re:What are google's two js replacements? by Bill,+Shooter+of+Bul · · Score: 2

      CoffeeScript isn't a google creation. As another poster pointed out, its probably NaCl.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    13. Re:What are google's two js replacements? by Anonymous Coward · · Score: 1

      Clojure was never a Google project. You are likely thinking of Closure / Soy (https://developers.google.com/closure/templates/docs/helloworld_js) which is Google's templating language that compiles to javascript. This is also likely the language referred to in TFS.

    14. Re:What are google's two js replacements? by Billly+Gates · · Score: 1

      NACL is proprietary and I feel Chrome is turning into IE 5. More and more proprietary, yet faster and better than Netscape. I prefer this as it is backwards compatible with current javascript and is opensource and not tied to anything.

    15. Re:What are google's two js replacements? by jbolden · · Score: 1

      Clojure is a Lisp that runs on the JVM and can pull in JVM libraries. It has nothing to do with Javascript in browsers.

    16. Re:What are google's two js replacements? by Anonymous Coward · · Score: 0

      Google did create Closure ( https://developers.google.com/closure/ ) which has nothing at all to do with Clojure. I can see how it might be confusing, but it's better to check before posting something with such confidence.

    17. Re:What are google's two js replacements? by Anonymous Coward · · Score: 0

      They might mean Closure (not Clojure), which is a Javascript library that supports type checking, inheritance, and has a compiler that reduces the Javascript down to an small, obfuscated size. https://developers.google.com/closure/

    18. Re:What are google's two js replacements? by Bill,+Shooter+of+Bul · · Score: 1

      Eh, NaCl Looks pretty open source to me:

      http://www.chromium.org/nativeclient

      I have a healthy distrust of MS "open" creations, I'd rather use coffee or dart.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    19. Re:What are google's two js replacements? by Anonymous Coward · · Score: 0

      I think you mixed Clojure up with Closure.

    20. Re:What are google's two js replacements? by Anonymous Coward · · Score: 0

      There is ClojureScript, which is basically clojure that compiles to JavaScript instead of the JVM: https://github.com/clojure/clojurescript

      Like clojure, it is really cool.

    21. Re:What are google's two js replacements? by Anonymous Coward · · Score: 0

      Actually GWT is as much a language as this MS language since it simply compiles java into Javascript.
      The only difference is that GWT translates most of the JDK into native JS calls meaning it already has a quite complete and powerful API

    22. Re:What are google's two js replacements? by Bill,+Shooter+of+Bul · · Score: 1

      You can call that a language translator maybe, not it doesn't have a distinct syntax its own. It is as it describes itself: a toolkit.

      https://developers.google.com/web-toolkit/overview

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
  4. I am still busy with silverlight by superflit · · Score: 5, Funny

    Sorry..
    I am still busy with silverlight...

    Oooppss. that did not work....

    1. Re:I am still busy with silverlight by NinjaTekNeeks · · Score: 1

      Don't lie, no one uses Silverlight.

    2. Re:I am still busy with silverlight by jason777 · · Score: 1

      I use it. Just released a game written in it: http://aggravation.codeplex.com/

    3. Re:I am still busy with silverlight by Anonymous Coward · · Score: 3, Funny

      In related news, I just released a game in HyperCard.

    4. Re:I am still busy with silverlight by Anonymous Coward · · Score: 0

      Get a clue. Even Microsoft has abandoned Silverlight. Windows 8 pretty much drops Silverlight in favor of HTML5.

    5. Re:I am still busy with silverlight by Anonymous Coward · · Score: 0

      true, but some places offer it (and call it 'use').

  5. CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 5, Insightful

    We have JavaScript and that's shit because no one wants to agree on anything. So what do we get instead? a dozen implementations or something that is in theory nicer but compiles to JavaScript. This is not a solution. It's a mess.

    Fix JavaScript or give us something like Python minus the dangerous bits in the browser.

    1. Re:CoffeeScript, Dart and this - screw it all by neminem · · Score: 3, Interesting

      Obligatory: http://xkcd.com/927/

      Note: please do not mod this post up. Yes, it is completely relevant, and funny, but I can't take credit for it. :p (On the other hand, I request it not get modded down just because you don't like xkcd, either. Relatedly, why the frell don't you?)

    2. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 3, Insightful

      It makes me cry whenever I hear JavaScript being used as an 'assembler'.

      CPU performance, memory usage, and power consumption be damned!

    3. Re:CoffeeScript, Dart and this - screw it all by cc1984_ · · Score: 1

      You know you could always post as an AC

    4. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      Uh, what's so bad about Javascript? I've never had any trouble with it other than browser incompatibilities, but that's not the language's fault.

    5. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      All real and good languages compile to some freaking weird assembler in the end. Doesn't make the languages bad. Microsoft is going in the right direction here. Think of actual JavaScript as assembler and just ignore it.

    6. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      Microsoft or die!

      Works for me! When shit like this happens!

      Dictators can be good!

    7. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      The browser at this point in time should come with a VM, along the lines of .Net's CLR, or javas VM, and web apps should be distributed in bytecode that runs in a safe sandbox. And people use whatever language they want.

      It will never happen though, to see why just look at the comments in this thread.

      The web world is to polluted with asshats with no actual technical knowledge, so they make their decisions based on childish groupthink about who's the supposed 'bad guy'. The open source community isn't capable of any big leaps forward, so we're stuck with corporate contributions. Which will always be soundly rejected based on ARRRRR XBOX IS DUMB FUCK MICROSOFT M I RITE

    8. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      He's playing for modesty mod points.

    9. Re:CoffeeScript, Dart and this - screw it all by neminem · · Score: 1

      No, I just totally forgot about it. I never post AC, mostly because I forget about it every time there's a reason I might want to, which is rarely enough that I am going to keep forgetting about it. :p

    10. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 4, Insightful

      Fix JavaScript or give us something like Python minus the dangerous bits in the browser.

      Full Python is a relatively heavy language (compared to, say, Lua), and I would be less than thrilled if all browsers had to implement a Python interpreter in addition to the Javascript interpreter they would still require for compatibility.
      Besides, Python is all dangerous bits.

      I think a lightweight virtual machine would be a natural successor. If they had done it in the 90s it would be a considerably worse legacy than Javascript was, but I think we're ready for it now.

      Some desirable properties would be:

      • - Implementable as a small and simple interpreter
      • - Implementable as an efficient JIT compiler
      • - The VM and the ECMAScript implementation should be able to share a JIT, e.g. by compiling scripts to VM, or a common immediate representation.
      • - Must share the DOM and APIs with ECMAScript
      • - A reasonably efficient ECMAScript implementation of the VM
      • - Programs specifiable as either text or binaries

      (LLVM bytecode is NOT suitable for this; it is first and foremost a compiler IR, and is not intended for cross-platform use.)

    11. Re:CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 1

      I actually agree. Plain old JS itself is better than using a million libraries. That said, I will admit having to write your some dom abilities like getting elements by class name, while easy, should be baked into a web language and the incompatibilities should be done away with. Making an ajax call should be the same across all browsers. I would also like to see them tighten up the rules so it's clear to the JS hipsters to use it as it was intended instead allowing them to write JS that manages to work but it just waiting to break down the line anyway.

    12. Re:CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 1

      Why not code that compiles to PHP while we're at it. Just because it can be done doesn't mean it should be.

    13. Re:CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 2

      It gets even better.

      "looking for transpiler: php to javascript" - http://stackoverflow.com/questions/1995362/looking-for-transpiler-php-to-javascript

      And it would appear someone is working on a PHP to JS compiler. http://www.harmony-framework.com/

    14. Re:CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 1

      That would be an excellent idea but no one will agree on it. It's not just the users though. I don't think you'll get Microsoft or Google to agree on something. TypeScript in a way is basically Microsoft telling Google where to stick Dart.

    15. Re:CoffeeScript, Dart and this - screw it all by binarylarry · · Score: 1

      I think TypeScript should be forked and renamed to Douche# to better fit in Microsoft's pantheon of languages.

      They made their Java clone, now they have their Dart clone and they're written by the same guy!

      --
      Mod me down, my New Earth Global Warmingist friends!
    16. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      you sound like a rambling schizo. also xkcd sucks.

    17. Re:CoffeeScript, Dart and this - screw it all by neminem · · Score: 5, Funny

      Yeah, well, you sound like a... person who... isn't very good at comebacks.

      Also, your mom.

    18. Re:CoffeeScript, Dart and this - screw it all by narcc · · Score: 2

      It's cool to hate javascript. Hence, all the sheep repeating the meme -- hence the lack of specifics. In reality, js is fairly painless to use and, once you know what to avoid, you can use it to write some nice clean and maintainable code.

      Here's the weird part. While it's cool to hate javascript it's also cool to love jQuery. Weird, as all it does is make your code less efficient, less readable, and more difficult to maintain. (Abuse of jQuery abounds -- I've seen it included to do astonishingly simple things that could have been handled with CSS. The worst abuse I've see was the inclusion of jQuery to do nothing more than redirect the user to another page when they clicked a button. Seriously. )

      If you stick to a simple subset of the language, know how to write modular code, and avoid ridiculous libraries like jQuery, javascript can be a very nice language.

    19. Re:CoffeeScript, Dart and this - screw it all by aztracker1 · · Score: 1

      Well, CoffeeScript seems to be the prescription you are looking for... I don't think Dart will take hold so much... this seems a lot like the EcmaScript4/ActionScript3 direction taken as a pre-processor for JS, with some decent UI hinting to go with it... I do like that the *.d.ts files are pretty self documenting, and could be useful in defining object models for use with JSON based web services... the documentation I've been creating is very similar, as it's pretty straight forward, but may actually refactor to a .d.ts file... the specific implementation details are still under way though.

      I think this is far more of an extension to JS, than even CoffeeScript, which does a lot of similar things, but changes the language abstraction a lot more.

      --
      Michael J. Ryan - tracker1.info
    20. Re:CoffeeScript, Dart and this - screw it all by aztracker1 · · Score: 3, Informative

      Maybe because JS engines are more powerful these days than PHP? Maybe because the language primitives, and base functionality is far more consistent (not talking browser DOM)? Personally, I've been using Node.js for more and more, simply because it does the job so well, and leverages a language, that any currently working developer should probably have knowledge of.

      --
      Michael J. Ryan - tracker1.info
    21. Re:CoffeeScript, Dart and this - screw it all by aztracker1 · · Score: 1

      Well... there are several libraries that do a really good job at abstracting DOM implementation differences and Ajax variances. From jQuery, Dojo, YUI, MooTools, Prototype, and the list goes on. The language is pretty straight forward, but documentation, and declaration of intent are the hardest parts in maintaining a larger project... this helps with a lot of that, while not forcing it on you.

      --
      Michael J. Ryan - tracker1.info
    22. Re:CoffeeScript, Dart and this - screw it all by aztracker1 · · Score: 1

      Because JavaScript is the single most widely available run-time environment in the world, and even has a server-side environments available for pretty much every platform with more than 10K systems running... JS delivered where Java failed.. that's why.

      --
      Michael J. Ryan - tracker1.info
    23. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 1

      oh C#... it started as a Java clone... but that was far far away in a galaxy far from here... since then C# has gone well beyond Java. Show me your closures java!!!

    24. Re:CoffeeScript, Dart and this - screw it all by narcc · · Score: 1

      Something like Python? I thought you wanted something better?

    25. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      They made their Java clone

      Sun just made a Delphi clone and then sold it to Oracle, as a result Google got dragged through and expensive patent mess...all thanks to Java.

      now they have their Dart clone

      how is this like Dart?

      and they're written by the same guy!

      So the C# and TypeScript languages were both chiefly authored by Anders, so what?

    26. Re:CoffeeScript, Dart and this - screw it all by MrSteveSD · · Score: 1

      "This is not a solution. It's a mess."

      Indeed. These companies are not creating JavaScript replacements because they just want it their way, there are real issues with using JavaScript for large developments. Why are we still waiting for basic features like optional static typing and classes to be added to JavaScript? Static typing is a very important feature. From it flows not just basic type checking, but also autocompletion (a major productivity booster), ease of re-factoring and useful code analysis (what functions use this particular type of object etc). There's now a whole list of languages that are aimed as direct replacements for javascript because of its failings, and transpilers to convert from various languages such as Java and haxe to JavaScript. All because JavaScript, for whatever reason, refuses to make any serious moves forward.

      Sooner or later, if it continues to stand still, JavaScript will be replaced by one of these contenders. If we're unlucky, it will be replaced by several of them.

    27. Re:CoffeeScript, Dart and this - screw it all by shutdown+-p+now · · Score: 1

      This one is somewhat different compared to Dart and CoffeeScript - unlike them, it's a proper JS superset. In other words, every valid JS program is automatically also a valid TS program, with same exact semantics. Furthermore, many of the features it adds on top of ES5 (like classes) are actually lifted from ES6 - so in a sense you can treat it as an implementation of a subset of ES6. The only major addition here otherwise are types, type annotations, and type inference (which is kinda why it's called TypeScript) - and all those are purely compile-time artifacts and are erased at runtime, so that you get vanilla ES semantics.

      So the "fix" is ES6 - it's where the bits that everyone can agree upon are. Unfortunately, not everyone can agree on types, which is why they aren't there.

    28. Re:CoffeeScript, Dart and this - screw it all by shutdown+-p+now · · Score: 1

      It's not a Dart clone in any reasonable sense. It's a ES6 superset; Dart is its whole separate language that's not source-level compatible with any ES version.

      Why don't you actually read the spec before judging it?

    29. Re:CoffeeScript, Dart and this - screw it all by 93+Escort+Wagon · · Score: 2

      You could definitely benefit from attending Simile School.

      --
      #DeleteChrome
    30. Re:CoffeeScript, Dart and this - screw it all by viperidaenz · · Score: 1

      Java still vastly out numbers Javascript. I don't know of a single set top box, smart card or dvd player that runs javascript. Java is still king in server side as well...

    31. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      In this case, though, it's not really using JS as an assembler. This is more like the JS equivalent of Cfront (which transformed C++ to C) in that it transforms TypeScript to JavaScript.

      dom

    32. Re:CoffeeScript, Dart and this - screw it all by viperidaenz · · Score: 1

      So basically... a JVM with a class loader that supports a text format?

    33. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      If you are going to mess with JS, at least fix the warts, a superset can't do that. JavaScript with shit tacked on, who wants that?

    34. Re:CoffeeScript, Dart and this - screw it all by shutdown+-p+now · · Score: 1

      A superset can fix the warts by providing new syntax without removing the old one. ES6 does just that, in fact.

      Case in point: "let". It's like "var", except that it's properly lexically scoped (meaning that when you declare a variable in the body of the loop and then capture it in a closure, it'll actually be a distinct variable for every iteration, unique to every closure - not a single one shared between all closures). Old stuff still just works. New tools will warn if they see you use "var" in new code.

      Another similar case: the scoping of "this". As all JS developers should know, it is, in effect, dynamic rather than lexical for functions - i.e. if called without an explicit receiver, they will have the same "this" as their caller, as opposed to the one that was there where they were declared. ES6 fixes that by providing a new syntax for closures, arrow style:

      (x, y) => { return x + y; }

      as opposed to

      function(x, y) { return x + y; }

      - for arrow functions, "this" is always lexical. In this case you actually want both to exist, because you need "this" to be dynamic when you're defining methods.

      Both of the above are implemented in TypeScript.

      Why would you want a superset? Well, for starters, because all existing code just works. And, frankly, it's a big enough reason in and of itself. C++ has also carefully preserved most warts in C - and it was (and remains) wildly successful for exactly that reason.

    35. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      I'm pretty sure set-top boxes nowadays include full-fledged browser and, therefore, javascript.

      Also, fun fact: Mozilla Rhino JS engine is integrated and accessible via javax.script.* in Sun/Orace JRE (not sure about OpenJDK) at least since Java SE 6.

    36. Re:CoffeeScript, Dart and this - screw it all by jbolden · · Score: 1

      Javascript has far too many features that would be crippled by static typing. For example you can implement a Y combinator naturally in Javascript:
      function Y(F) { return F(function (x) { return (Y(F))(x) ; } ) ; }
      That's the sort of thing you would need to absolutely prohibit in a static language that is incredibly powerful and useful in a dynamic language.I think static vs. dynamic is more or less a choice a language makes at design time that is an impossible fork to ever cross back over.

    37. Re:CoffeeScript, Dart and this - screw it all by cbhacking · · Score: 3, Informative

      Well, gaming consoles run JavaScript (in their browsers, or at least the Xbox will at some point), and most of them (PS3 being the exception) don't run Java.
      Smartphones run Javascript, while even Android doesn't really run Java (there are a few niche platforms that do, though).
      Every single PC has at least one, and probably quite a few, javascript engines (Windows ships with at least two: the one in IE and Windows Script Host). Neither Windows nor OS X ships with Java anymore.
      Aside from Windows-NT-based ones (again, Android doesn't count), I don't know of a single tablet that can run Java. They all support Javascript, though.
      Many dumbphones can run (a subset of) Java, but these days many of them can run Javascript too.
      Nearly all of the larget Personal Media Players of recent years can run Javascript; I don't know of any that run Java.

      In absolute numbers, I don't know what the balance is. However, in terms of the way that customers interact with their devices, Javascript is a lot more widely used than Java.

      --
      There's no place I could be, since I've found Serenity...
    38. Re:CoffeeScript, Dart and this - screw it all by S3D · · Score: 1

      It's not coders who hate javascript, it's users. Popups, trojans, tracking, intrusive ads. Whatever useful functionality js provide can usually be implemented in html in more safe and less intrusive way.

    39. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 1

      Popups, trojans, tracking and intrusive ads can be implemented quite alright without JS - as a security and privacy concerned user I'm ever thankful to Opera for built in on-demand plugin loading and URL filter blocking requests based on URL, and an accessible switch for JS, of course. It's not technology, it's who and how yields it.

    40. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      I think the point is if it was php then it was never destined to be browser based code so WHY would you convert something server side to javascript, if you are going to write the compiler then go whole hog and compile to a non interpretted language.

    41. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      s/JavaScript/machine code/ and we've just gone back 30 years. Still seems to have worked for us though.

    42. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      Your mom is like a simile.

    43. Re:CoffeeScript, Dart and this - screw it all by aztracker1 · · Score: 1

      Well... converting to a higher-level language is probably an easier translation than going to compiled machine code... JS Interpreters do a *VERY* good job at running code these days, and are good enough in most cases. If you look at a lot of types of problems, they work very well via Node.js, which happens to overlap a lot of what PHP is used for... Beyond this, if the translated code is fairly clean (at least resembling the original), then it can be maintained as .js from that point forward. Honestly, I don't think I'd use it, and I think it's a shim to get people to write client-side code in PHP, which imho is probably one of the worst language designs ever.

      --
      Michael J. Ryan - tracker1.info
    44. Re:CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 1

      I don't think static typing will fix things. You can do large projects in dynamic languages. In fact in my last job we had a huge software solution that was mostly python. We didn't have any problems with it nor was it any harder than doing Java development. It needs to make development more consistent across platforms, it needs to have basic dom functions build in (really, get elements by id but not class?) and it needs to tidy on some things that allow people write bad JS (i.e. this https://github.com/twitter/bootstrap/issues/3057).

    45. Re:CoffeeScript, Dart and this - screw it all by thetoadwarrior · · Score: 1

      I use node.js on occasion myself. JavaScript can be decent. I don't think I would want to write my JS in PHP though. But shows the problem with JS' popularity. It has a lot of bad developers. That wouldn't be a problem but working with libraries is almost a necessity. It would be nice to trust that I could use jquery libraries with little fear but that's not the case. A lot of extensions are awful. It's not helped by the fact some people think they don't have to put semicolons in their code and other little things like that.

    46. Re:CoffeeScript, Dart and this - screw it all by viperidaenz · · Score: 1

      Every single credit card with a chip on it runs Java. I have three JVM's in my wallet alone.

    47. Re:CoffeeScript, Dart and this - screw it all by Pherdnut · · Score: 1

      Well, dynamic typing might force you to work with smaller teams or get done a lot sooner. There is that issue to consider.

      FYI, every browser has getElementsByClassName now and every browser but IE had it about five years ago. JS is evolving fast. There's also query selectors now that let you grab elements with CSS selectors a la jQuery. Oddly enough IE8 had that but never got className.

    48. Re:CoffeeScript, Dart and this - screw it all by Pherdnut · · Score: 1

      JavaScript is not a mess and people have been agreeing on ways forward for over 10 years. It's just taken Microsoft 10 years to finally start acting on those agreements in regards to the DOM API and CSS. But the ECMA spec is actually something they've taken seriously.

    49. Re:CoffeeScript, Dart and this - screw it all by Pherdnut · · Score: 1

      Java will always outnumber JavaScript and most other languages in lines of code.

    50. Re:CoffeeScript, Dart and this - screw it all by Pherdnut · · Score: 1

      The only good reason to put up with static typing is performance. Requiring it to write maintainable code is a crutch for people who architect poorly. There's nothing relevant or important you can't do with prototypal inheritance that you can do with classes. In fact it offers considerably more granular control over how to build object factories and composite objects. You may not have noticed but JS has spread to the OS. It's on the server-side and a plethora of devices like game consoles, and native smartphone and tablet apps. It's being used to write apps for all relevant mobile devices simultaneously. I'd say it's moving forward plenty fast. A lot faster than the careers of a number of slash-dotters in this thread speaking with authority on JS that they clearly don't have I'd wager.

    51. Re:CoffeeScript, Dart and this - screw it all by Anonymous Coward · · Score: 0

      Absolutly true, couldn't state it better.

  6. I like the not so subtle FUD... by RightSaidFred99 · · Score: 2, Informative

    At this early stage it is difficult to see the development as good. It isn't particularly good for JavaScript developers who already have alternatives, and it isn't good for C# developers who now have confirmation that Ander Hejlsberg is looking elsewhere for his future.

    Lol, how cute. You're trying to create FUD.

    1. Re:I like the not so subtle FUD... by aztracker1 · · Score: 2

      What's funny, is that was my first thought as well. It's not like Linus doesn't do anything beyond kernel dev... I mean, we have things Git.. oh noes.. Linus is looking elsewhere, Linux is teh d00med now!

      I do think CoffeeScript is pretty compelling, though I'm not sure how much I like it... a lot of what's in TypeScript is based on efforts with EcmaScript in the past/future, so it lines up a little better. I think there's room for CoffeeScript, Haxe and TypeScript. TS will probably get a bit more traction than Dart, given the tools integration. I do find it very interesting, and refreshing, that the system runs with/under Node.js for the compiler.

      --
      Michael J. Ryan - tracker1.info
    2. Re:I like the not so subtle FUD... by Fallingcow · · Score: 1

      I do think CoffeeScript is pretty compelling

      The thing about CoffeeScript is that it sucks almost as much as Javascript, but it does it in half the lines, so point: CoffeeScript.

    3. Re:I like the not so subtle FUD... by jimmyfrank · · Score: 1

      Yeah, I got a kick out of that line too.

  7. Bunch of a**holes can't handle JavaScript by Anonymous Coward · · Score: 0, Informative

    Stop trying to make JavaScript look like your favorite object-oriented language and accept it as is. It's a fantastic, flexible, un-bloated language that requires a different mind-set to master. Improve your JavaScript Engine performance and your DOM implementation, but leave the language alone. There is a reason why it's kicking so much ass. If you want strong, static typed and OO, go support ActionScript.

    1. Re:Bunch of a**holes can't handle JavaScript by shutdown+-p+now · · Score: 1

      It sounds like you're mad about the presence of "class" keyword in the code. If that's the case, have you seen EcmaScript 6 drafts? It's there, too, you know...

      Also note that this isn't really statically typed. It does optional static typing, and even then type errors are warnings, they don't preclude code from running. You can use it to get better code completion and refactoring support, or you can ignore it altogether.

  8. Re:DEFINITELY No!!! by Anonymous Coward · · Score: 2, Insightful

    Bullshit. Look at other languages that compile to JavaScript that also don't pollute the standard:
    https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

    The summary is just wrong. JavaScript isn't being replaced. It's being enhanced in an entirely compatible and most importanly voluntary way.

  9. Aside from Microsoft's history.... by catbutt · · Score: 4, Interesting

    ...theirs seems like the right approach. It is certainly a better one than Dart. They've gone out of their way to be as compatible as possible, and really are making it practical for people to adopt the upcoming standards earlier. I really don't see what about this to get so up in arms about. Javascript does need improvements, and this is the best approach to that I've seen so far.

    1. Re:Aside from Microsoft's history.... by MHolmesIV · · Score: 3, Informative

      Exactly, it's basically a preprocessor for javascript that allows your IDE to help you write better code.

    2. Re:Aside from Microsoft's history.... by Anonymous Coward · · Score: 1, Informative

      It compiles to javascript moron. this doesn't replace javascript, it provides a better development interface to it.

    3. Re:Aside from Microsoft's history.... by aztracker1 · · Score: 1

      The code itself runs in Node.js, not a Microsoft toolchain... Node in the past two years has grown leaps and bounds as a JavaScript execution environment on just about every platform out there. I think they'll keep the compiler, and spec open... as they've done for a lot of things around development the past few years... the extensions into the UI for Visual Studio are far more compelling though. At this point, it really does make VS2012 a compelling tool for building Node.js based apps (most of which run in Linux, though MS has made effort to making it run better in windows/azure).

      --
      Michael J. Ryan - tracker1.info
    4. Re:Aside from Microsoft's history.... by shutdown+-p+now · · Score: 1

      There has also been an explicit statement from IE folks that they will not do any special first-class support for TypeScript, the way Google does for Dart in Chrome, because this is explicitly counter to the goal of the project.

    5. Re:Aside from Microsoft's history.... by Anonymous Coward · · Score: 0

      It compiles to javascript moron.

      Is "JavaScript moron" some variant of the JavaScript language I wasn't aware of? It sounds intriguing...

    6. Re:Aside from Microsoft's history.... by Bill+Dog · · Score: 1

      No, it's a name for a person who's tried JavaScript and didn't like it because it's not identical to another language they already know. See also: People who bemoan that C++ doesn't have finally clauses in exception handling.

      --
      Attention zealots and haters: 00100 00100
    7. Re:Aside from Microsoft's history.... by Anonymous Coward · · Score: 0

      Node seems to run pretty fine in windows what doesn't is things that build from NPM. Module publishers need to work on their cross platform build chain.

    8. Re:Aside from Microsoft's history.... by Anonymous Coward · · Score: 0

      why would you do first class support for it. The whole point of it is if you have first class support for javascript then you already have all the support you need for TypeScript.

    9. Re:Aside from Microsoft's history.... by swillden · · Score: 1

      ...theirs seems like the right approach. It is certainly a better one than Dart.

      It has completely different goals from Dart. It's not "better", it's just trying to solve a different problem.

      Dart's ultimate goal is to replace Javascript with something faster. Google's V8 Javascript engine has shown the industry that Javascript can be a lot faster than most of us expected was possible, and it has pushed the competitors to make theirs faster as well, but the Dart developers believe that code written in a language that is as purely dynamic as Javascript simply can't be optimized to the same degree as that written in a language which allows the run-time to make more assumptions about what the code is going to do. Along the way, Dart also tries to make the code easier to read and write (and succeeds), and to provide more structure to help IDEs, but that's not the primary goal. One source of confusion is that Dart can be compiled to Javascript, but that's a compatibility hack. The goal is to have all browsers natively running Dart code in highly-optimized Dart engines, making the code an order of magnitude faster (in theory).

      Typescript, on the other hand, appears to be all about making Javascript easier to read and write, including allowing you to tell your IDE about the structure of your code so it can help you more. But the run-time doesn't benefit from the annotations, so from a performance perspective it's still just Javascript.

      Dart is about making the web a computing platform capable of rivaling native applications in terms of performance, power and usability, while bettering native applications in terms of ease of deployment and management. Typescript is about making it easier to do the things web applications already do. Both have laudable goals, but they're different goals.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    10. Re:Aside from Microsoft's history.... by shutdown+-p+now · · Score: 1

      When you have type annotations, the JIT compiler could take notice of them, and optimize accordingly. This is actually one of Google's arguments in favor of Dart.

    11. Re:Aside from Microsoft's history.... by aztracker1 · · Score: 1

      A surprising number of modules are native JS... though, those that aren't can be a pain... I've been encouraging module developers with binary modules to simply have pre-built x86/x64 modules and have the "install" script detect the correct version, and use that... since Windows has been very API stable... though node versions can be an issue.

      --
      Michael J. Ryan - tracker1.info
    12. Re:Aside from Microsoft's history.... by Pherdnut · · Score: 1

      I really don't see what about this to get so up in arms about. Javascript does need improvements, and this is the best approach to that I've seen so far.

      Honestly? I wish people would just !@#$ing learn JS rather than hobble around on crutches that make it more like other languages that most of them never bothered to learn properly either. Also I write a lot of my code straight out of the console fairly frequently. I don't need another layer added to my development process. We've been normalizing for an uneven DOM API for years now. I think we can handle new features without resorting to down-compiling of some other source-syntax.

      It's pathetic. I've been learning this stuff for five years. I've been flown out to silicon valley for interviews where JS was key twice now on the basis of me answering the first tech interview question. In both cases the interviews stopped right there because "nobody had ever been able to answer that one before." One interview was for Netflix. The question? What's the third arg of addEventListener?

      When I mess around with another language, I don't cry because I have to use lambdas to pass functions around or it's just not possible at all. I don't assume I can tweak a class and expect its already-existing instances to change with those tweaks. I don't assume public instance methods are mutable. I read up on the damn language and learn how it works.

      It doesn't help that we have people like Crockford coming up with bizarre reasons to complain about language features arbitrarily. Don't use function constructors because you might forget to use the new keyword? Don't use negating character classes in regEx? Is that BS advice from an expert or ammo for a tool that helps establish him as an authority for lucrative speaking engagements?

      The real problem with JS is that far too many comp sci grads are coming out of college expecting a steady salary while striving to never learn anything they haven't learned already if they can avoid it. Sorry kids, and I'm looking at the Java-uber-alles kids in particular, but that's just not going to fly on the client side. The problem isn't JS. It's you. Yes, you. The dev who only really knows one language beyond basic syntax fluency, and it's probably Java or C#. The dev who thinks the only qualifier for OOP design is putting all his linear procedural code into classes.

  10. Re:Remember the old addage by gweihir · · Score: 0, Troll

    Indeed. Pull people in, but let nobody out. Drink this poison at your own peril.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  11. 0 day exploit found in TypeScript by logicassasin · · Score: 5, Funny

    I'm going to leave this here as a placeholder for the inevitable...

    --
    Fifty watts per channel, baby cakes.
  12. Re:Remember the old addage by MHolmesIV · · Score: 5, Insightful

    Rubbish. Not a good view of the technology. You might want to watch the channel 9 video and see how the language works before sounding the war horns. Essentially it's an overlay on javascript code that allows the developer to infer useful information about their code. The output from the "compiler" is bog standard javascript, no microsoft extensions at all.

    So if the "carpet" ever got pulled out from under you, all you would do is go back to editing the standard .js directly.

  13. Do you have a karma allergy? by Qubit · · Score: 5, Funny

    Obligatory: http://xkcd.com/927/

    Note: please do not mod this post up.

    Note: please do mod this post up

    --

    coding is life /* the rest is */
    1. Re:Do you have a karma allergy? by mvdwege · · Score: 0

      No, it should be modded down, because it adds nothing to the conversation.

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    2. Re:Do you have a karma allergy? by Anonymous Coward · · Score: 0

      Why should we? You're the reason, we still don't have general purpose, available quantum computers.

  14. Oh FFS by ilsaloving · · Score: 1

    We already have, what, a couple *hundred* languages to choose from at this point?

    https://en.wikipedia.org/wiki/List_of_programming_languages

    Can we knock it off with the new effing languages already? Don't these people have anything more useful to do?

    1. Re:Oh FFS by jo_ham · · Score: 1

      We already have, what, a couple *hundred* languages to choose from at this point?

      Almost as many as we have Linux distros!

    2. Re:Oh FFS by Anonymous Coward · · Score: 0

      >Don't these people have anything more useful to do?

      As if you've ever done anything worthy enough that anyone would care what you think. LOL

    3. Re:Oh FFS by Microlith · · Score: 1

      Yeah people! Stop thinking about new ways of doing things! Get in line with the One True Way!

    4. Re:Oh FFS by pnot · · Score: 1

      Don't these people have anything more useful to do?

      I agree entirely. I've never invented a programming language, because I'm always far too busy posting on Slashdot.

      Woah shit is that the time? Got to go catch up on my web comic reading for the day.

    5. Re:Oh FFS by jbolden · · Score: 1

      I think static vs. dynamic is more or less a choice a language makes at design time that is an impossible fork to ever cross back over.

      Nope. The good languages in 2030 are the new ones being invented today.

    6. Re:Oh FFS by ilsaloving · · Score: 1

      Except that they're not. They're coming up with new ways to do the same things.

      There is value in different languages, but only if you're producing something truely new and useful. Not when you just reinvent the wheel over and over.

  15. Article title misleading. by Anonymous Coward · · Score: 2, Informative

    It doesn't replace anything. Its simply a higher level language that compiles to cross-compatible JS. And its open standard to boot.
    Not seeing any negatives about it. JS is a mess and MS is attempting to clean it up.

  16. Re:And this suprises you? by MHolmesIV · · Score: 2, Insightful

    Um, the Apache License is significantly more free than the GPL. Just sayin'.

  17. From Scheme to ML by Anonymous Coward · · Score: 1

    So they converted a version of Scheme into a version of ML. Why? Because F#.
    Did I get the gist of it?

  18. I'd rather use Script# by _8553454222834292266 · · Score: 1

    to compile my C# algorithms to Javascript. See http://scriptsharp.com/. It's by a Microsoft guy so hopefully it gets official support some day.

    1. Re:I'd rather use Script# by Etoposid · · Score: 1

      did you check the fork of it = http://www.saltarelle-compiler.com/ Just awesome expands a lot on top of Script# is actively maintained and supports so much of C# that it's not even funny anymore :-)

    2. Re:I'd rather use Script# by _8553454222834292266 · · Score: 1

      Thanks, hadn't heard of it.

  19. Re:Remember the old addage by Deathlizard · · Score: 1

    Frankly, If Microsoft can Extinguish the JavaScipt Name I'm all for it.

    I'm sick of explaining to everyone on earth that Javascript is NOT Java when I tell them they should get rid of the Virus targeted Java Runtime they do not need or updated in three years, but have on their machine just waiting for the next drive by virus to say hello.

  20. Re:And this suprises you? by spongman · · Score: 1

    nearly sane.

  21. all these languages what am I to do? by Nyder · · Score: 1, Insightful

    Sticking with C.

    How many computer languages do we need? Really?

    It's bad enough that you don't trust javascript from webpages, now i have a new type not to trust?

    Microsoft, i don't trust you, never have. fuck typescript, fuck Windows 8, and well, fuck you.

    --
    Be seeing you...
    1. Re:all these languages what am I to do? by Anonymous Coward · · Score: 4, Informative

      c? to write client-side code run by the browser?

      are you high?

    2. Re:all these languages what am I to do? by bored · · Score: 2

      Sticking with C.

      And now you don't have to be left out of the web page revolution... Check out https://github.com/kripken/emscripten/wiki which is a LLVM backend for javascript. They have ported a big portion of the standard C libraries, STL, and a number of other things. Its pretty funny, but you can run boat loads of old emulators, games, you name it in a browser now.

    3. Re:all these languages what am I to do? by rastos1 · · Score: 1

      Excuse a question from a dumbass coding drone in the backwoods: how do I access an SQL database/windows registry/filesystem/sockets/... from a browser?

    4. Re:all these languages what am I to do? by Anonymous Coward · · Score: 0

      You use a java applet :)

  22. Didn't they do this with JScript? by luke923 · · Score: 1

    Considering how JScript turned out, do we want to go down this road again?

    --
    "Good, Fast, Cheap: Pick any two" -- RFC 1925
    1. Re:Didn't they do this with JScript? by Anonymous Coward · · Score: 1

      JScript is the name of Microsoft's ECMAScript implementation, to avoid the trademark issues with Sun (Netscape had Sun's permission to call it JavaScript).

    2. Re:Didn't they do this with JScript? by aztracker1 · · Score: 2

      Well, I think the only proprietary parts MS added to JScript are creating an ActiveXObject, which lead to XmlHttpRequest... And an enumerator for dealing with ActiveX... the language itself was a pretty compliant implementation.... now proprietary and excessive use of the former on many websites was a large problem.

      Beyond that, this is a lot different. This is a set of declarative extensions to JS that lean towards the next version of the standard and act as a pre-processor straight to JS proper. Not only that, but the license is open, very permissive, and uses a non-ms runtime environment (Node.js/V8) for the "compile".

      --
      Michael J. Ryan - tracker1.info
    3. Re:Didn't they do this with JScript? by Billly+Gates · · Score: 1

      MS is ditching JScript as IE 9 has a standards compliant ECMA javascript engine. IE 10 supposed to rival even Firefox and Chrome. JScript is still available in IE 8 or 7 mode which you can enable in your webpage for compatibility reasons.

      MS is trying hard to catch up.

    4. Re:Didn't they do this with JScript? by Pherdnut · · Score: 1

      MS has actually been ECMA compliant since IE5 I think. The ECMA spec is just all the core programming constructors like the type factories, Date, Math, etc...

      It's primarily all the W3C spec stuff like the DOM API and CSS standards that they ignored for a decade. They've been slow to adopt the latest ECMA versions since they only do so with new browser versions but for the most part you can count on the core language stuff working as it should as far down as IE6.

      IE9 was supposedly going to rival/best its contemporaries too. When it released it was about half as fast in performance as the rest.

  23. He simply did the obvious extension we needed by Anonymous Coward · · Score: 0

    He's simply doing what the JavaScript developers should have done a long time ago -- add some kind of type-checking to the language.

    It's about fucking time somebody did it, although I would have rather preferred that it was done within the JavaScript language itself.

  24. Re:DEFINITELY No!!! by luckymae · · Score: 1

    But it's not coming from Microsoft. Look at the incompatibilities introduced by their past technologies: C# (copycat from Java) and simply calling it C#, MS Internet Explorer (the worst), Web Form (.NET 2.0), etc, Active Directory (vs LDAP). These are nothing but fads.

  25. Re:DEFINITELY No!!! by santax · · Score: 2

    Actually C# is a great platform for RAD. Just because it's MS doesn't mean it is always shitty or evil. It isn't on the 5th place of most used languages because it sucks.... Lots of pro's are using it and many a serious C++ picks C# for fast prototyping and development. It's all about knowing what tool to use for what task. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  26. Still at it, eh? by 140Mandak262Jamuna · · Score: 0

    What was that thing Microsoft used to do that was called? Something like Embrace, Extend and Extinguish?

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Still at it, eh? by terjeber · · Score: 1

      You should read an article before commenting on it. Remember, it is better to keep your mouth shut and have everyone think you are a moron than to open it and remove all doubt.

  27. Re:Remember the old addage by Anonymous Coward · · Score: 5, Insightful

    Embrace, Extend, Extinguish.

    Microsoft freely admits it, and when everyone jumps on the TypeScript bandwagon, the carpet will be pulled out from under you.

    How is this shit modded 'Insightful'? Karma whoring at its best, capitalizing on the nerd rage of geeks frothing at the mouth whenever Microsoft does anything. The fact is it is under an Apache 2.0 license, the spec is available and there are already 5 forks, so unless you have a fundamental misunderstanding of what EEE means you're just trolling.

  28. A day in the life of JavaScript by elloGov · · Score: 1

    heyJavaScript = (function (whatYouSay) {
      var theFactIs = "You can't touch this! ";
      return function (freeLesson) {
        freeLesson = "I'm your global daddy!";
        setTimeout(function(){
          self.heyJavaScript = null;
          delete self.heyJavaScript;
          alert("So long sucker!");
        }, 0);
        alert(whatYouSay + theFactIs + freeLesson);
      }
    })("You talkin to me? ");

    heyJavaScript("How about a makeover?");
    heyJavaScript("Listen to me man!");

  29. Re:DEFINITELY No!!! by exomondo · · Score: 1

    Look at the incompatibilities introduced by their past technologies: C# (copycat from Java) and simply calling it C#

    You might as well whinge that Java is an incompatible copycat of Delphi, C# was never meant to be compatible with Java in any way, or do you not have any understanding of what C# is? The lack of cross-platform is the killer for C# (yes there is Mono but it's never up to the same version as the MS CLR).

    Web Form (.NET 2.0)

    What are you suggesting it was supposed to be compatible with?

    Active Directory (vs LDAP).

    Again, Active Directory and LDAP were never meant to be compatible.

    If you want to jump on the anti-microsoft bandwagon at least try and write a post that makes sense.

  30. Re:Remember the old addage by exomondo · · Score: 2

    Agree, I can't see how anyone is any more 'locked in' to this than they would be if they used say Google Dart.

  31. Re:Remember the old addage by aztracker1 · · Score: 2

    Beyond that, a lot of it seems to line up with the EcmaScript6 work in progress spec, and Anders seems to be interested in re-aligning to that spec as it moves forward. What I found really interesting above everything else, is that it's an npm (node.js) module, and runs from node.js, not WSH, or some other bastardized environment. As I am working on publishing a JSON web service currently, I already have my object definitions documented in a JSON structure very similar, and may just adjust them all to *.d.ts, since it's fairly obvious the intent. I'm still testing using the newer WebAPI from MS, or simply going Node.js for the API service itself... leaning towards node + mongo... but the option seems fairly clean, and open.

    I just hope it doesn't wind up another also ran.. It would also be nice to get .d.ts files out of coffee-script declarations for classes as well, so that it can be more interoperable. It would also be nice to see other IDEs adopt the idea. I think JS interaction, and intent of code (documentation, and interaction) is the most difficult thing, which this works to resolve... Though it does remind me a lot of ES4/AS3.

    --
    Michael J. Ryan - tracker1.info
  32. Re:Remember the old addage by SplashMyBandit · · Score: 4, Insightful

    I think you are missing the point. While it is good the output is 'bog standard' Javascript what really matters is that the source is not 'bog standard Javascript'. Once you start writing in TypeScript you are forever bound to Microsoft. Now there may be compatible implementations but you may get a situation like C# where Microsoft's implementation is not only the foremost, but also the only complete one.

    They did a similar trick in years past with C++, where they had so many extensions that you pretty much needed for Windows development that once you started down their C++ path, forever would it dominate your project's destiny. These days their compiler will accept 'bog standard' C++, however to get real stuff done you still have to start using Windows constructs and interfaces (due to Microsoft producing APIs that look like like 'plain vanilla' C++; as many other APIs try to do).

    As others have pointed out, "All the roads lead to Microsoft, but none lead out".

    Now Microsofties could complain that the open source proponents are whining unfairly about this and it is resticting their, "Freedom to innovate". To that I say simply this, "How about you instead spend the effort on making your browser work like everyone else's?". The amount of workarounds and hacks required to compensate for the borked and agonizingly slow way that Internet Explorer handles (what should be) cross-platform Javascript is 'criminal'. The wastage in businesses and the entire IT industry caused by handling Internet Explorer's brokenness should make them blush. Sure, innovate and make the Javascript experience the best on Microsoft tools and platforms, but don't do it by creating more 'islands' than you have already.

    As others have pointed out, TypeScript may be tech flavor-du-jour for Microsoft at the moment (since they're trying to push their mobile solutions), but just like all their other tech it will have a limited shelf-life. You are better choosing truly cross-platform and long lasting tech for building solutions on. Historical examples: C#.NET (still used widely but not getting the Microsoft focus it once did), Visual Basic, COM/DCOM, OLE, C/C++ Win32 etc etc Yes you can still develop with these, but once upon-a-time they were the shizzle promoted by Microsoft and now people have to spend their time maintaining them with old and outdated tools. Meanwhile solutions developed with Standard C/C++, Java, etc get better tools and there are code changes required to maintain them are far more minor.

    Bet your solution on the long-lived tech stacks (and increase your long-term profits!).

  33. Re:Remember the old addage by exomondo · · Score: 4, Informative

    Once you start writing in TypeScript you are forever bound to Microsoft.

    I see you're unfamiliar with the concept of open source: git clone https://git01.codeplex.com/typescript

  34. Re:Remember the old addage by SplashMyBandit · · Score: 1

    I suck at editing:
    s/due to Microsoft producing APIs that look like like 'plain vanilla' C++/due to Microsoft producing not APIs that look like like 'plain vanilla' C++/

    ... and the other howlers (too lazy [and at too busy at work]) to fix those. Apologies.

  35. I find this useful, ignore the FUD! by QX-Mat · · Score: 1

    As a cocoa programmer tasked with implementing yet another embedded htmlfucking5 project thanks to Adobe Edge, I wish Javascript would die.

    After looking at the myriad of patterns for my current project - a Javascript client REST API - I came to the swift conclusion that most of them are silly, namespace polluting, self initializing mindfucks. I gave up looking at patterns, found a preloader (lab.js - although require.js is looking good) and wrote my own module pattern objects to satisfy the clarity, structure and ease of maintenance requirements of a good API. Being verbose is not a sin in enterprise Javascript.

    I have a lot of little helpers like this:

    MyCompany.fetchSomething(function (things) { // actually gives you things
    });

    Plus some event handlers

    MyCompany.addEventHandler('scope', function (data) { // handler
    });

    But by far the largest section of my code is the model fetching stuff - you know the really boring bits where copy by value doesn't cut it, I need functions and and objects.

    My last trail by fire was a paginated e-book reader with support for embedded video and audio. That wasn't a lot of fun, but at least the CSS3 spec was helpful and the DOM readable. The Javascript in that project was limited to around 200 lines.

    I recently discovered that REST libraries are pretty long winded - after 200 or so lines, Javascript becomes a horrible implementation specific mess of spaghettied anonymous function chains. I opted for the Module pattern and ran into lots of fun:

    1. I have to write all my getters and setters, as properties/getters/setters
    2. Variable lifting/elevating results in seriously ugly var blocks at the top of my functions and causes copy by value in some rather obvious block scopes
    3. Fast enumeration (for x in a) doesn't work
    4. Itterating through ordered keys is painful with associated hashes - you have to create a key enumerator (with pushes! ) each time you want order. jQuery doesn't particularly help.
    5. Everything runs on the same thread.
    6. Post increments don't work in for loops, for (i = 0; i
    7. Prototypical inheritance is pointless key bashing - it pollutes your vision with the use of 'self' everywhere god forbid you miss a one.
    8. Inheritance is a dirty word unless you've already written things in a special way (prototype extension is just a dirty hack!)
    9. Given a lack of compile stage, writing code is error prone and debugging a tiresome line by line experience
    10. Chained async callbacks are inflexible, hard to read and painful to edit. Expanding ajax piped promises to a colleague made him cry and take a week off sick.
    11. Everything has to be a fucking DOM element before jQuery/the DOM will play nice
    12. Preloading code, initializing it and handing off to that code is painful/ugly with self initializing modules.

    So with MS actually targeting 5 or more of the annoying problems I face, I find this library really useful. But naturally I'll get modded down because, a) I develop Apple software and b) I don't pick sides, I program (I like Windows 7 as my desktop, XCode as my IDE, and Slackware on my shell - go fish!).

    Oh well, I can only dream of this being adopted!

    1. Re:I find this useful, ignore the FUD! by Pherdnut · · Score: 1

      I think the real problem is that you don't know JS very well.

      I have to write all my getters and setters, as properties/getters/setters

      Arbitrary getters/setters that do nothing but expose a property are as pointless as they are with the property publicly exposed if you aren't handling the requests somehow but no you don't have to expose any object internals as properties to have getters/setters.

      var someObj = new (function SomeObjConstructor(){
      var privateProperty = 'Bob'; //accessed via closure for instances only - not available externally

      this.getPrivateProperty = function(){ return privateProperty; }; //since access is via closure redefining this method externally would deny you access to internals
      this.setPrivateProperty = function(arg){ privateProperty = arg; };
      })()

      Variable lifting/elevating results in seriously ugly var blocks at the top of my functions and causes copy by value in some rather obvious block scopes

      Only globally scoped vars and named functions lift. Most of your vars should not be defined globally. I try to keep it to one for our own library. You can declare vars wherever you damn well please regardless of Crockford's or JSLint's opinion on the matter. Just use 'use strict;' so implicit globals are thwarted. I do tend to declare them up front because I find it aids legibility but I break this heuristic regularly when it makes sense to.

      Fast enumeration (for x in a) doesn't work

      That's like saying if statements don't work. Look it up and figure out what you're doing wrong or check on your object before iteration. This is how it should work:

      for (var x in someObject){ var propertyName = x, propertyValue = someObject[x]; }

      Itterating through ordered keys is painful with associated hashes - you have to create a key enumerator (with pushes! ) each time you want order. jQuery doesn't particularly help.

      jQuery is primarily an adapter/decorator for the DOM API. Why would it help with a data structure issue? In JS you use arrays for sorting and objects for referencing by name. When you need both, wrap an array of objects and give it the methods it needs. Arrays have a powerful sort method you can use to sort by by object property values and you can add methods for looking up by some object property. I'm talking about re-usable stuff that would take me about 5-10 minutes to write in JS.

      Everything runs on the same thread.

      Yes. Design tradeoff and a reasonable one in a functional language, IMO. We do have workers if you're doing lifting so heavy you need to divvy it up but that's usually as sign you have a performance issue elsewhere on the client-side unless you're doing something special.

      Post increments don't work in for loops, for (i = 0; i

      I regularly use pre and post inc/decremetns in all loops. Perhaps they work differently than in the one language you know well. In post-inc/dec operations in JS create a copy, alter the operand they act on but then return the copy. It's the reason the last thing thing i-- evaluates as true is 1 but then on the interior i is zero and then on the net loop it fails:

      var i = someArray.length;
      while(i--){
      doSomething(someArray[i]);
      }

      But seriously, how many core language features are you going to accuse of breaking before you RTFM?

      Prototypical inheritance is pointless key bashing - it pollutes your vision with the use of 'self' everywhere god forbid you miss a one.

      The 'this' keyword has nothing to do with prototypal inheritance. It has everything to do with being able to apply any function to any object as if it were property owned by that object which is a stupid-powerful feature from an architec

  36. Re:And this suprises you? by Microlith · · Score: 1

    the Apache License is significantly more free than the GPL.

    For varying perspectives on what constitutes "free."

  37. Re:Remember the old addage by narcc · · Score: 2

    Just keep calling it "ECMA Script" until it sticks.

    Good luck.

  38. Compatibility be damned by Anonymous Coward · · Score: 0

    We need a clean-slate approach to clientside embedded scripting. Something with
    * strong typing
    * CLR-like JIT compilation
    * solid documentation
    * robust cryptographic facilities with hardware acceleration

    With everyone rolling out their half-assed attempts at creating something 'better' that's really just another layer on top of the old, bad JS, it's no wonder we're not getting anywhere.

    1. Re:Compatibility be damned by viperidaenz · · Score: 1

      All of what you've described has been available in all major browsers since the 90's. Its called Java.

    2. Re:Compatibility be damned by Billly+Gates · · Score: 1

      Java never really integrated. They were full programs that ran inside the browser but used the JVM operating environment which was its own mini operating system. Javascript can interact with page elements unlike Java which just felt out of place and not part of the site.

    3. Re:Compatibility be damned by Z00L00K · · Score: 1

      I agree - someone please mod parent up!

      Of course - a Java engine in the browser would do the trick (as someone noted). It has to be a sandbox solution to work well and be secure.

      But the current Java plugin solution is a clunky solution.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    4. Re:Compatibility be damned by Anonymous Coward · · Score: 0

      You mean that security hole ridden piece of crap that after more than a decade is still up there with adobe for the most security vulnerabilities? hmmm yeah that is just what we need reintroduced to our browsers, It was a huge blessing when Java died off on the client side, lets not EVER consider bringing back that pain.

  39. Re:DEFINITELY No!!! by binarylarry · · Score: 1

    I'm positive that when Microsoft hired Anders they uttered a sentence like "We want to clone Java so it only runs on Windows."

    And then .Net was born.

    --
    Mod me down, my New Earth Global Warmingist friends!
  40. Re:DEFINITELY No!!! by SplashMyBandit · · Score: 4, Insightful

    The probem isn't so much with C# the language/toolset. The problem is that in order for Microsoft to sell you new tools and tech it has to periodically change them just enough so you feel enough pain to shell out for new stuff. The other problem is that while C# is good for development it is clear that it is no longer an object of adoration in Microsoft's strategy. C# will always be around but it won't get the resources that the 'new hotness' team gets (eg. TypeScript). Meanwhile, those that use other tools (standard C++, Java etc) will keep plodding along, continuously evolving.

    If you know Aesop's Tortoise versus the Hare fable then this is what is happening now. Those who always watch the speed of the hare miss the fact that a new hare is entered into the race every few years. Meanwhile, those not distracted by the hare are watching the tortoise and see how it is less flashy but progresses continuously. If you built your tech on the tortoise you still have good solutions. If you build your tech with the hare then every few years you either have to rebuild your tech for the new hare (expensive! this is what CTOs worry about and code-monkeys don't), drop your existing investment and start building again for the new hare (expensive and wasteful), or stay with old tech (painful, and now surpassed by the tortoise).

  41. Science Fiction comes to Life by Anonymous Coward · · Score: 0
  42. Playground seems borked by John+Bokma · · Score: 1

    Playground doesn't work :-( Tested in Firefox and Chrome.

    1. Re:Playground seems borked by binarylarry · · Score: 1

      Obviously by design.

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Playground seems borked by Anonymous Coward · · Score: 0

      well, you're problem seems to be you picked outdated, outmoded, bloated, terrible browsers to test it on. Car and Driver, TopGear, and the other major car review shows don't review cars using leaded gas.

      Try it on Lynx and get back to us.

  43. Re:Remember the old addage by Anonymous Coward · · Score: 2, Insightful

    Exactly this. Another attempt by microsoft to comandeer a standard and lock people in as they manipulate it to be incompatible.

  44. VS2012 as Node.js dev choice... by aztracker1 · · Score: 1

    I don't see that here at all.. it's basically declarative decorators on top of JS... it's far closer to JS than say CoffeeScript is. Though, I didn't like the way AS3/ES4 worked in practice, I think for some projects this can be useful... It also furthers the use of VS2012 as a tool of choice for Node.js dev.

    --
    Michael J. Ryan - tracker1.info
    1. Re:VS2012 as Node.js dev choice... by Anonymous Coward · · Score: 0

      This. As soon as I watched some source code I realized this is meant to accommodate for Visual Studio. Visual Studio is in many ways the only piece of closed source software of any value in the development world. Nearly everyone who isn't using Visual Studio is using an open source solution (yes I know there are other closed source IDEs but none as popular as VS).

  45. Re:Remember the old addage by larry+bagina · · Score: 1

    I'm looking forward to your 100% similar complaint about coffeescript and dart.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  46. A serious question....why? by Gob+Gob · · Score: 1

    What's broken with JavaScript?

    In a few years we've gone from scratching out code by hand to a wealth of JQuery libraries that make my web development easier. I've only used js as something to help the functionality of web pages at the client level / make AJAX calls. Whilst I realise it can be used for other things it seems to fit this need quite well.

    So my question: It seems to produce the required outcome in its most prolific implementations so why the need to change it? Who benefits?

    1. Re:A serious question....why? by shutdown+-p+now · · Score: 1

      What's broken with JavaScript?

      Many things, really. If you want the full list, you should go to ES6 (Harmony) wiki and look at the proposals for the next standard.

      One thing in particular is that JS, being dynamically typed, is not particularly amenable to advanced tooling support - IDEs etc. You can do code completion, refactoring (e.g. rename method and auto-correct all references to it) and such for dynamic languages by using creative type inference from code, but it's not perfect, and mistakes are especially annoying during refactoring - since a missed identifier simply won't be noticed until error at runtime.

      However, if you sprinkle explicit type declarations here and there, the experience is much better. Of course, you really want to get away with as few as possible, which is precisely why there's type inference in TS as well. And you also want to preserve JS's duck typed nature - dealing with what an object can do, rather than what type it is - which is why TS type system is structural, not nominal.

  47. Re:DEFINITELY No!!! by mZHg · · Score: 1

    Agreed.
    C# is a very powerful language and can be really great for some projects.
    Its one of the 3 languages I use at work, along with c++ and pascal object (Delphi), for projects in various area.

  48. Looks promising by Anonymous Coward · · Score: 0

    This looks really interesting.

    JavaScript is, hands down, the most frustrating language I have ever worked with in my career, and despite working with it several times a week for 10 years now I still struggle to write clean and reliable code.

    The basic syntax of TypeScript looks exactly the same as JavaScript, which is fine with me - JavaScript's syntax is really good. If they have fixed all the scope weirdness and bat-shit-crazy behaviour of things like the date class, then I'm behind them 100%.

  49. Re:Remember the old addage by shutdown+-p+now · · Score: 3, Insightful

    While it is good the output is 'bog standard' Javascript what really matters is that the source is not 'bog standard Javascript'.

    Most of it is actually bog standard ES6 (for example, classes). The only proprietary bit here are type annotations. Which you can ignore altogether if you want, and then you just get a free, open-source implementation of a convenient subset of ES6 that spits out ES5.

    Anyway, this is open source (Apache license), and the implementation is itself written in TS, and runs on Node.js. In other words, it is in no way locked into any existing Microsoft technologies, completely self-sufficient, and you can fork and mod it to your heart's content, on any platform. There is no way to "extinguish" it for Microsoft from this point on, nor control you should you choose to use it, now or in the future.

  50. Re:And this suprises you? by DragonWriter · · Score: 0

    For varying perspectives on what constitutes "free."

    True. The Apache license is only "more free" than the GPL to the extent that "more free" means that the licensor is imposing less restrictive conditions on the licensee, and thus allowing the licensee more freedom.

    Conversely, the GPL is "more free" in the sense that "more free" means that the licensor is imposing more restrictive conditions on the licensee, thus restricting the licensees freedom more.

    But I think its pretty clear that the former sense is the sense that most people would understand "more free" in the sense of freedom of a license.

    One could, perhaps, make an argument that licensing under the GPL does more to protect certain freedom for hypothetical sub-licensees if the direct licensee is disinterested in their freedom. (If the direct licensee is interested in their freedom, it does less, since the GPL prevents the direct licensee from offering sub-licensees licenses under more free terms, like that of the Apache License.)

  51. Re:DEFINITELY No!!! by TheRealMindChild · · Score: 1

    Wait... you aren't still using Visual Studio 6?!

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  52. Re:DEFINITELY No!!! by shutdown+-p+now · · Score: 1

    So, what incompatibilities did C# introduce into Java?

  53. Many options, all wrong by DragonWriter · · Score: 2

    Dart, obviously. But what is the other one?

    Probably one of Go, Closure, Java (via GWT), or C (via NaCl), though I suppose one might see Python and (again) Java (this time, via AppEngine) as "replacements" for server-side JavaScript in the form of Node.js, though that's even a bigger stretch than the others. Dart is the only one that is actually an effort in the direction of a general JavaScript replacement, though.

  54. Re:Remember the old addage by poetmatt · · Score: 1

    carpet isn't pulled, it was never there in the first place.

    This is explicitly slated with the goal being to find a way to break compatibility by starting with apache 2.0.

    If this was Apache 3.0, then we'd be talking about Microsoft trying to benefit the community.

  55. never by Tom · · Score: 1, Insightful

    Never touch anything coming from Microsoft unless you plan to sell out wholesale.

    If you're an MS shop anyways, then do whatever you want. But if you are not, you should've learnt by now that everything they make is lock-in, bait-and-switch or some other trickery.

    Name a counterexample. Pick one that has been around for a while, because they do have a long breath and sometimes give you several years to really bet the farm on their technology before springing the trap.

    --
    Assorted stuff I do sometimes: Lemuria.org
    1. Re:never by terjeber · · Score: 1

      You didn't read the article, did you?

    2. Re:never by Anonymous Coward · · Score: 0

      notepad

    3. Re:never by Anonymous Coward · · Score: 0

      The .NET Framework is about 12 years old now. SQL Server has been in Microsoft's control for about 15 years. If my developing ASP.NET apps with SQL Server for the past 12 years has been a maniacal bait-and-switch scheme on Microsoft's part, this must be the slowest, most who-gives-a-shit con I've ever been a victim of. Yes. Microsoft has made their fair share of missteps over the years. They've changed direction a few times. They've locked customers in to their products with vendor-specific extensions to standards. But in the past year, they've open sourced a shitload of the framework & tools under open licenses (not just MS-PL). They're accepting code from the community. They've embraced JQuery and contributed code back to the project. TypeScript is Apache 2. The compiler is in Javascript! Is there any redemption?! Is it solely because they charge money for their products that makes you so angry? In that case, I presume MySQL and Java are dead to you as well?

      When was the last time you've heard of a company porting an enterprise application to another language for the sole purpose of becoming free of the chains of their oppressor? Unless the application was poorly written, it's a waste of time, money and resources. If an application works and it was designed well enough to be maintainable, the labor costs of mindlessly porting code will outweigh the benefits. I don't care if you've got Python, Ruby, Erlang, Closure, etc.. You are locked in to whatever you choose.

    4. Re:never by Tom · · Score: 1

      The .NET Framework is about 12 years old now.

      And while Mono etc. are around, there is considerable lock-in with proprietary extensions if you rely on the entire .NET toolchain on Windows.

      Is there any redemption?!

      Not really, no. Once you have done certain things, you are fairly well beyond redemption. If you kill your wife's lover in an angry moment, we allow you back into society after some years. But if you get caught after 10 years of systematically murdering women, we don't. In some places we kill you, in some places we lock you up and throw away the key.

      Once you have shown that your evil behaviour is not an abnormality, but standard operating procedure, the burden of proof is on you. And when you've claimed "I've changed!" a couple times and then gone on to fuck over the fools who believed you - well, then future fools will be in short demand.

      Is it solely because they charge money for their products that makes you so angry? In that case, I presume MySQL and Java are dead to you as well?

      I use MySQL extensively. I don't use much Java, mostly for technical reasons. I use a lot of commercial software. Heck, I've paid money for my text editor because it's damn good.

      So no, it's not the money part, it's the evil part.

      You are locked in to whatever you choose.

      True to a point, but missing the argument. When I write code in C or C++ or PHP or whatever strikes your fancy, then I have decided to use a particular language. However, the resulting code will run on any machine (if compiled) or any interpreter (if interpreted), not just a specific one.

      --
      Assorted stuff I do sometimes: Lemuria.org
  56. Okay, I get it... by Anonymous Coward · · Score: 1

    So, a very well respected and knowledgable langauge designer brings some concepts to Javascript to add in typing, but in a way that is easy to strip down to Javascript. He is writing a standards draft document and they have a Apache Licensed implementation of that standard. But, since Andres works at Microsoft, this must be yet another plot to fragment the web and make JavaScript Microsoft only, blah, blah, and this must be a stupid idea that nobody will actually use.

    If Google has done the exact same thing (err, http://www.dartlang.org), nobody here would bat a eye, and a few would swoon. I know that some (perhaps many), think that Linux dodged a bullet with not supporting Mono, but in the end, all that was gained was a rejection of a useful programming language that is gaining a lot of traction because it does a serve a useful place, one that Java used to fill, but whose process is in complete gridlock, making even the most obvious of language features still unavailable.

    This is a useful and well thought out addition to the discussion that needs to happen on how to make Javascript more useful for programmers. To dismiss this and to leave this to Google or any other one Company is not a good idea. To paraphrase Don Box (oh noes, another Microsoft guy): I like static typing. It catches the mistakes we all make, and let me concentrate on other things. I like how Typescript makes it easy to strip this information out, especially compared to Dart.

    1. Re:Okay, I get it... by Pherdnut · · Score: 1

      Granted, I came up in JS but I've never understood the typing concern devs from other backgrounds have with JS. You learn to work with dynamic types by learning how dynamic types work. In scenarios where I know there's potential for type hijinx like concatenation of strings happening instead of addition I make sure all values are normalized beforehand at some bottle-neck.

      This is not something that's necessary often enough to add all the verbosity and inflexibility of static types in JS. For the most part, dynamic types serve to drastically reduce code bloat and makes overloading for a wide variety of sets of arguments much less of an ordeal. It's much easier to be conscious of what your values are and where they're coming from, IMO, than to lock yourself into a scheme that protects you from yourself. Hell, it might even promote better architectural habits (e.g. policing data at bottlenecks as mentioned above).

  57. Re:And this suprises you? by viperidaenz · · Score: 1

    The ability to do with it what you please, without restriction.

  58. Re:Remember the old addage by Tough+Love · · Score: 4, Funny

    Just keep calling it "ECMA Script" until it sticks.

    For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)

    You're welcome.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  59. The problem is not with Javascript by Hentes · · Score: 4, Interesting

    Javascript works well for what it was intended to do: adding dynamic functionality to webpages. It only has problems when it's used for something it was not intended to do like building web-based applications or the Flash-like animations of HTML5. These are very different use cases, and I don't think one language to cover them all is a good idea. Developing new languages for the new web technologies is the way to go.

    1. Re:The problem is not with Javascript by Anonymous Coward · · Score: 0

      If JavaScript, HTML and CSS worked well for what they were intended to do, then I doubt the intentions.

    2. Re:The problem is not with Javascript by Anonymous Coward · · Score: 0

      I'd argue it works, but well?

      Hell, Javascript doesn't even know what it is, it's not purely functional and it's definitely not properly OO yet it tries to be both.

      People develop nice stuff client-side for the web in spite of Javascript, not because of it.

      It's there, it can be bludgeoned into working, but if it was someone's homework I'd give it a D-, "Should have done much better".

    3. Re:The problem is not with Javascript by Dreen · · Score: 1

      What is the difference between having a new language for "Flash-like" features instead of extending an existing one?

      • Both require the browser binary to parse the script and execute it, but if you have two languages you need two scripting engines.
      • With two engines web developers need to take more care because the user ecosystem is more fragmented (this guy has a browser with recent JS but older RichStuffWhateverVM for some reason).
      • How exactly do you distinguish the use cases? Several years ago, an HTML Div that 'animates' by sliding up when you click a button would have been considered rich stuff. Now its pretty straightforward and the "rich stuff" is something else.

      In summary, things change, HTML5's Cavas and Websocket may not be ready to completely replace what we got used to with Flash, but they are pretty damn close and it didn't take them all that long (actually these standards are moving forward incredibly fast).

    4. Re:The problem is not with Javascript by Pherdnut · · Score: 1

      People who say it's not properly OO don't know what OO is. And no, encapsulation is not data-hiding. Nor are classes a requirement.

  60. Re:Run, not walk, away from this poison by terjeber · · Score: 1

    Modde troll is being nice. You clearly are unable to read, and clueless. Trolls at least need to have some clues.

  61. Re:Remember the old addage by gweihir · · Score: 1, Offtopic

    Is it just me or are the MS shills getting even more stupid?

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  62. Re:Remember the old addage by Anonymous Coward · · Score: 5, Insightful

    Is it just me or are the MS shills getting even more stupid?

    When Apache 2.0-licensed, publicly available (on Git), already forked code is somehow getting you "locked in" and "manipulated to be incompatible" i think it's safe to say the stupidity lies with all the anti MS morons with their senseless EEE rhetoric. Although given you think pointing out that this is about as open as it can get which makes it the exact opposite of "locking people in" is being a "shill" you're probably not much different.

  63. Re:And this suprises you? by Anonymous Coward · · Score: 0

    > The ability to do with it what you please, without restriction.

    Every right entails duties. Freedom is no exception.

    If Freedom is like a gas and can expand without limits, it ill disappear -- like a gas.

    OTOH, by being contained and disposed whenever useful, it can be made available to a lot of people... like LGP.

    Or the GPL. ;-)

  64. Re:And this suprises you? by Anonymous Coward · · Score: 0

    GPL isn't about freedom for the licensee. It's actually quite restrictive in that regard. But that's the price it pays to make sure the code itself stays free.

    NB: Licenses are just tools; use what works for you.

  65. Re:Remember the old addage by DarwinSurvivor · · Score: 1

    Not if I can convince him it reminds him of ectoplasm.

  66. Re:Remember the old addage by UnknownSoldier · · Score: 1, Interesting

    > Now Microsofties could complain that the open source proponents are whining unfairly about this and it is resticting their, "Freedom to innovate". To that I say simply this, "How about you instead spend the effort on making your browser work like everyone else's?"

    Agreed!

    So, Microsoft, when is IE (Internet Explorer) going to support WebGL, like every browser does?

  67. Re:Remember the old addage by exomondo · · Score: 1

    This is explicitly slated with the goal being to find a way to break compatibility by starting with apache 2.0.

    Break compatibility with what?

  68. Why a source level language anyways ... by Etoposid · · Score: 1

    What has always bugged me about the whole mess that javascript is, is why don't we ratify a standard instruction set/byte code format, an ABI and API for the browser, as well as HTML extensions ( e.g comes to mind ) and then the browser vendors only have to implement that ( as well as a javascript interpreter on that compiles to it for backwards compatbility ) and we can all write compilers that target that instruction set and get access two a whole lot of language without the baggage that is javascript.... why is this a bad idea ( i am really asking because i think i must be overlooking something )

  69. Re:And this suprises you? by Anonymous Coward · · Score: 0

    Congrats for the -1.

    That's whta I usually get here, just so that you know...

    And just so that you know, I agree on all points -- including what /. was... and I was here at the beginning (spent some time just reading without writing).

    IMHO, +5, Insightful for you.

  70. Re:Remember the old addage by hlavac · · Score: 2

    Public has entered the enlightened stage of not taking _anything_ from Microsoft - open or not. Common sense now says there is or will be a catch to it and anyone who takes it will regret it. That is what happens when people get burned repeatedly. They learn. Astroturf this away if you can :)

  71. Re:Remember the old addage by Anonymous Coward · · Score: 0
    Which would make it incompatible with the Apache License 2.0.

    The ASF adopted the Apache License 2.0 in January 2004. The stated goals of the license included making the license easier for non-ASF projects to use, improving compatibility with GPL-based software, allowing the license to be included by reference instead of listed in every file, clarifying the license on contributions, and requiring a patent license on contributions that necessarily infringe a contributor's own patents.

    So there goes your submarine patent conspiracy theory.

  72. I call for web byte-code by devent · · Score: 5, Interesting

    So can we finally have a specification that is not bound to a specific implementation? Why in all what is good and holy, do we need the limitation of JavaScript? Just make a byte-language specification, just like the CLR or Java Byte-Code for the DOM stuff.

    Then everyone are free to use Python, Ruby, Java or what else as a language, the browser needs only to interpret the Byte-Code that the language-compiler is producing (just like with Java and javac, where you can use any language you like to produce the Java byte-code).

    If you are really worried about open source, then answer me this: What is the difference between this and byte-code? There is none, because both are not human-readable. So why not just to agree to a byte-code that interfaces the DOM and html5 and then we can use any language we like to generate the byte-code?

    Wouldn't it be nice to fire up your favorite IDE or editor and just write Python or Ruby (or insert here your favorite language) for your web-page? But no, we just have to use JavaScript until the end of the universe.

    PS: most browsers are compiling JavaScript to a byte-language anyway nowadays, because then they can optimize the byte-code so JS will run faster.

    --
    http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    1. Re:I call for web byte-code by Anonymous Coward · · Score: 0

      Good idea, now herd all the browser vendors into supporting it....

    2. Re:I call for web byte-code by DrSpock11 · · Score: 1

      This is what Google's Dart is intended to do. Dart has its own byte-code. Google has been forthright that the Dart-to-JavaScript compiler is a "temporary" measure until all browsers support Dart in some hypothetical future (that has about a 0% chance of occurring).

      The problem with adding any new language is that it requires support from all browsers to be at all useful. TypeScript is *not* a new language, it's just pre-processed JavaScript (like CoffeeScript). So without making a single phone call to another company, Microsoft has created a language that is 100% compatible with all existing browsers.

    3. Re:I call for web byte-code by Anonymous Coward · · Score: 0

      What is the difference between this and byte-code?

      this

    4. Re:I call for web byte-code by swillden · · Score: 2

      The problem with adding any new language is that it requires support from all browsers to be at all useful.

      I don't think that's necessarily true.

      Think about a near-future world in which Chrome -- and only Chrome -- has a Dart VM, and suppose that Google's dream of Dart bytecodes being an order of magnitude faster to download and running an order of magnitude faster is realized. Google will then invest in writing all of their web apps in Dart, using the generated Javascript code in browsers that don't support Dart but running Dart bytecodes wherever possible. End result: Google's web apps are an order of magnitude snappier and more responsive when running on Chrome. This will be especially valuable on mobile devices.

      Don't you think other sites would have to at least consider using Dart to get the same effect for their Chrome users? Chrome is big enough to make it worthwhile for many sites, especially since compilation to Javascript means they still only have to maintain one codebase, and they can even make the conversion incrementally. And of course, if Chrome users are getting a huge speedup from Dart-enabled sites, it's going to make sense for the other browsers to implement it as well (and Google will be happy to help them to so).

      I don't know if Dart is going to be successful, but (a) it really doesn't have to be supported by all browsers to be useful (as long as compilation to Javascript is reliable) and (b) there's a very plausible, incremental, path forward to a Dart-only web.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:I call for web byte-code by purpledinoz · · Score: 1

      What is the difference between this and byte-code? There is none, because both are not human-readable.

      Chuck Norris can read it. In fact, Chuck Norris compiles code in his head.

    6. Re:I call for web byte-code by Pherdnut · · Score: 1

      I think adapting a given language to spit out byte-code according to yet another unevenly supported (mostly by Microsoft in the past) spec, is a taller order than you realize.

  73. Trust Microsoft? by sfarber53 · · Score: 1

    You have to be kidding! This is like asking the fox to guard the hen house. Their only motive is profit and their top leadership is incompetent. For all of Javascripts problems, trusting Microsoft would be much worse. You might as well as developers to stab themselves in the eye.

    --
    Like the inimitable Groucho Marx, I would never join a club that would have me as a member.
    1. Re:Trust Microsoft? by Billly+Gates · · Score: 1

      Give MS credit. IE 9 is the force real attempt at trying to make a good cross compliant browser. IE 10 has the most compliant javascript engine out of all the major browsers with the best performance. Like it or not corps will not leave IE EVER. They might as well have a similiar experience we get with Firefox or Chrome. MS has competitors now and can not do the same things they did when Netscape was spiraling out of control and out of business. Apple, Google, and Mozilla are not letting up and the W3C is now waking up and getting ready for the first HTML 5 draft by the end of year with 5.1 draft by 2014. If MS tries to do an IE 6 with IE 11 as an example the majority of websites will miss render and people will switch to another browser.

      In the old days it was netscape that miss rendered as MS had the marketshare which forced them to switch to IE 6.

    2. Re:Trust Microsoft? by Pherdnut · · Score: 1

      I'll take them seriously when I can install every version of their browser on the same OS and not a day before.

    3. Re:Trust Microsoft? by Billly+Gates · · Score: 1

      So that means you want 11 year old OSes like XP which can't do the 3d acceleration nor h.264 of direct X 11.

    4. Re:Trust Microsoft? by Pherdnut · · Score: 1

      No it means I want them to stop with the BS artificial-coupling of browser to OS they've used to skirt anti-trust legislation in the US.

  74. Re:Remember the old addage by rahvin112 · · Score: 1

    And how many patents?

    Java was great as well, even released under the GPL but when the chips were down the patents came out, thank god the Judge was sensible and threw them out of the trial.

    C# and .Net had very open architectures, the problem was the same as Java, MS had patents on almost every aspect of the system which meant use at your own risk. I'm willing to bet that in short order we'll find out MS has applied for a dozen patents on typescript in the hope that if it becomes popular they can use it as a club against competitors. They HAVE done it before, they will do it again.

  75. Embrace, Extend, Extinguish. by tverbeek · · Score: 1

    "Embrace, Extend, Extinguish."

    Exactly.

    --
    http://alternatives.rzero.com/
  76. Re:Remember the old addage by SplashMyBandit · · Score: 1

    The significance of those languages is not the same as mainstream Javascript (meaning, one already has huge adoption and the others, not so much).

  77. Re:Remember the old addage by Anonymous Coward · · Score: 0, Offtopic
    if you took microsoft out of this story you would have no argument against it which is why your post is complete drivel. you seem to have an inability to look at the facts because everything you see is colored by your view of microsoft, if this were closed-source or under some microsoft shared source license then you may have a point, but it isn't, it is open source and the code is available, you can download it yourself if you want. in fact it emits javascript and if you don't think it is conformant you can fork a version and change it.

    if you want to spread FUD and dismiss facts as "astroturf" go right ahead but it just demonstrates that you have no understanding of open source.

  78. Re:Remember the old addage by kye4u · · Score: 1

    Embrace, Extend, Extinguish.

    Microsoft freely admits it, and when everyone jumps on the TypeScript bandwagon, the carpet will be pulled out from under you.

    This seems reminiscent of the Excel vs Lotus 123 war and how Microsoft won. Joel Spolsky has a great article describing the tactics M$ used to win the war.

    The basic idea was to eliminate barriers that would keep people from switching from Lotus 123. Below are some exerts from the article. I think there are some interesting parallels to Typescript and javascript.

    Barrier:They have to convert their existing spreadsheets from 123 to Excel
    Solution:Give Excel the capability to read 123 spreadsheets

    Barrier:They have to learn a new user interface
    Solution:Give Excel the ability to understand Lotus keystrokes, in case you were used to the old way of doing things

  79. Re:Remember the old addage by SplashMyBandit · · Score: 0

    > Most of it is actually bog standard ES6 (for example, classes). The only proprietary bit here are type annotations. Which you can ignore altogether if you want, and then you just get a free, open-source implementation of a convenient subset of ES6 that spits out ES5.

    You cannot ignore the annotations if the majority of libraries you are attempting to use are 'tainted' with them. This is the problem with injecting proprietary technology (behaviour not specific to Microsoft) into existing and widely used technologies (not only development languages). Historical example: the mutation of Kerberos for Windows, etc etc.

    Now, if Microsoft were actually going to do something to improve the Javascript experience they would spend effort into make Internet Explorer work like the other browsers (which, despite pitiful resources, manage to be roughly similar in behaviour) and make it run fast (there are some Javascript operations in IE that are 100x slower than its competitors). I'm suggesting a 'profile guided optimization' here; leave Javascript/Ecmascript alone for now and fix the real point of pain of Microsoft tech on the web/mobile; the Abomination that causes Desolation, and premature aging of web devs (otherwise known as Internet Explorer).

    > Anyway, this is open source (Apache license), and the implementation is itself written in TS, and runs on Node.js. In other words, it is in no way locked into any existing Microsoft technologies, completely self-sufficient, and you can fork and mod it to your heart's content, on any platform. There is no way to "extinguish" it for Microsoft from this point on, nor control you should you choose to use it, now or in the future.

    Now *that* kind of behaviour is good, and I applaud Microsoft for choosing to do that. I'm sure it was techies like yourself that fought the good fight and sold your management that this was a Good Thing. Well done.

  80. Re:Run, not walk, away from this poison by Billly+Gates · · Score: 1

    I think after writing sites for IE 6 your opinion will change quite rapidly. :-)

    I was shocked beyond belief myself after believing the anti IE hysteria when IE 9 came out. MS should be given credit for at least trying to innovate and catch up. THe problem is its users never and I mean never ever update unless they are forced too with Windows Update! So people's perception of IE has them remembering 11 year old IE 6 with angry memories.

    I think this is great if MS adds this but makes current javascript fully compatible with W3C and ECMA standards. However, I can see intranet makers taking advantage of this and creating tie in all over again if MS is not careful (like changes things around so corps have to use ancient browsers and force the whole internet to have a degraded experience)

  81. Re:Remember the old addage by Anonymous Coward · · Score: 0

    And how many patents?

    If you are familiar with the Apache 2.0 license you would know it doesn't matter.

    Java was great as well, even released under the GPL but when the chips were down the patents came out

    The obvious point of difference was the argument that the implementation of Dalvik was not based upon the GPL version of the Java code and thus not eligible for the patent licences. That situation is not analogous with TypeScript's Apache 2.0 licenced code.

    They HAVE done it before, they will do it again.

    What patented open technology have they introduced that they have then used infringement litigation to crush their competitors with? They certainly haven't done it to Mono with .Net.

  82. Re:DEFINITELY No!!! by Tough+Love · · Score: 1

    I'm positive that when Microsoft hired Anders they uttered a sentence like "We want to clone Java so it only runs on Windows."

    And then .Net was born.

    And then today Google became bigger than Microsoft in terms of market capitalization, on the back of Linux and Javascript.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  83. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Will you guys stop pulling shit out of your ass and wait until there is one fucking hint of an indication it may ever will? You're bigger retards than regular conspiracy theorists.

  84. Re:Remember the old addage by shutdown+-p+now · · Score: 2

    You cannot ignore the annotations if the majority of libraries you are attempting to use are 'tainted' with them.

    Sure you can. You just run the TS compiler on them, get JS output, and stick to that. It's quite intentionally outputting well-formatted JS that very closely mimicks the original code - to the point where language spec itself defines how exactly transformation happens. Right now it's not comment-preserving, but they intend to change that, too. This all will work much better once they start targeting ES6 directly, rather than ES5.

    Also note that annotations are purely compile time hints (for warnings, IDE tools etc), they do not change runtime behavior at all. So you can indeed strip every single one without changing semantics.

    Now, if Microsoft were actually going to do something to improve the Javascript experience they would spend effort into make Internet Explorer work like the other browsers (which, despite pitiful resources, manage to be roughly similar in behaviour) and make it run fast (there are some Javascript operations in IE that are 100x slower than its competitors). I'm suggesting a 'profile guided optimization' here; leave Javascript/Ecmascript alone for now and fix the real point of pain of Microsoft tech on the web/mobile; the Abomination that causes Desolation, and premature aging of web devs (otherwise known as Internet Explorer).

    Admittedly I don't know much about the current flock of issues with IE - not being a web developer - but from what I've heard, IE9 was a massive improvement on IE8, and I've heard good things about IE10 as well - I wonder if your "100x slower than competitors" still applies there?

    There is certainly a team that focuses on its JavaScript engine alone, and perf is a major issue for them. TypeScript, on the other hand, is an altogether different team, and people there focus on much different things (for example, runtime perf really isn't their concern - they just produce idiomatic JS, and leave it to the implementation to handle it right). That's why you see e.g. Anders Hejlsberg there, who is the local language design guru. I'd expect JS runtime team to be similarly stuffed with people who have considerable experience with JIT compilers and such.

  85. Re:Remember the old addage by Anonymous Coward · · Score: 0

    They both compile to javascript, just like TypeScript. Coffeescript.org's first line is:

    "CoffeeScript is a little language that compiles into JavaScript."

    They are the same thing.

  86. Re:Remember the old addage by recoiledsnake · · Score: 1

    What are you talking about? There is no Apache 3.0 license that I know of.

    Perhaps you confused Apache with the GPL in your rush to type in a knee jerk karma whoring anti-MS comment like you usually do?

    --
    This space for rent.
  87. Re:Remember the old addage by pspahn · · Score: 2

    Rather, it seems MS is trying desperately to become more relevant and trustworthy in the open source space. So much so that they will toss their hat in the ring any chance they get.

    Javascript seems like a good opportunity, if you're looking at it from their perspective.

    --
    Someone flopped a steamer in the gene pool.
  88. Just about anything can be translated to javascrip by bored · · Score: 1

    There is a LLVM backend that dumps to javascript here https://github.com/kripken/emscripten/wiki.

    So, now you can probably run your python, lua, ruby, etc scripts on the client side, you just have to provide a LLVM front-end or a language that can be compiled with one of the pre-existing ones.

  89. SDL by bored · · Score: 1

    Opps, that should have read SDL.

  90. Re:And this suprises you? by Anonymous Coward · · Score: 0

    Just remember, its either Open or it isn't, no half way house.

    Right and in this case it is indeed Open. You can get the source code from git which is under the Apache 2.0 open source license.

  91. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I am not following your logic on this one? What's wrong with C#? VB is still alive and kicking under .NET as well. COM/DCOM and OLE served a purpose during a period of time.

    The problem with SpalshMyBandit and his crossplatform choir is that they want technology to just stay still. If something works why change it? right?

  92. Makes Sense, Not by Anonymous Coward · · Score: 0

    Makes sense that the makers of the worst web browser create a replacement for Javascript, NOT!!!

  93. Re:DEFINITELY No!!! by Anonymous Coward · · Score: 1

    What are you talking about? Seriously. C# is no less important than VB.NET no less important than C++ at Microsoft.

    According to your logic, Java should be in trouble because Oracle focuses on databases?

  94. No more Javascript by Anonymous Coward · · Score: 0

    Javascript along with it's creator needs to die a slow death...preferably in a fire.

  95. Re:And this suprises you? by Anonymous Coward · · Score: 0

    Every right entails duties. Freedom is no exception.

    But the GPL forces developers of derived works to make their work GPL as well, BSD/Apache give you choice, GPL does not, hence it is less free as it takes away choice. BSD/Apache gives the freedom to make your own choice, you aren't forced to make the same choice as the original author like you are with the GPL.

    If Freedom is like a gas and can expand without limits, it ill disappear -- like a gas.

    And if Freedom is like Hitler it will instigate a holocaust, thankfully just as Freedom is not anything like a gas it is also not anything like Hitler.

    OTOH, by being contained and disposed whenever useful

    You should never dispose of freedom.

  96. Re:Remember the old addage by jbolden · · Score: 3, Insightful

    research.microsoft.com has been advancing lots of open source functional languages that use type inference and no one has been getting burned. The research group lets them do cutting edge research and then another research group builds an implementation for more mainstream languages and then it gets pulled in by product management.

    So I'd say in the open source language arena the public has learned the opposite.
    I'll agree it is different with products as opposed to technologies.

  97. Re:Remember the old addage by jbolden · · Score: 1

    They've had a JavaScript alternative for years, VBScript. IE is not the standard browser anymore and IIS is not the large enough. So they need something more open. But this isn't a change they've had a VB alternative since Microsoft got in the webserver business.

  98. Re:Remember the old addage by jbolden · · Score: 1

    Most likely the Microsoft languages group has no say one way or another over the implementation of the trident engine. Microsoft is not a company with a dozen people.

  99. Re:Remember the old addage by chentiangemalc · · Score: 1

    You obviously have not made any effort to look at TypeScript. You are not bound to TypeScript. You get the output in JavaScript. Take the JavaScript and forget the TypeScript. There is ZERO lock-in.

  100. Re:And this suprises you? by Anonymous Coward · · Score: 0

    So, a free country shouldn't take away your choice to have slaves?

  101. Re:Remember the old addage by DrSpock11 · · Score: 2

    C# .NET is historical? Really? Last time I checked MS *just* released .NET 4.5 and C# 5.0. Not to mention C# has been on the *cutting edge* of language design for years while Java is stuck in development hell.

    That "yield" keyword that Python 3.3 just added? Guess what mainstream language they got the idea from? The lambda syntax ECMAScript 6, C++11, and CoffeeScript use? Guess where that came from? Hint: NOT Java, Python, Ruby, PHP, Perl, or other open-source language of your choice.

    Just wait a few years and watch at how many languages add an "async/await" feature.

  102. Re:Run, not walk, away from this poison by terjeber · · Score: 1

    Sigh. You didn't read the article either. That is a pity, since it makes you look stupid. Here is a clue for you: MS is not adding this language to the browser. Again, for the slow among us: MS is NOT adding an update to Javascript to their browser. Nothing new is being added to the browser at all.

    The new language is doing what Scott Hanselman hinted to some time back, it treats browser-neutral JavaScript as "assembly language". Compilers for better better languages compile their source to browser-neutral JavaScript. What is deployed is not a new language and not a new browser plugin. What is deployed is bog standard JavaScript.

  103. Re:Remember the old addage by Anonymous Coward · · Score: 0

    How about all the lawsuits and extortion payments MShit has been hitting Android vendors with. They are actually making more money from these extortion payments than what they are making from their own phone products.

  104. Re:And this suprises you? by Anonymous Coward · · Score: 0

    So, a free country shouldn't take away your choice to have slaves?

    That would be imposing a restriction of freedom on someone else, which is exactly what the GPL does to the authors of derived works.

    You should be free to make your own choice so long as that doesn't affect the choices of others, so long as the original code is still free (which in the Apache/BSD license situation it is) you haven't taken anything away from anyone else and you don't impose restrictions upon anyone else.

  105. Re:Remember the old addage by Drishmung · · Score: 1

    Just keep calling it "ECMA Script" until it sticks.

    For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)

    You're welcome.

    No, because it already makes me think of eczema which is far more disturbing.

    --
    Protoplasm. Quiet Protoplasm. I like quiet protoplasm.
  106. Re:Remember the old addage by Princeofcups · · Score: 1

    Embrace, Extend, Extinguish.

    Microsoft freely admits it, and when everyone jumps on the TypeScript bandwagon, the carpet will be pulled out from under you.

    How is this shit modded 'Insightful'? Karma whoring at its best, capitalizing on the nerd rage of geeks frothing at the mouth whenever Microsoft does anything. The fact is it is under an Apache 2.0 license, the spec is available and there are already 5 forks, so unless you have a fundamental misunderstanding of what EEE means you're just trolling.

    Under Apache license for all future versions? Not on your life. This is how it starts. Get people hooked, then drag it back to closed source with the latest must have extensions. Have you really been asleep for the last 30 years, or are you just too young to recognize the same old pattern over and over from Microsoft?

    --
    The only thing worse than a Democrat is a Republican.
  107. Re:And this suprises you? by johanatan · · Score: 1

    It has nothing to do with whether the direct licensee is interested or disinterested in their freedom. The argument for GPL being 'more free' is that it forces the direct licensee to be at least as free as it has been to him.

  108. Re:Remember the old addage by Anonymous Coward · · Score: 0

    People need to stop dragging out Microsoft as the old enemy.. they're fairly irrelevant at this point as they totally failed to extinguish anything in the open source community. In fact the only major things I could see tied to them was Mono, and it was the boycott by the open source community that killed it, not Microsoft themselves.

    I'm not defending these Redmond idiots -- they've certainly done their share of evil in the tech world. I'm just saying there are more interesting and evil companies to draw your ire these days. It's not 2001 anymore.

    Also, you used M$ presumably as an adult (as you reference a 30-year-old software beef), therefore your argument is invalid.

  109. Re:Remember the old addage by exomondo · · Score: 1

    What about them?

  110. Re:Remember the old addage by Doctor_Jest · · Score: 0

    That's the bloody point. Microsoft has a history of screwing things over once they get what they perceive as majority mindshare. The fact that Microsoft is behind it makes EVERYONE (except those on the payroll of Redmond) suspicious. Their track record speaks for itself. Google it... better yet, Bing it so you won't blame google for "FUD".

    Honestly, are you that enamored with Microsoft that you can't see the facts as plain as day? This isn't speculation... Microsoft HAS fucked over plenty of things first by making it free, then extending it, and later fucking the alternatives out of business. It makes me sad you can't see that.

    --
    It's the Stay-Puft Marshmallow Man.
  111. Re:Remember the old addage by Doctor_Jest · · Score: 2

    If you want to dick measure... where do you think C# got its core constructs from? Intelligent aliens? EVERYTHING has come from open-sourced languages... you don't GET where C# is (or Java for that matter) without Lisp, Scheme, etc. Hell, Lisp had if/then/else constructs before ANY other language... it didn't come from IBM, either...

    --
    It's the Stay-Puft Marshmallow Man.
  112. Re:Remember the old addage by Anonymous Coward · · Score: 0

    As opposed to bind to what? Would you rather "bind" yourself to Microsoft, or Jeremy Ashkenas and Coffeescript? Which one has a better track record in terms of support?

    Both have source code available, that any developer could pickup if either entity did ever drop support. Microsoft is not the once evil shade it use to be. Apple stole that spotlight.

    While it certainly isn't revolutionary, TypeScript seems to offer some helpful pieces for those of us who write more than jQuery statements.

    If you are concerned about having to "learn" something else, then get out of the programming field. Shit changes too fast for you. In reality, all BS aside, how hard is it to read the language spec? Because to any competent developer, this is all it takes to learn the ropes of something new.

  113. Re:Remember the old addage by strikethree · · Score: 1, Insightful

    Microsoft ALWAYS has a plan to manipulate things or outright control things. It is not unreasonable at all to be suspicious of this too, even if there is no currently visible way that anything underhanded could be done. Act offended if you want but not very many people will care.

    --
    "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  114. Re:Remember the old addage by Unknown+Lamer · · Score: 2

    The type annotations/inferences are features that would have been in ES3, had it not been tanked by committee.

    --

    HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  115. Re:Remember the old addage by FirephoxRising · · Score: 1, Insightful

    Yet. They're at the Embrace stage, how long until you have to use their "optional" extras, or it breaks something, or even throws up a harmless error that freaks bosses out. Remember the DR DOS windows error?

  116. Re:Remember the old addage by Anonymous Coward · · Score: 0

    He means in the 'dictating policy and direction' way.

  117. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I agree with previous comments. Microsoft proven far too many times to be bad. We should not trust it. For all we care it can be Trojan Horse.
    Learning this language makes you depend on it. Learning new programming language is not trivial. I don't beleieve this language will be by default crosscompatible with other browsers/platforms/browsers on other platforms.

    DON'T TRUST MICROSOFT! IT'S RIGHT THING TO DO!

  118. Re:Remember the old addage by Anonymous Coward · · Score: 0

    That's the bloody point.

    right! its the fact that its microsoft, you don't care to understand the specifics of this situation, or the license or the ability to access the code or any of that, all you care about is that it is microsoft and that makes you angry.

    Honestly, are you that enamored with Microsoft that you can't see the facts as plain as day?

    what i can see plain as day is that this is open source, i can download the code, i can see the license, i can read the terms of the license and understand that they cannot screw anyone over with it. obviously you are too blinded by your rage to be able to do these simple things.

    This isn't speculation... Microsoft HAS fucked over plenty of things first by making it free, then extending it, and later fucking the alternatives out of business. It makes me sad you can't see that.

    wrong! they have never ever made anything open source and then extended it and screwed anyone over troll, you're referring to things that are totally different yet you are too busy frothing at the mouth to understand why this is different. let's see if you can explain the key differences between this situation and the ones you are referring to...can you do that? probably not, you are far too angry to be able to understand what the differences are.

    what part of Apache Software License 2.0 and git clone https://git01.codeplex.com/typescript is so difficult for you to understand?

  119. Re:Remember the old addage by exomondo · · Score: 3, Insightful

    He means in the 'dictating policy and direction' way.

    But that wouldn't make sense because the beauty of open source is that if you don't like the direction that the project steward is taking it in you can just fork it, simple.

  120. Re:Remember the old addage by exomondo · · Score: 1

    Under Apache license for all future versions?

    Does it matter? Just build your local binary from source and use that, if you're really paranoid then create your own fork at each release, that way if for some reason they come out with a proprietary release and stop doing source releases you can use your own fork or some other community fork, that's the beauty of open source :)

  121. Re:Remember the old addage by Anonymous Coward · · Score: 0

    It's under an Apache 2.0 license. Seriously the comments on here are fucking retarded. I don't expect Microsoft to get much love on a site as rapidly biased as slashdot, but I'd like to see how the fuck you lock someone in when it's open source. Maybe we should all boycott Linux because it's obviously an attempt to lock us in as well.

    This is the kind of thing that the neckbeards have been calling on Microsoft to do for years, and when they do it, there's just the same old bullshit trashing of their work.

  122. Re:Remember the old addage by thebjorn · · Score: 4, Informative

    Python 3.3 didn't add a "yield" keyword, it added a "yield from" construct. Python has had "yield" since version 2.2. Python also has type annotations that "don't do anything": http://www.python.org/dev/peps/pep-3107/

  123. Patent encumbered open source by Anonymous Coward · · Score: 0

    Apache 2 license permits a patent trap, whereas GPL v3 doesn't.

    Microsoft chose Apache 2 for that reason. Expect to see them announce they've been issued with patents that cover Typescript if ever it was adopted. Best avoided.

  124. Re:Remember the old addage by Anonymous Coward · · Score: 0

    And how about patents? Would you bet against me if I said that Microsoft had a bunch of patents pending related to TypeScript?

  125. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Pointing to the Microsoft implementation does not refute the argument that you are bound to the Microsoft implementation.

  126. Re:Remember the old addage by Anonymous Coward · · Score: 2, Informative

    And either doom the fork to incompatibility, or keep playing catch-up, while still being bound to Microsoft, like Mono.

  127. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Sure you can. You just run the TS compiler on them

    Which definition of ignoring something includes running the bloody thing you are trying to ignore?

    You might as well say "sure you can ignore Windows 8, you just install Windows 8".

  128. Re:Remember the old addage by Anonymous Coward · · Score: 0

    The output from the "compiler" is bog standard javascript, no microsoft extensions at all.

    So if the "carpet" ever got pulled out from under you, all you would do is go back to editing the standard .js directly.

    That is not how Microsoft does things. If they handle this the same way they have handled other things the more likely outcome is that they will start sending the raw TypeScript source with the javascript one and let Internet Explorer use the TypeScript directly. Then they will spend less time worrying about getting the compiler to get the javascript right, after all, that is the other browsers problem. The web developers will not get funding for migrating back to standard .js since it is less expensive to find a workaround for the bugs that Microsoft introduces but this leads to ugly and unmanageable code just like always when Microsoft is involved.
    There will also be benchmarks that shows that Internet Explorer is way faster at executing TypeScript directly instead of the javascript output, it will still be slower than other browsers javascript interpreters.

  129. Re:Remember the old addage by exomondo · · Score: 1

    Pointing to the Microsoft implementation does not refute the argument that you are bound to the Microsoft implementation.

    Like i said, unfamiliar with the concept of open source, you see with an open source project anyone can fork the original implementation, creating their own version that they can modify, use, publish as they see fit. Here's a link to fork typescript. Alternatively you could do a git clone https://git01.codeplex.com/typescript to pull down the source and host it yourself or post it to any other code hosting service if you don't like codeplex.

    The beauty of open source is that you don't have to be bound to Microsoft in any way.

  130. Google did this with Closure & Javascript by Anonymous Coward · · Score: 0

    Google's Closure (https://developers.google.com/closure/) library does this same sort of thing: type checking, optimization, compilation (via obfuscation.) It uses comments instead of annotations; you just write comments about the type of objects you're passing around in your functions. It also supports inheritance, templates, dependencies, etc. When you're done you just run it through the Closure compiler (or don't, you're just using Javascript) to check everything and compress it down.

  131. Re:Remember the old addage by exomondo · · Score: 2

    And how about patents? Would you bet against me if I said that Microsoft had a bunch of patents pending related to TypeScript?

    They released it under the Apache 2.0 license so patents aren't an issue, moreover typescript just emits javascript so the end result that is actually used is just plain javascript anyway.

  132. What? NoHungarianNotation? by Anonymous Coward · · Score: 0

    I'm so LPSTRDisAppOinTed!

  133. DO NOT WANT. by Anonymous Coward · · Score: 0

    I've wasted too much time porting VBscript to JavaScript already, just so that a site I had to maintain would work "cross-browser" (in this context meaning, "on anything other than IE") again.

    Also, I've seen what happens with MS "cross platform"/"open" promises. That great platform dot net? Which was ported by the Mono project? I'm bloody impressed how far I got running that on Linux. Of course any of the MS-proprietary SharePoint components are only available as Windows DLLs anyway and won't work.

    This is nothing more but another attempt to take over the web.
    DO NOT WANT.

  134. Re:Remember the old addage by SplashMyBandit · · Score: 1

    You miss the point, I think. When you remove the TypeScript annotations what makes you think the remaining JavaScript will be useful. Usually the annotations are a core part of the implementation that ties disparate parts together. Without them you simply don't get the same application in the remaining code. Hence, it is an issue. Once you start using such things going back is not simple (it also takes time and effort/money to *remove* source components and ensure the remaining code actually works).

  135. Re:Remember the old addage by ThePhilips · · Score: 1

    if you took microsoft out of this story you would have no argument against it

    If you took M$ out of this story, there would be no story. Programming languages are thousand a dime this days.

    QED.

    --
    All hope abandon ye who enter here.
  136. Re:DEFINITELY No!!! by Anonymous Coward · · Score: 0

    Not sure where you've been, but Mono is every bit as functional as .Net within months of a new .Net version. The only major variation that I've encountered in my more advanced projects are the Reflection and Reflection.Emit namespaces, which I've had to replace Mono.Cecil based solutions, which frankly work a lot better anyway.

  137. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Java doesn't have yield as a keyword. That is not its philosophy to add lots of keywords (like C++), but instead to be like C and add such functionality to libraries (standard libraries in Java's case). Java has had Thread.yield since its release in the mid 90s. Even Java borrowed this concept from elsewhere (eg. pthread).

    C# will continue, as I stated. It just won't be the focus of attention for Microsoft that it once was. This follows a historical pattern. I have experienced this with many Microsoft technologies I've used since the early days. Hence, this is a heads-up for anyone currently using it - you will be able to get things done, but don't expect to get the same level of love as you used to (unlike some languages and technologies).

  138. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Please elaborate. Why did the committee reject the annotations?

  139. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Exactly. To remove the code you still have a reliance on tools and vendors that you might prefer not to. Even if everything is open (as it is in this case, thank goodness), you still have to spend the effort running this 'preprocessor' to remove unwanted constructs. Probably the code that is remaining will lack something that the annotations gave (tying it together), which will require work to adjust the Javascript to work. This is speculation on my part (since I've not used Typescript, and it doesn't solve any particular problem for me, so I won't be using it in the near term), but I would be very surprised if something was not lost when annotations were removed (otherwise, what is the point of even having them?).

  140. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Thread.yield (which lets a thread yield control) has no relation to Lua/C#/Python/Javascript1.8 yield (which yields a value from a coroutine). Sure, coroutines can be implemented as libraries, and there were coroutine libs for C# before C#2.0 introduced "yield", but they're less comfortable to use compared to coroutines implemented as first-class citizens.

    Go away and hand in your geek badge on your way out.

  141. Re:Remember the old addage by Anonymous Coward · · Score: 0

    On the grounds that even they can't possibly fuck it up because it's already unbelievably shite?

  142. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > Admittedly I don't know much about the current flock of issues with IE - not being a web developer - but from what I've heard, IE9 was a massive improvement on IE8, and I've heard good things about IE10 as well - I wonder if your "100x slower than competitors" still applies there?

    IE is improving, but it is still the bane of web developers. We had horrific performance issues when rendering map layers in IE9. With another client we have tooltips that don't work correctly on IE9 (but do on other browsers). It is true that all browsers have quirks, but IE just happens to have a lot more, and the ones it does have are unfortunately quite noticeable. Hence, a casual Google (or Bing) web search will reveal a lot of poor user experiences with IE9, and tribulations for web developers (feel blessed you don't have to deal with it :) with lots of stuff moving to the web lots of devs can't avoid it).

  143. Re:Remember the old addage by Anonymous Coward · · Score: 0

    But that wouldn't make sense because the beauty of open source is that if you don't like the direction that the project steward is taking it in you can just fork it, simple.

    And then you not only have to maintain your code, you have to maintain the compiler too. That will help the workflow!

  144. Re:Remember the old addage by Hognoxious · · Score: 1

    I always think of ITMA.

    Where's me washboard?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  145. Re:DEFINITELY No!!! by Anonymous Coward · · Score: 0

    C# will always be around but it won't get the resources that the 'new hotness' team gets (eg. TypeScript). Meanwhile, those that use other tools (standard C++, Java etc) will keep plodding along, continuously evolving.

    Java has a long way to go till catching up with C#. If the evolution of C# slows down then it would be at the same pace of Java's evolution. For the last years C# has evolved a lot more.

  146. Object Pascal by Nahooda · · Score: 1

    I wish the browser makers would replace that annoying JavaScript language with the elegant, nowadays rarely used (Object) Pascal. Then I'd love to work on AJAX web applications.

    -Nahooda

    --
    Sigs suck!
  147. Re:Remember the old addage by Anonymous Coward · · Score: 1

    "These days their compiler will accept 'bog standard' C++, however to get real stuff done you still have to start using Windows constructs and interfaces (due to Microsoft producing APIs that look like like 'plain vanilla' C++; as many other APIs try to do). "

    How is this any different to anyone else's platform? If I write C++ code iOS, Android, or even Linux using the platform native (rather than abstracted overlays of) libraries then I run into the exact same problem. This is merely how native development works, and whilst there are libraries that are cross platform for various tasks, they inevitably result in you having to compromise, for example, many cross platform windowing frameworks simply look awful compared to native versions.

    But it's never really been any different, if you want portability you must abstract away from the low level platform specific frameworks, and then write concrete implementations for those abstraction layers on a per-platform basis.

    "To that I say simply this, "How about you instead spend the effort on making your browser work like everyone else's?". The amount of workarounds and hacks required to compensate for the borked and agonizingly slow way that Internet Explorer handles (what should be) cross-platform Javascript is 'criminal'."

    Sorry but this argument is really outdated now, I'd have agreed with you with IE8 or lower, but since IE9 it's actually one of the least problematic browsers in this respect. Increased competition in the browser market and declining IE marketshare has forced them to raise their game and they really have.

    "Historical examples: C#.NET (still used widely but not getting the Microsoft focus it once did)"

    This is laughable, are you fucking serious? C# is ahead of most other languages in the field precisely because it has Microsoft's attention, things like lambdas were in C# before C++ and PHP, and afaik, Java is STILL waiting even now. The framework itself is similarly evolving with .NET 4.5 having recently just been released with both the language and the framework recieving a heavy focus on improving parallel programming support. In 4.0 it got the DLR - something which other common languages still don't have. Look: "I don't follow C#'s development" is not the same as "C# doesn't have the focus it used to".

    "Visual Basic, COM/DCOM, OLE, C/C++ Win32 etc etc Yes you can still develop with these, but once upon-a-time they were the shizzle promoted by Microsoft and now people have to spend their time maintaining them with old and outdated tools."

    This isn't even close to true either, whilst many of these technologies have indeed been superseded one of Microsoft's strengths in business has always been that it does generally do a good job of providing a path to upgrade to new technologies. In fact, in part the motivation behind a number of C# 4's features were to better improve COM interop such as named parameters and to a lesser extent, dynamic typing.

    If your argument is that Microsoft should support every ancient and obsolete technology for ever then that shows a bigger lack of understanding as to how technology moves that I cannot help you with. But if your complaint is simply that you get shit on when Microsoft moves technologies then you're completely wrong, it's rare they don't provide an upgrade path- it's not always that way, the creation and subsequent ditching of MDX was a fuckup and there was no easy way for people to move their MDX code to something else that was any easier than just rewriting it, but for the most part they've done a good job of it. Windows Forms could trivially interop with unmanaged Win32 API calls, WPF can interop with Windows Forms and so on.

    "Meanwhile solutions developed with Standard C/C++, Java, etc get better tools and there are code changes required to maintain them are far more minor. "

    What are these better tools? why are other Java and C++ IDEs still inferior to Visual Studio? Why does Java still lack many of the features C# implemented in

  148. Re:Remember the old addage by Anonymous Coward · · Score: 0

    APL only covers those specific claims of those specific patents which are covered by code contributed by patent holder. You still can't implement other claims from a patent and there's still EEE scenario that goes like: a) patent stuff, b) implement extensions in proprietary branch of the project without contributing to open branch, c) ???, d) PROFIT^WEXTINGUISH

    MS has gathered a big credit of mistrust in all these years, so it's not easy to believe in their good will now.

  149. Re:Remember the old addage by Alioth · · Score: 1

    Sorry, I don't see how this is so, TypeScript is made available under a Free open source software licence (Apache licence). There is no carpet they can pull.

  150. Re:Remember the old addage by Alioth · · Score: 1

    But typescript is _open_source_ under a Free (as in freedom) licence, Apache 2.0. How is Microsoft locking anyone in if the actual implementation can be taken and used by anyone?

  151. Re:Remember the old addage by Dr_Barnowl · · Score: 1

    VBScript isn't an alternative because only IE supports it. TypeScript might be relevant, particularly because as a superset of Javascript, presumably it's easy to pre-process it into plain vanilla Javascript. (quote : "TypeScript compiles to readable, standards-based JavaScript.")

    I *hate* writing code in Javascript, precisely because of it's lack of typing and insane OO model. TypeScript sounds like it makes browser programming more accessible to those of us who prefer a more strongly typed language.

  152. Re:Remember the old addage by Anonymous Coward · · Score: 0

    And Java is an open standard. How MS could be locking anyone by inviting them to write for Windows in open language?.. Right until they started plugging in proprietary patented stuff.

  153. Re:DEFINITELY No!!! by Anonymous Coward · · Score: 0

    He is still using static html pages with frames.

  154. Re:DEFINITELY No!!! by Anonymous Coward · · Score: 0

    You're just showing your ignorance. Maybe you should read up on C# and how it's managed to find workable solutions for difficult problems that Java in areas where Java has completely failed like generics and queries.

  155. Re:Remember the old addage by svick · · Score: 2

    If you're going to criticize something, at least get your facts straight. The C# yield keyword has nothing to do with Thread.yield(), it's for easier implementation of lazy iterators. And there is a very good reason why it is a feature of the language: it actually changes how the method behaves at a fairly deep level. Upon hitting the yield keyword, execution leaves the method and returns there only when another item from the iterator is requested. That's why it can't be just a library.

  156. Re:Remember the old addage by mdragan · · Score: 0

    Well, the Apache 2.0-licensed, publicly available (on Git) code may not get you "locked in" and "manipulated to be incompatible", but the version MS will have in IE12, with very cool extensions that they won't give the code to, or may work only on one OS, might make you sorry you jumped on the TypeScript ship.

  157. Re:Remember the old addage by jbo5112 · · Score: 1

    Microsoft broke the web about a decade ago, and many/most sites failed to work unless you were running MS Windows and Internet Explorer. It all started on open standards and MS tools to develop for the standards.

    They are getting very agressive at pushing web tech again. It would surprise me if they never started adding proprietary MS extensions that are "standard" (only having support from Microsoft and whomever they paid to support it, with no access for anyone else to support it). I will never trust them again until they show decades of good behavior and apologize for breaking the web previously.

  158. Embrace, Extend, Extinguish, again. by ledow · · Score: 1

    Embrace
    Extend --- You are here.
    Extinguish

  159. Re:Remember the old addage by jbo5112 · · Score: 1

    I'd agree with you, except I can't think of an open standard they supported without perverting to their advantage when they had the chance.

  160. Re:Remember the old addage by hlavac · · Score: 1

    Ummm let me guess.. PATENTS? Preferably some held by a puppet empty shell company like Nokia, not Microsoft directly?

  161. Re:Remember the old addage by Anonymous Coward · · Score: 0

    What has that got to do with anything, please show where the patents they are suing Android vendors with were ever made open?

  162. Re:Remember the old addage by hlavac · · Score: 2

    If you are familiar with the Apache 2.0 license you would know it doesn't matter.

    I think I can see what the business plan is:

    1. 1. Deliberately include features covered by affiliate patent troll's patents in a technology
    2. 2. Publish under Apache license 2.0 to give false sense of security and wide adoption
    3. 3. Wait for technology to get widespread use
    4. 4. Sue!
    5. 5. Profit!!! (Split the profits with patent troll)
  163. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I find it interesting that the tactics you describe there are actually what most would consider good and honest tactics, in fact these are the same tactics we use in the open source community to encourage converts, making users change less painful is intelligent design. Making user transitions and compatibility is not an evil tactic, it is good common sense and if it is suddenly to be classified as evil then we better burn down the whole open source community.

    secondly typescript is not some new product being made compatible with an existing one, it compiles to javascript it even uses node.js and under the Apache License. TypeScript is more of a much needed interface improvement to the language which happens to be where it is headed anyway.

  164. Re:And this suprises you? by Anonymous Coward · · Score: 0

    Thank you, I shall wear the +5 with pride knowing that there is at least one other kindred spirit still alive from the first days of Slashdot when it used to mean something and I shall do my best to achieve more -1 badges of honor in the coming months.

    The conversion of the sheep into proprietary puppets is nearly complete.

  165. Re:And this suprises you? by Anonymous Coward · · Score: 0

    and then immediately lock it down so all the original open goodness is gone. It is indeed Closed.

  166. Re:Remember the old addage by Dr_Barnowl · · Score: 1

    The tipping point was Excel 4 though, which had the the ability to export back to Lotus 1-2-3 as well.

    This was the point at which people went "Hey, if Excel doesn't work out for us, we have nothing to lose, because we can just go back to Lotus!" ; this perception of risk is the most important barrier to overcome, because middle management will choose the ass-covering option every time.

  167. Re:Remember the old addage by fonske · · Score: 1

    This reminds of Henry Fieldings "Tom Jones": "Once you are got up, kick the stool from under you".

  168. Re:And this suprises you? by Anonymous Coward · · Score: 1

    The GPL frees the code from the shackles of proprietary lockins and predatory businesses and code thieving which is what you appear to want to do.

    You are free to make your own choices as long as you don't impose those choices on others.

    ie. you may use GPL code for yourself and make any modifications you like for your own personal use and you are not forced to re-distribute those changes.

    What you are not allowed to do is re-distribute someone elses code without making the code free in turn.

    Just becuase you have chosen to update code that belongs to someone else doesn't give you any rights to their code, any other position you would effectively be stealing someone elses copyright code.

    The GPL protects the programmer and the freedom of the code.

    If the proprietary businesses and code thieves don't like that, well ... oh dear.

    Copyright law exists for a reason and I am glad that the GPL gains its strength from that law.

  169. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I'm not concerned about being "locked in". What concerns me is fragmentation and the fact that there is no guarantee that TypeScript won't become the next MSHTML.

    The Apache 2.0 licence allows Microsoft to fork project at some point in the future under a closed or restricted licence. While you, I or most Slashdot readers might respond to this by migrating to one of the forks, there are many people who follow Microsoft and will go along with anything they do. This could obviously lead to a fragmented internet and take us back to the situation where many websites will only work (correctly) in IE.

    Unless the TypeScript project is governed by an open, independent entity, you would be naive to consider that "Embrace, Extend, Extinguish" is not a possibility.

  170. Re:And this suprises you? by Dr_Barnowl · · Score: 1

    The Apache license is more free in the sense that it permits someone receiving your code to take away that freedom.

    The GPL preserves the freedom as the software moves from hand to hand.

  171. Question by Captain.Abrecan · · Score: 0

    Is java an open-source language, that Microsoft could easily donate man hours to contributing to, or is it a closed thing that they are in competition with? Because if it's the latter, the company that owns Java is gonna have a tough run ahead of them.

  172. Re:Remember the old addage by jbolden · · Score: 1

    VBScript isn't an alternative because only IE supports it.

    I understand but a good deal of the thread was about a Microsoft takeover or whatever of Javascript and I thought the context of VBScript, that Microsoft has had an alternative and one they preferred was important.

    As for building a strongly typed language on top of a dynamically typed one. I think you can author strongly typed DSLs in a dynamic language but I don't think you can really get it to work as a layer that just passes down. The two models are fundamentally in conflict. The dynamically typed code gets used when it is needed for "power" and this pollutes the entire code. In precisely the same way that C's use of void pointers introduces weak typing back into otherwise strongly typed languages like C++, or Objective-C. Something may be better than nothing And if TypeScript makes it possible to create high power GUIs for web programming that's a wonderful step forward.

    I should mention the insane OO model in Javascript comes from a fundamental unwillingness to choose functional or object oriented. This is the same problem Perl has, where Perl can have any style for an individual programmer, so once you start pulling in libraries you constantly have to break your paradigm. There are strongly typed high power functional languages but they aren't object oriented. There are strongly typed object oriented languages but they aren't functional. JavaScript makes heavy use of functions, jQuery is fundamentally functional. Either you tie you methods to your data, and you have a hierarchy on your data. Or your functions are highly polymorphic, you have complex types and a hierarchy on them; with instances fo the data being isolated. You can't code both ways.

  173. Re:Remember the old addage by jimmyfrank · · Score: 1

    I've been developing with MS tools and languages for 15+ years and have yet to be burned. Thanks to MS I've made a nice living while having fun.

  174. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Nothing old or outdated in C# or even VB.NET.

    Better tools than Visual Studio my ass.

  175. Re:Remember the old addage by jimmyfrank · · Score: 1

    Huh, how is c# not getting the MS focus it once did?

  176. Please whatever you do by gelfling · · Score: 1

    Make sure you run 20 or 30 or more of these on every webpage and nest them 4 layers deep so that every browser in the world slowly chokes to death.

  177. The C# approach by Anonymous Coward · · Score: 0

    Why not leverage all C# features like in http://sharpkit.net/

  178. Re:DEFINITELY No!!! by jimmyfrank · · Score: 1

    Man, people that think C# isn't getting The attention it once did from MS aren't paying attention and obviously don't use the language and tools. Funny stuff.

  179. Software patents. Binding to MS only calls. by Anonymous Coward · · Score: 0

    Much like silverlight.

  180. Re:Remember the old addage by mcgrew · · Score: 0

    How many use jscript? Does jscript still even exist? Why in the hell can't Microsoft follow conventions and standards? Why do Microsoft devs put up with MS's disain of standards and conventions?

    We don't need a new javascript. Put this new "javascript" on your web site and only IE will be able to render your page. Why in the hell would you do that?

    And why is the parent comment modded "troll"? It's 100% accurate. Whoever modded him should never get moderation priveleges.

  181. Re:Remember the old addage by Pepebuho · · Score: 1

    I thought Hotel California had a patent on this functionality :)

  182. Re:Remember the old addage by mcgrew · · Score: 1

    Wow, insightful? Did all of today's mod points go to Redmond? You CANNOT get locked in to an open source platform.

  183. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Just keep calling it "ECMA Script" until it sticks.

    For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)

    You're welcome.

    When i hear ECMAscript i think of eczema

  184. Re:Remember the old addage by mcgrew · · Score: 1

    I *hate* writing code in Javascript

    So do I, but it's the only language you have for web browsers. I'd like to see a scripting language that was more like low level languages than like C.

    Yes, I admit, I do little to no real programming any more, I used to use languages like assembly, dBase, NOMAD, DOS shell scripts... none of those frustrating curly braces and crap like that. The advantage of these languages is you have to know how the machine works to use them, the disadvantage to them is that you have to know how the machine works to use them.

  185. Re:Remember the old addage by Anonymous Coward · · Score: 0

    If you are pulling something other than shit out of your arse, I dont want to know.

  186. GPL doesn't keep code free more than Apache, etc. by DragonWriter · · Score: 1

    GPL isn't about freedom for the licensee

    Right, exactly. Hence why it less free than licenses which are about that.

    But that's the price it pays to make sure the code itself stays free.

    No, its not. Its the price for compelling other people to make their source free. The source of a permissively licensed work doesn't stop being free just because someone makes a non-free derivative work. The free codebase may become less readily available if the free codebase doesn't attract interst (which is just as true with the GPL as with permissive licenses, though.) The price of keeping the free code available is building a strong and successful community around the free software, which can be done just as well around a permissively-licensed code base as it can be around a GPL code base.

  187. Re:Remember the old addage by Anonymous Coward · · Score: 0

    This site is a graveyard of bitter old hackers still fighting 1995s battles. Microsoft aren't in the position to extinguish anything any more.

    Increasingly Apple are the ones locking others into their vendor specific implementations. And Google who are embracing and extending with 'free' software to force everyone to fight their battles upon ad-supported grounds where Google reigns supreme. Poor Microsoft is an underdog in the 21st century.

  188. Re:Remember the old addage by godefroi · · Score: 1

    Meanwhile solutions developed with Standard C/C++, Java, etc get better tools and there are code changes required to maintain them are far more minor.

    We call that "platform stagnation". Unless, of course, the platform is already perfect and cannot be further improved.

    --
    Karma: Poor (Mostly affected by lame karma-joke sigs)
  189. Re:Remember the old addage by DragonWriter · · Score: 1

    And either doom the fork to incompatibility, or keep playing catch-up, while still being bound to Microsoft, like Mono.

    Or the fork is more popular and displaces Microsoft's as the preferred implementation (this has happened in the open source world more than once.)

    And Mono isn't really a good example, since its not a fork of an Open Source Microsoft-run project, its a reimplementation of a (partially) open specification, closed-source Microsoft project.

  190. Re:Remember the old addage by cant_get_a_good_nick · · Score: 3, Insightful

    He means in the 'dictating policy and direction' way.

    People here forget the concept of Opportunity Cost. Everything costs you some resource: Time, money, brain nurons, carbohydrate energy in your blood, at least something.

    I use a simple text editor because I don't want to learn Emacs. I don't decry the tyranny of Emacs, of the evilness that is Stallman locking me into a particular set of key sequences. Oh my deity! Stallman is dictating policy and direction for my text editor!! I just say "I don't want to spend my energy there".

    Everything pushes you to a direction. Microsoft does. JavaScript does. ECMAscript does. C does. C++ does. Scheme does. If you're worried that the direction Microsoft pushes you leads to a bad path, fine. But don't kid yourself that by choosing something else that you're no longer being pushed.

  191. Re:Remember the old addage by spongman · · Score: 1

    You miss the point, I think. When you remove the TypeScript annotations what makes you think the remaining JavaScript will be useful.

    Isn't that exactly what the typescript compiler does?

  192. Re:Remember the old addage by Unknown+Lamer · · Score: 1

    Actually, it was ES4 (ES3 is implemented in all browsers, sorry for the misremembering there!) ; But: slashdot did a post a story on it dying. Short version: politics. Less short version: the type annotations and inference system were being pushed by people from the functional programming camp, and some of the other ECMAScript editors thought the features would be difficult for Javascript programmers and were ultimately useless (because there were existing, seriously more hackish ways, to achieve similar ends). I still think it would have been useful: at the very least the core language and libraries would have been well typed (and more clearly defined)... This mailing list post has a lot of details, but it's written from the side of the victors.

    --

    HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  193. Flashback! by multicoregeneral · · Score: 1

    Wow! Crazy how much this looks like the Adobe/Mozilla actionscript/javascript3 that Microsoft flat out rejected in standards talks with the ECMA a few years back. I liked it when Adobe came up with it. I like it now that Microsoft is claiming to have come up with the idea. This kind of thing is needed badly by serious developers.

    --
    This signature intentionally left blank.
  194. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I think you are missing the point. While it is good the output is 'bog standard' Javascript what really matters is that the source is not 'bog standard Javascript'. Once you start writing in TypeScript you are forever bound to Microsoft.

    Playing devil's advocate, couldn't the same be said of CoffeeScript?

  195. Apache license: Why we use LibreOffice not OO. by walterbyrd · · Score: 1

    That is my understanding. When MS releases source under GPL, I will be a little more inclined to trust MS.

    Actually, maybe not even then. There are always patents.

    1. Re:Apache license: Why we use LibreOffice not OO. by TemporalBeing · · Score: 1

      That is my understanding. When MS releases source under GPL, I will be a little more inclined to trust MS.

      Actually, maybe not even then. There are always patents.

      Well, they do have some GPL software - for example Windows Installer XML is GPL last I checked, and sponsored by Microsoft, and is used for many of their own products. I think you can even trace the latest version of Visual Studio Installer to it via the light/dark programs included; could be wrong (I haven't check their output) but its very likely. (And no, they're not dual licensed; just GPL.)

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    2. Re:Apache license: Why we use LibreOffice not OO. by TemporalBeing · · Score: 1

      err...Go here. Stupid /...

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    3. Re:Apache license: Why we use LibreOffice not OO. by Anonymous Coward · · Score: 0

      Dude, Apache is a great license. Very flexible, doesn't try to regulate your use of the program. Unlike GPL. If you care about the freedom of software, you won't restrict it with GPL. Fact, my friend. You are a hypocrite.

  196. Or you could compile c# to JS by Anonymous Coward · · Score: 0

    There are projects like Blade (https://github.com/vannatech/blade) that compile c# to JS, meaning you don't need to mess with yet another syntax and you get more interesting benefits such as sharing code files between client and server..

  197. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Embrace, Extend, Extinguish!
    Embrace, Extend, Extinguish!
    Embrace, Extend, Extinguish!

    Look how smart I am! I can mindlessly repeat irrelevant bullshit. Mod me insightful!

  198. Re:Remember the old addage by terjeber · · Score: 1

    No, it's the lunatics at /. that are getting dumber. Every time they read "Microsoft" they go insane. It's sad really.

    1/ The software is fully open source (Apache 2.0 licensed)
    2/ It's not really possible to extend something when you are not extending it. RTDA.

    Sadly the Microsoft hating morons are out in force on this one. Pity for them. This is actually a good way of improving the JavaScript experience without the possibility of embrace, extend, extinguish, as opposed to, for example Dart.

  199. Re:Remember the old addage by shutdown+-p+now · · Score: 1

    Exactly. To remove the code you still have a reliance on tools and vendors that you might prefer not to. Even if everything is open (as it is in this case, thank goodness), you still have to spend the effort running this 'preprocessor' to remove unwanted constructs.

    The point was that you can do it once to "go back" to JS, and that's that.

    Actually, ideally, I'd expect that people who use TS to write JS libraries, would themselves publish the JS version with stripped-out annotations, alongside a separate TS type annotation file. That way they reach a far broader audience while still providing the full convenience of typed API to users of TS.

    Probably the code that is remaining will lack something that the annotations gave (tying it together), which will require work to adjust the Javascript to work. This is speculation on my part (since I've not used Typescript, and it doesn't solve any particular problem for me, so I won't be using it in the near term), but I would be very surprised if something was not lost when annotations were removed (otherwise, what is the point of even having them?).

    As I've noted in another post, type annotations are purely compile-time and do not affect runtime semantics at all. So if you remove them, nothing changes.

    The point of having them is to 1) enable compile-time warnings when you do something that's probably broken at runtime (and try to goad you into inserting the appropriate type assertions otherwise to document non-obvious bits), and 2) enable tools, especially IDEs, to better reason about the code - think code completion, "find all references", "rename symbol" etc.

  200. Re:Remember the old addage by terjeber · · Score: 1

    Public has entered the enlightened stage of not taking _anything_ from Microsoft - open or not

    No, not "public". Just "close-minded religious nutcases with no ability to think on their own".

  201. Re:Remember the old addage by terjeber · · Score: 1

    makes EVERYONE (except those on the payroll of Redmond) suspicious

    No, just religious nutcases.

  202. Re:Remember the old addage by terjeber · · Score: 1

    Microsoft broke the web about a decade ago

    What a load of rubbish. Seriously. Rubbish.

  203. Re:Remember the old addage by terjeber · · Score: 1

    Are you mentally handicapped or something? Did someone steal your reading glasses? Do you actually know how to read? TypeScript is not a language you run in a browser. It can't be extended to support Microsoft only technologies. It is just another way to write bog standard JavaScript. Is that so hard to understand? Yes, Microsoft can alter their version of JavaScript in IE12, in fact I assume they will, JS is a moving target at least until ECMA6. So what? How does that matter? Are you saying all versions of JavaScript in all browsers are the same? If so, you have never done JavaScript.

    TypeScript is a compiler that emits JavaScript. TypeScript doesn't run in a browser. TypeScript can not be extended to be incompatible with other browsers since it doesn't run in a browser.

    TypesScript can, on the other hand, be used to write JavaScript that is browser specific. Just as JavaScript can be used to write JavaScript that is browser specific.

    I really wished the Microsoft hating religious nuts on /. would start reading more than the word "Microsoft" in articles before spouting the ignorant and rather idiotic nonsense on /.

  204. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Just keep calling it "ECMA Script" until it sticks.

    For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)

    You're welcome.

    Well, "ECMA" makes me think of smegma, so there!

  205. Re:Remember the old addage by terjeber · · Score: 1

    Why in the hell can't Microsoft follow conventions and standards?

    They are, they do. Why can't the religious nuts on /. learn how to read? Why do so many /.ers prefer their own religious dogma to observable fact? I mean, mention "Microsoft" in a sentence and these people go more nuts than the Intelligent Design maniacs.

  206. Re:Remember the old addage by cHiphead · · Score: 1

    Software Patents.

    --

    This is my sig. There are many like it, but this one is mine.
  207. Re:Remember the old addage by terjeber · · Score: 1

    Once you start writing in TypeScript you are forever bound to Microsoft

    Why don't you read the f#cking article before you go out and, frothing at the mouth, try to preach a gospel that is provably wrong? You guys are worse than mentally handicapped tea-baggers with an Intelligent Design agenda.

    once upon-a-time they were the shizzle promoted by Microsoft and now people have to spend their time maintaining them with old and outdated tools

    Which old and outdated tools? Visual Studio 2012?

  208. Re:Remember the old addage by terjeber · · Score: 1

    You cannot ignore the annotations if the majority of libraries you are attempting to use are 'tainted' with them

    Yes, you can, and if you had bothered to read the article rather than going nuts at the word "Microsoft", you would have known that.

  209. Re:Remember the old addage by terjeber · · Score: 1

    Probably the code that is remaining will lack something that the annotations gave

    Now we know why the first syllable of assumption is "ass". If you had tried to read the article instead of being one, you would have looked a lot less like an idiot.

    otherwise, what is the point of even having them?

    Again, ass. Read the article, it answers your question and makes you look dumb in one nice package.

  210. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I hope not because you would be retarded to want to know that. You can, however, appreciate poetmatt pulling retarded theories out of his butt if it amuses you.

  211. Re:Remember the old addage by terjeber · · Score: 1

    when is IE (Internet Explorer) going to support WebGL, like every browser does?

    When WebGL improves and becomes a little less like ActiveX. Microsoft got badly burned by ActiveX and learned that you should be very careful with such extensions. WebGL is a security nightmare. By design.

  212. Re:Remember the old addage by terjeber · · Score: 1

    When you remove the TypeScript annotations what makes you think the remaining JavaScript will be useful

    All of it. Next question.

  213. Re:Remember the old addage by Anonymous Coward · · Score: 0

    That should be ACME.

  214. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Rubbish. Not a good view of the technology. You might want to watch the channel 9 video and see how the language works before sounding the war horns. Essentially it's an overlay on javascript code that allows the developer to infer useful information about their code. The output from the "compiler" is bog standard javascript, no microsoft extensions at all.

    So if the "carpet" ever got pulled out from under you, all you would do is go back to editing the standard .js directly.

    You sir, are mistaken! Don't you see the "Embrace" part in the "Embrace, Extend, Extinguish" modus operandi? It all starts with an standard-looking tool/language/application/format/whatever. Then they start adding small but non-standard and non-portable "improvements here and there. This is the "Extend" part. I'll leave the next part to your imagination.

  215. Re:Remember the old addage by jlusk4 · · Score: 1

    Eczema. You're welcome.

  216. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Microsoft earned our distrust over many issues over many years, and it will be a cold day in hell before I recommend anything Microsoft-based to anyone. So stick that in your pipe and smoke it.

  217. Re:Remember the old addage by DarkOx · · Score: 1

    The output from the "compiler" is bog standard javascript

    I have admittedly not looked at the typescript language or any compiler output. Maybe you have if so I'll take your word for it, if not here is my initial reaction.

    That is a bit like saying one vendors C compiler with language extensions won't tie you to the vendor because it outputs bog standard ASM. We all know how that worked out for everyone. I have met very few language translators in my IT travels that ever produce output from higher level languages that is particularly readable, maintainable, or in many cases understandable by mortals.

    I have seen many attempts to make COBOL to C, C to Pascal, C++ to C, LISP to some other LISP variant, BASIC to other BASIC variant, BASIC to Java, etc stuff. It all typically outputs something that you can compile/execute/run. The best implementations result in something you can live with after lots of manual clean up, but most produce drek that can never replace your original sources going forward or a by hand port thereof.

    So just because you get something that is technically javascript out does not mean your large typescript project would have much life in it, if typescript is abandon.

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
  218. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Oh, while I remember, this may be of interest to you. It is a colorful way of comparing modern feature compliance on browsers (and yes, I know that IE is designed for CSS 2.1, but everyone else has moved on to CSS 3 and that is what developers expect to use):
    http://www.findmebyip.com/litmus/

    Please don't take this as a 'dig' at you or your employer. It's just an FYI from the other side of the fence.

  219. Re:Remember the old addage by turgid · · Score: 1

    Why do Microsoft devs put up with MS's disain of standards and conventions?

    ...because they're completely locked into the Microsoft ecosystem where standards don't matter and the Outside World is irrelevant.

    It's a combination of arrogance, laziness, ignorance, brainwashing and the Stockholm Syndrome.

    (I realise it was a rhetorical question, but there's a shill about here who is being deliberately obtuse.)

    I recently experienced someone deciding to write a remote GUI client application for an embedded system (running on Linux and various other OSs) in C# on Windows. We suggested Java, C++, Ruby, you name it, for portability, but he's reasoning was, "It doesn't need to be portable just now." It will never be portable because it uses Windows Forms.

  220. Re:Remember the old addage by TemporalBeing · · Score: 1

    Microsoft broke the web about a decade ago

    What a load of rubbish. Seriously. Rubbish.

    You, sir, have apparently not done web programming.

    The reason we need toolkits like Mootools and others is to primarily mitigate the differences between Internet Explorer and everyone else as Internet Explorer would do things differently enough that it wouldn't work unless you customized it for Internet Explorer, but then it wouldn't work for everyone else. This is also the only reason why people started looking at the browser identifiers.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  221. Re:Remember the old addage by warichter1 · · Score: 1

    The "anti MS morons with their senseless EEE" have long history of Microsoft antics to back up their lock in concerns. Maybe Microsoft is for once looking out for the good of the community and not pulling something, but given the history, it is on Microsoft to earn the community trust. As for insulting folks you don't agree by labeling them "morons" and "senseless", just bumped the Microsoft argument a few points down on the trust scale.

  222. Re:Remember the old addage by TemporalBeing · · Score: 1

    Wow, insightful? Did all of today's mod points go to Redmond? You CANNOT get locked in to an open source platform.

    That is true of licenses like the LGPL and GPL. It is not necessarily true of BSD, Mit, and Apache licenses as there is nothing keeping them from having their own proprietary, unpublished fork with additional features that are specific to what they want to do - nothing saying they have to tell everyone else either.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  223. Re:Remember the old addage by jgrahn · · Score: 1

    Java doesn't have yield as a keyword. That is not its philosophy to add lots of keywords (like C++), but instead to be like C and add such functionality to libraries (standard libraries in Java's case).

    Huh? Both C and C++ add a handful of keywords per *decade*, and focus growth on the libraries, not the core language.

  224. Re:Remember the old addage by shutdown+-p+now · · Score: 1

    IE8 was the one designed for CSS 2.1; the newer versions are meant to be chasing full CSS3 compliance, so it's perfectly reasonable to complain when they don't.

    I've tried to google up support for various features in this table in IE10. Apparently CSS3 flexbox, columns, animations, transforms (incl. 3D), transitions, shadows and gradients are all there now, as is text-shadow. On JS side of things you get IndexedDB, workers, sockets, and file API. On HTML side, progress (but not meter), and a good chunk of HTML5 forms. Here is the full list in case I missed anything.

    Generally speaking, I'd expect this trend to continue, if only because a lot of that stuff is needed to write full-fledged web apps, and HTML5/JS is now advertised as a prime platform for Win8 app development. So all that stuff like file API or IndexedDB had to be done if only to enable that (and their general guideline is to use standardized APIs where they are available - to the point that they actually block you from accessing WinRT APIs that duplicate that functionality).

    Also, with respect to codecs, that table is not entirely correct - IE doesn't support WebM out of the box, but it will use WebM codec if one is available (it's explicitly whitelisted, along with H.264) - so this works once installed. I suspect that this arrangement is a play-it-safe attempt to dodge any potential legal issues by not distributing the codec. That said, I haven't tried it with IE10.

  225. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Then you are back to crap old Javascript :(
    Optional type checking is a good thing. Backwards compatibility is a good thing. However, personally I think TypeScript is just-another-Javascript (of which we have shitloads of variants already), and too low level to make much of a useful impact. Far better to bite the bullet, and use a high-level abstraction, say Dart, or GWT, or Coffescript etc. Yes, when choosing these you really are committing to a technology - but the point is productivity and the end result. Is adding TypeScript annotations really worth the effort? perhaps for you but certainly not for me. TypeScript is intended to help produce large JavaScript applications but I think there are far better solutions out there for that. Hence, I argue that Microsoft are wasting their time with TypeScript and should have spent effort making IE better. Here's a quick n easy reference for the features peoples are trying to use in modern development, and browser support for them: . Note also these are functional aspects, the terrible performance of IE in certain operations is not addressed on that page.

    Incidentally, I noticed you were severely enraged and resorted to calling me an ass. Personally I don't care, but you ought to consider that such fury is bad for your heart and long term health. People making statements on the Internet are probably not worth you getting so mad about - certainly not half a dozen posts to vent your spleen. Pax.

  226. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Oops, I forgot to attach the nice reference, here it is:
    http://www.findmebyip.com/litmus/
    So, for me, Microsoft spending effort on TypeScript is less useful than spending effort on getting IE working right for modern web development. Microsoft does have limited resources, spreading them shot-gun style is interesting for their employees but doesn't fix their fundamental issue, IE sucks and its release cycle so slow that it is always behind its competitors (who are relatively on-par feature-wise).

  227. Re:Remember the old addage by Pseudonym+Authority · · Score: 1

    Oh my God, they were competing with a competing product by making themselves more attractive to the customers! How despicable ! Why can't they be like Blender or something and make everything different so people can't change?

  228. Re:Remember the old addage by terjeber · · Score: 1

    I have done my amount of web programming, for example, by doing Ajax, something Microsoft invented. Yes, IE6 is a broken piece of junk, but it is also an ancient piece of junk. At the time IE6 was released, every single browser "broke the web". There was no such thing as a standard way of doing anything.

    If you said that the web as such was seriously broken back when IE6 was released, that would have been reasonably accurate. IE6 didn't do anything special to "break the web", but through inaction, Microsoft allowed IE6 to live significantly longer than it should have. The most likely reason for this was complacency. Yes, Microsoft made things hard by not upgrading IE6 as more modern technologies started permeating the competition, and it also did nothing as the rest of the world moved towards standards, but claiming they broke something in the years after 2001 with a product released in 2001 is absurd.

    With IE5 and IE6 though, Microsoft made Ajax possible. How's that for breaking the web.

  229. Re:Remember the old addage by styrotech · · Score: 1

    Microsoft broke the web about a decade ago

    What a load of rubbish. Seriously. Rubbish.

    You, sir, have apparently not done web programming.

    Technically speaking it is correct. Microsoft didn't break the web with IE6.

    At the time it came out it was the best browser, and it improved things for people trying to use CSS2.

    Netscape 4.x was still rotting, The newish Netscape 6 had wider CSS2 support but was practically unfinished and very buggy, and Mozilla 1.0 was yet to be released.

    What 'broke the web' was not IE6 itself, but Microsoft leaving it to rot for 5 or 6 years.

  230. so ... by znrt · · Score: 0

    you can simply load JavaScript code and run it.

    .. they don't really replace javascript. they just offer the usual new crap but make it compatible with javascript, maybe because they by now make the sound assumption that otherwise nobody would give a crap on their new crap.

    well, i don't give a crap anyways, thanks.

  231. Re:Remember the old addage by terjeber · · Score: 1

    personally I think TypeScript is just-another-Javascript

    Why do you keep posting on a topic you haven't bothered to read up on?

    Hence, I argue that Microsoft are wasting their time with TypeScript and should have spent effort making IE better

    Why on earth would you argue that? Microsoft is clearly, and evidently to anyone with a clue, making IE better. IE9 was a huge step forward, and IE10 is even more so. I use Chrome my self, but for work I have to work with IE as well, and IE9 and 10 are really good browsers in their own right. Arguing that MS should drop TypeScript and work on IE instead is like saying Ford should stop making blue cars and work on better engines instead. The team that does TypeScript probably don't even know who the guys on the IE team is.

    Incidentally, I noticed you were severely enraged and resorted to calling me an ass

    I was not, I was just pointing out the obvious. People who comment on things based solely on ignorance and bigotry are asses, no matter how you look at it.

  232. Re:Remember the old addage by terjeber · · Score: 1

    Microsoft does have limited resources, spreading them shot-gun style is interesting for their employees but doesn't fix their fundamental issue

    Seriously? That is your argument? Do you really think that developing TypeScript in the programming language division of Microsoft, a division that has nothing whatsoever to do with the browser division, slows down the browser guys? Really? Do you think, for example, it would help the browser guys if Anders, who was one of a handful of developers on TypeScript, moved to the browser division? Why would you think that? Ignoring the fact that Anders would leave on the spot, what do you think he could have done to improve the quality of IE10? Oh, and BTW, IE10 is released to MSDN subscribers now (has been for a while) and will be released to the rest of the world in about three weeks.

    http://kristopolous.blogspot.no/2011/11/acid3-of-js-has-few-surprises.html

    Obviously Microsoft is working very hard to become compliant. What exactly is it that you are complaining about?

  233. Re:Remember the old addage by exomondo · · Score: 1

    Well, the Apache 2.0-licensed, publicly available (on Git) code may not get you "locked in" and "manipulated to be incompatible", but the version MS will have in IE12, with very cool extensions that they won't give the code to, or may work only on one OS, might make you sorry you jumped on the TypeScript ship.

    That doesn't event make sense, if you think they are putting a version into IE then you obviously don't even know what typescript is.

  234. Re:Remember the old addage by exomondo · · Score: 1

    I'd agree with you, except I can't think of an open standard they supported without perverting to their advantage when they had the chance.

    Apache 2.0 licensed code != open standard

  235. Re:And this suprises you? by Anonymous Coward · · Score: 0

    The GPL frees the code from the shackles of proprietary lockins and predatory businesses and code thieving which is what you appear to want to do.

    The code is already free, on the Apache license too. How can someone be a code thief if the code is free? By definition you can't steal something that is free, nor can you steal something without depriving people of something, you obviously subscribe to the RIAA/MPAA definition of "stealing".

    What you are not allowed to do is re-distribute someone elses code without making the code free in turn.

    So the supposedly "free" code you got wasn't actually free, unlike the far more altruistic Apache/BSD licenses where they don't force you into their point of view, they are more tolerant licenses that accept that free and open is not the only way, that different points of view can co-exist, unlike the religiously forceful GPL that denounces any and all other points of view.

    Just becuase you have chosen to update code that belongs to someone else doesn't give you any rights to their code, any other position you would effectively be stealing someone elses copyright code.

    The only reason you call it "stealing" is because it isn't actually free, you are committing the logical fallacy like the RIAA and MPAA when they call piracy "stealing", nobody has lost anything or been deprived of anything so it is not stealing.

    If the proprietary businesses and code thieves don't like that, well ... oh dear.

    Copyright law exists for a reason and I am glad that the GPL gains its strength from that law.

    Just another RIAA/MPAA shill, trying to redefine the words "thief" and "stealing". If it's stealing then it's not free.

  236. Re:Remember the old addage by Doctor_Jest · · Score: 1

    what part of Apache Software License 2.0 and git clone https://git01.codeplex.com/typescript [codeplex.com] is so difficult for you to understand?

    What part of "It is Microsoft" don't you get? I understand the license... I understand that you can fork it. That doesn't prevent Microsoft from withholding new features behind a derived library license, does it? I don't see how they can, but then again, Lawyers have already come up with it at Redmond... rest assured, they will monetize it after its gotten enough penetration in the market.

    Everyone likes to bring up C#... which is simply Microsoft's answer to "not being able to put its own MFC extensions in Java" (Remember visual J++)?

    I got one thing that will make this entire rant of yours moot. Microsoft claims it has "thousands of patents" that Linux violates. A company that threatens that is NOT friendly to the Open Source community. They aren't. You can't spin it, wiggle it or jack it off until it is... it's simply not true. Microsoft HATES Open Source (decries it at every turn... spends millions getting SCO the Patent Troll to sue over it) and you think because this is currently under an Apache license it's all okay and roses?

    Wait, who's the troll here?

    --
    It's the Stay-Puft Marshmallow Man.
  237. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Nah, makes me thing of Eczema - much worse than mere acne.

  238. Re:Remember the old addage by Doctor_Jest · · Score: 1

    People with their heads in the sand can't see it anyway. Microsoft has threatened Linux (and all those who use it) for decades... "Linux violates tons of our patents"... etc. They are anti-OSS. They won't change just because they release this into the wild. They only use free when they can cut off a competitor at the knees (Netscape...) and they force enough of a lock-in with a shit-tacular non-standards compliant browser, we're STILL digging out of the mess Microsoft made because they couldn't bother to conform to existing standards, what 9 versions now FFS?

    There won't be a great "I told you so" coming from the OSS "nutcases" (well, except for RMS... he's always pointing it out...) It'll just be another in a long line of things broken, co-opted, shot in the foot, and left to whither that Microsoft is famous for.

    --
    It's the Stay-Puft Marshmallow Man.
  239. Re:Remember the old addage by exomondo · · Score: 1

    And either doom the fork to incompatibility, or keep playing catch-up, while still being bound to Microsoft, like Mono.

    Incompatibility with what? The only reason you would fork it is if you had a codebase built on it and the mainline version was generating non-compliant javascript.

  240. Re:Remember the old addage by exomondo · · Score: 1

    But that wouldn't make sense because the beauty of open source is that if you don't like the direction that the project steward is taking it in you can just fork it, simple.

    And then you not only have to maintain your code, you have to maintain the compiler too. That will help the workflow!

    So gcc, llvm, javac, etc... are all bad too then.

  241. Re:Remember the old addage by exomondo · · Score: 1

    You still can't implement other claims from a patent and there's still EEE scenario that goes like: a) patent stuff, b) implement extensions in proprietary branch of the project without contributing to open branch, c) ???, d) PROFIT^WEXTINGUISH

    Well that wouldn't be open source then would it, the solution is simple - use the open source version, why are you so desperate to use a proprietary version of it?

    MS has gathered a big credit of mistrust in all these years, so it's not easy to believe in their good will now.

    You don't need to, that's the whole point of open source!

  242. Re:Remember the old addage by spongman · · Score: 1

    Ok, I must be too young but I can't remember the last time MS closed some previously open-source framework.

    Can you rmind me?

  243. Re:Remember the old addage by SplashMyBandit · · Score: 1

    That information is interesting. It sounds as if IE is moving in the right direction. Once corporates adopt it (some time away, I'd imagine) it'll make a big difference for us in the trenches with better compliance.

  244. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > I use Chrome my self, but for work I have to work with IE as well, and IE9 and 10 are really good browsers in their own right.
    By "use" do you mean "use the browser as a result user", or do you mean "develop web applications for"? If the former then I understand your position, someone else has done all the hard work to patch over IE brokenness for you. In that case you are lucky (if somewhat ignorant of the actual issues).

    If the latter, and you create cross-browser solutions, then I'd be very interested to know what toolkit you are using - IE 9 and earlier are a PITA!

    > I was not, I was just pointing out the obvious. People who comment on things based solely on ignorance and bigotry are asses, no matter how you look at it.
    Huh? you were indeed insulting unnecessarily. Please stop being an obnoxious wanker and then turning around and denying it. I welcome you debating my points, but it stops at you being a jerk. Get a grip on your attitude, please!

  245. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > Oh, and BTW, IE10 is released to MSDN subscribers now (has been for a while) and will be released to the rest of the world in about three weeks.
    That is good news that IE 10 is improving. In a couple of years it will make it to the corporate desktop. Hopefully the goalposts won't have moved too far by then. Meanwhile, Microsoft will fiddle around creating *yet another* Javascript variant while other companies are progressively eating their lunch. Perhaps you think it is a non-issue but while Microsoft have slipped to #3 tech company by market cap. They can and should do better, but fidgetting with Javascript is not going to help them. Typescript may give an certifiable MSDN type like yourself a woody but to the rest of us hard working devs it is merely putting lipstick on the pig that is Javascript. Personally, I'd much rather Microsoft had competed with GWT through its Project Volta but instead they abandoned it - which is something they may well do with TypeScript (and with other useful but orphaned technologies of theirs). If you don't think TypeScript could be abandoned in the same way then you need to "get some time up" - Apache license or not, it'll always be MS' baby.

    Unfortunately what doesn't seem evident to you is that the majority of users just happen to share the same point of view that I do, the current versions of IE are crap and as a result a substantial fraction of people are only IE because their work mandates it (this includes you, according to your post). Defending IE9 makes no sense to this substantial fraction, accept it has a lot more flaws than its competitors and move on.

    Now we've been promised "newer, betterer, shinyer" before from IE. If IE 10 indeed nails it then Microsoft have a chance digging themselves out of the "potential well" they are currently in, Hey, I actually have an open mind that IE 10 could actually be great - but have been disappointed so many times before by them I now start very skeptical.

    > Obviously Microsoft is working very hard to become compliant. What exactly is it that you are complaining about?
    Do, or do not, there is no try. The Microsoft browser currently *publicly* available (that is, pay no money) have poor compliance. The Microsoft browsers currently deployed in enterprise (that is, older versions) have poor compliance. Yet a fanboi like yourself expects us to drool uncritically whenever Microsoft release an extended dialect of Javascript? Now it is excellent Microsoft have woken up - as they do when they are getting their asses handed to them in a particular market. It is excellent that Microsofties like "shutdown -p now" patiently explain their understanding of how TypeScript might be good. However, it is yet to be seen whether IE 10 is a "miracle save" when it is used by the non-MSDN masses that visit all manner of websites and webapps - and whether IE 10 is actually compelling enough for people to leave Chrome and Firefox to flock back to IE 10.

    Care to make a wager about voluntary IE 10 adoption?

  246. Re:Remember the old addage by Anonymous Coward · · Score: 0

    I understand the license... I understand that you can fork it. That doesn't prevent Microsoft from withholding new features behind a derived library license, does it? I don't see how they can, but then again, Lawyers have already come up with it at Redmond... rest assured, they will monetize it after its gotten enough penetration in the market.

    Then obviously you don't understand the license. In fact what is abundantly clear is that you don't even understand what typescript is since you think there is some way they can withhold features to create lock in.

    Everyone likes to bring up C#... which is simply Microsoft's answer to "not being able to put its own MFC extensions in Java" (Remember visual J++)?

    Do they? I didn't, but you did, why do you want to talk about C#? The fact that you brought that up demonstrates further that you don't understand this issue whatsoever.

    I got one thing that will make this entire rant of yours moot. Microsoft claims it has "thousands of patents" that Linux violates.

    Now you're bringing up Linux patents? Again not relevant in this situation, but since you don't know anything about this situation you bring it up anyway. I'll bet you can't even tell me why it's not relevant.

    Microsoft HATES Open Source (decries it at every turn... spends millions getting SCO the Patent Troll to sue over it)

    Then they wouldn't have released open source software, but you seem to think there is a big conspiracy, you don't even know what the conspiracy might be, just that you're sure there is one. Go back to your braindead "2012, the end is nigh!" clan of religious nutbags.

    and you think because this is currently under an Apache license it's all okay and roses?

    Unlike you i understand the apache license and open source, you seem to think there is some big conspiracy going on and the apache license is flawed and only microsoft knows it and they have patents that they can somehow wield on a tool that spits out javascript and that through this they can make money doing it, that simply demonstrates a fundamental misunderstanding of the Apache license, the concept of open source, Javascript and TypeScript.

  247. Re:Remember the old addage by Anonymous Coward · · Score: 0
    wrong! RMS isn't stupid, he's not like you, not someone who needs Microsoft to be the bad guy.

    Microsoft has threatened Linux

    Last time i looked Linux isn't a Microsoft open source product, so it has nothing to do with this, it appears that you have seen Microsoft taking a negative stance on an open source project and through your rage and ignorance have decided that it is the same thing, even though the only similarity is that both products are open source.
    Naturally a relevant example would be WiX, as this is a tool kit that was released under GPL by Microsoft nearly a decade ago and is in widespread use, but of course that just disproves your point so you ignore that.

    If this were under some microsoft shared source license or perhaps was a proprietary product with only an open spec then i would agree with you, however it isn't, so now you compare this to situations that you think are analogous (even though they aren't) intentionally or through ignorance just to make sure people keep thinking microsoft has some unified anti-OSS stance, even though that is demonstrably false.

    and all those who use it

    I use linux and nobody from microsoft has ever threatened me, kudos on making yourself look even more idiotic that you already did.

    There won't be a great "I told you so" coming from the OSS "nutcases"

    Of course not, because this is open source and under the apache license, it's exactly what much of the OSS community wanted microsoft to do, but you can't handle that, you just need an enemy and you need that enemy to be microsoft. i wholly expect that if microsoft were to support webGL in IE people like you would decry webGL as a method of lock in and a patent trap.

  248. Re:Remember the old addage by Anonymous Coward · · Score: 0

    The "anti MS morons with their senseless EEE" have long history of Microsoft antics to back up their lock in concerns.

    but those are totally unrelatable, the only somewhat relatable situation i can think of is WiX (GPL-licensed) and that has worked out well for nearly a decade. would you suggest everyone avoid google's products because of the wifi snooping scandal or the safari privacy scandal? i would hope not.

    As for insulting folks you don't agree by labeling them "morons" and "senseless", just bumped the Microsoft argument a few points down on the trust scale.

    its not that i don't agree with them, it's that the very definition of open source and the facts of this situation disprove them but the microsoft bashing on /. ignores the facts. i'd be happy to hear someone address them, by all means go ahead, but instead of that it's people just parrotting mindless "Embrace, Extend, Extinguish" rhetoric whilst being completely ignorant of the fact that such a thing makes no sense in this context.

  249. Re:Remember the old addage by terjeber · · Score: 1

    Microsoft has threatened Linux (and all those who use it) for decades

    Ballmer has, on a few occasions, claimed that Linux, to be free, must be patent free, and that it is not. He hasn't stated which patents Linux violates. What he hasn't done though, is actually threaten to do something about it. In other words, he's been FUD'ing more than actually threatening.

    Also, considering Microsoft has been one of the largest corporate contributors to Linux kernel code for the past few years, it would seem your paranoia is just a little bit stale. Linux is also an important offering on Azure.

  250. Re:Remember the old addage by terjeber · · Score: 1

    If the latter, and you create cross-browser solutions, then I'd be very interested to know what toolkit you are using - IE 9 and earlier are a PITA!

    I build cross-browser solutions for internet consumption. I have no problems at all. Honestly. We do warn IE6 users that they might run into issues since we do not test on IE6, but other than that, no PITA. When starting a project I always include jQuery, Modernizr, 960.gs and lately Knockout. jQuery UI is typically also always a component.

    you were indeed insulting unnecessarily

    I was just pointing out that strong statements based purely on dogma and ignorance is a little dumb. Your first statements were based purely on dogma and ignorance.

  251. Re:Remember the old addage by terjeber · · Score: 1

    Microsoft will fiddle around creating *yet another* Javascript variant

    Wow, you still haven't read about TypeScript. You still base your comments solely on dogma and ignorance. Ass was an understatement.

    Typescript may give an certifiable MSDN type like yourself a woody

    Sigh. What did I tell you about assumptions? Yes, I develop for Microsoft browsers, but no, I am not an "MSDN type". I use two primary technologies for server-side work depending on how things are to be deployed. I use ASP.NET MVC (which is a really strong web development framework) when I deploy on Windows, and I use JBoss, J2EE and Seam when working on Linux. Currently, on the server side, my efforts are probably 60% J2EE on JBoss, 20% ASP.NET MVC and 20% maintaining a couple of desktop apps written by others. For personal stuff I prefer Ruby, but Ruby is a PITA to deploy.

    What does give me "a woody" is anything that can improve the JavaScript programming experience, and that is what TypeScript does. It makes the development experience a lot better without driving me into using a whole new tool set with a completely different programming language. Have you ever wondered why GWT has such a slow up-take at Google? You'd know if you'd tried to use and deploy it.

    fanboi like yourself expects us to drool uncritically whenever Microsoft release an extended dialect of Javascript

    Again with the assumptions. No, I have not claimed that you should drool over TypeScript, I have just pointed out that making strong statements on something based purely on dogma paired with ignorance of the topic on which you are commenting is more than a little dumb. You seem to disagree with that. That is naturally, since you still insist that dogma and ignorance are good backgrounds for commenting.

    Care to make a wager about voluntary IE 10 adoption?

    Why would I care? Does it appear to you that I am a fan of IE10 and that I want people to go back to IE10 from Chrome? Have you found a single statement of mine that implies that? If you have, you need to speak to your doctor about those anti-hallucination medications you need.

    Here is your problem. You think that I, since I have said that Microsoft has done a good job with IE9 and now IE10, I am a fan of said browsers and that I am dying to use them. Those are assumptions. They are based on dogma and ignorance and no credible evidence. I have said nothing of the kind. You have assumed that when I said Microsoft is getting better, that I am a huge Microsoft fan that wants them to give it to me hard in the out-door. I would recommend you try, in the future, to argue what people in fact say, not what your hallucinations are trying to argue. The voices in your head are not real.

  252. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > Wow, you still haven't read about TypeScript. You still base your comments solely on dogma and ignorance. Ass was an understatement.
    Is it true or not that TypeScript adds (removable) annotations to Javascript, and hence can be considered a variant of Javascript? true or false?

    > You'd know if you'd tried to use and deploy it.
    Actually, I know an use GWT daily as well as vaadin. Here's a nice thing, I can use one tech no matter whether I'm on Linux or Windows or Mac. GWTs uptake at Google is irrelevant, because they are solving different problems than the average application developer (eg. how many enterprise apps need MapReduce? how many need to be coded down to the last javascript instruction because of millions of simultaneous users). So your assumption about me is false, and your statement about Google is not thought out. Who is the ass?

    > No, I have not claimed that you should drool over TypeScript,
    You defended TypeScript and then proceeded to make arguments that I have subsequently addressed. It still remains, Microsoft could have chosen to use Javascript with metadata defined in another file but instead they still want to alter the Javascript you produce (albiet in a way their tool can reverse). Is this incorrect? Without using their tool would the Javascript run without modification in another Javascript engine?

    > Does it appear to you that I am a fan of IE10 and that I want people to go back to IE10 from Chrome? Have you found a single statement of mine that implies that?
    Hmmm, let me see, "but for work I have to work with IE as well, and IE9 and 10 are really good browsers in their own right. Arguing that MS should drop TypeScript and work on IE instead is like saying Ford should stop making blue cars and work on better engines instead."
    Well, I said IE sucks and Microsoft should work on those. In yous statement you say that IE 9 and 10 are "really good browser" (which the bulk of the web development community would disagree with, for IE 9 at least and IE 10 is not yet *publicly* released), and that the IE 10 preview in MSDN is basically gonna kick ass. I can only go on the statements you write, I'm afraid. Hence, any neutral reader would deduce you are a proponent of IE based on your statements - where you meant that you don't feel that my statements about IE brokenness were correct. Now you are backing away from this. This may not have been what you meant, but it is what you said. Therefore, your statements indicate you think IE is "great" and that there is little point in getting Javascript experts involved in fixing Javascript support in IE.

    > You think that I, since I have said that Microsoft has done a good job with IE9 and now IE10, I am a fan of said browsers and that I am dying to use them.
    I can only go on what *you said*. If you believe IE need work (eg. compared to Chrome) then why be contrary and say they are great? If you don't think that IE has more faults than its current competitors then why attack my statements where I suggest this is a more significant problem than enhancing Javascript with their own set of annotations? Why? Why indulge in your continued ad-hominems ("hallucination medications", "voices in your head are not real" etc) rather than just say, "well I think doing more for Javascript development is good, and maybe IE 9 could use some work for better CSS3 compliance and definitely work on speed-ups in hotspots". Instead, you chose to be obnoxious and spray around insults, then reverting some the stronger positions made in your earlier posts. I would ask why but it is clear, you have a bit of a temper issue and it is you who is dogmatic about defending indefensible positions - is this not true?

  253. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Well, of course you have it easy if you don't even have to make it work on IE6 *as well as everything else*. Duh!

    You accuse me of being ignorant yet you don't even have to solve the problems I was talking about. Unbelievable! You probably assume that no one else has to deal with the messes of IE 6 and XP as well as the latest and greatest stuff (I don't get to choose what my corporate clients run, they are far too big to dictate to).

    I can't believe you have been such an venomous asshat yet you don't even have to solve the same range of problems that other web devs are cursed with - yet somehow you arrogantly assume you know it all and everyone else knows dick. I suppose I should "never attribute to malice what can be attributed to incompetence". Here's a pro tip, if someone is reluctant to use a brand spanking new tech it might even be because they have been bitten by tech (especially Microsoft tech) over the last two decades, and realise that the brochures don't cover all the hooks and pitfalls that can get you into trouble down the road. The reluctance is caution borne from hard-won experience, not some dogmatic crusade against a significant tech player (although it can sometimes seem that way, but admission that Microsoft does things right from time to time is a clue; I praise them for their license in this case).

  254. Re:And this suprises you? by Anonymous Coward · · Score: 0

    and you are trying to confuse the word "free".

    The GPL is free as in speech not free as in beer.

    It uses copyright law to maintain that freedom.

    You want it to mean free as in beer and don't like that it isn't although much GPL code is also free as in beer it doesn't have to be.

    The price of GPL code is it must be kept free as in speech.

    If you don't like the fact that it isn't free as in beer ... unlucky.

    I'll concede that copyright infringement is probably not thieving or stealing in the usual understanding but you still wish to take someones else code and make it yours at no cost which is not what GPL is all about, the GPL does not transfer copyright ownership.

  255. Re:Remember the old addage by terjeber · · Score: 1

    Is it true or not that TypeScript adds (removable) annotations to Javascript, and hence can be considered a variant of Javascript? true or false?

    False. TypeScript includes removable annotations, but the annotations are not carried over to the compiled JavaScript.

    I can use one tech no matter whether I'm on Linux or Windows

    Cool, so can I when I work on JBoss related stuff, but how is that relevant for this discussion. TypeScript is built on Node.js and works on all platforms supported by Node.

    Hence, any neutral reader would deduce you are a proponent of IE based on your statements

    They would? I stated that I work on IE, which anyone who does web development has to. Obviously. I also said that IE9 is a good browser, it is, particularly compared to older versions of IE. But even so, it is quite a decent browser in its own right. I understand you don't feel that way, and you claim (without any backup) that IE9 is not at all good (or so it seems). Can you be specific about what it is about IE9 that is bad? What specific problems have you run into with IE9?

    Just to add my point to the above, I had a few places where I had made IE6 specific modifications, and when IE9 was released I still used those when rendering on IE9. That didn't work since IE9 fixed a number of problems IE6 had, and those made the IE6 specific part of my pages show up wrong. I don't know how MS could have done that right though, these were work-arounds for bugs (many div placement bugs) in IE6, fixing those errors would obviously make IE6 specific markup break. I have, using jQuery, Normalizr etc, not had any need for IE9 specifics lately though. There are some things IE9 do not support yet, but that has so far been a non-issue.

    Therefore, your statements indicate you think IE is "great" and that there is little point in getting Javascript experts involved in fixing Javascript support in IE.

    You are again using assumptions based on ignorance. Why do you continue with that? Microsoft is a huge company. The people who have been doing TypeScript have nothing to do with the browser division. They are working on programming languages with Anders Hejlsberg. Do you understand the difference between a programming language and a browser? Do you understand that someone working on developing programming languages may not want to work on the browser? That moving a person between divisions like that is going to create significant problems with zero benefit? Honestly, if you still think that the fact that Anders and a handful of others working on TypeScript was resource mis-management because they should have been working on fixing IE, then you are a complete moron with no experience from real life whatsoever. It would have been a really stupid idea to move Anders to the IE team. He would have resigned on the spot. It's not even close to his cup-of-tea.

    why be contrary and say they are great

    Wow, you really are a moron. Seriously. Let's continue with car analogies here. I drive a Volvo S60. It's a really nice car. My friend drives a Toyota Avalon. It's a really nice car. Now, please tell me, was the last statement contrary? Are you really that dumb?

    continued ad-hominems

    Sigh. As with so many others, you mistake a description of your person as an ad-hominem attack. It is not. Here, I'll try to teach you something today. An ad-hominem attack is an attack that is used to discredit the arguments of a person by attacking the credibility of the person without addressing the persons specific arguments. In other words, "you cant trust this idiot because he is an idiot" is an ad-hominem attack since there is no attempt to refute anything "the idiot" presumably said. "You can't trust this idiots argument because he just made it up on the spot, see here is the evidence, presented by the moron him self",

  256. Re:Remember the old addage by terjeber · · Score: 1

    Well, of course you have it easy if you don't even have to make it work on IE6 *as well as everything else*. Duh!

    You accuse me of being ignorant

    I think you just proved it. You seem to arguing that IE9 is a bad browser. That is your opinion, but is it a bad browser because IE6 is a bad browser? Is it a bad browser because you have to make your stuff work on IE6 *as well as everything else*? Please enlighten me as to what specifically makes IE9 a bad browser. It sure can't be JS performance since you have to accommodate IE6, with worse performance.

    You probably assume that no one else has to deal with the messes of IE 6 and XP

    No, I leave baseless assumptions to you. I am not sure how IE6 and XP makes IE9 and later bad though.

    I can't believe you have been such an venomous asshat yet you don't even have to solve the same range of problems that other web devs are cursed with

    I have been talking about IE9 and 10. IE6 is a piece of junk (today, it was innovative in its time). Why would IE6 and XP be relevant to that discussion? Are you completely incapable of staying on point?

  257. Re:Remember the old addage by mcgrew · · Score: 1

    Yes, but proprietary forks of open source are no longer open, are they?

  258. Re:Remember the old addage by mcgrew · · Score: 1

    I'm starting a project at home that this may be a problem for. I have two towers sitting on each side of my TV, an HP running kubuntu using the TV as a monitor, an old Dell running XP that I want to run headless, and a notebook running W7 starter. I'm keeping XP on the Dell so I can run EAC for sampling my old vinyl and tape; EAC only runs on a Windows machine with an optical drive and Audacity lacks some must-have features. I'll have to run the Dell through the HP to get it on-screen.

    I'm going to have a hell of a time finding software that will let me run both towers from the notebook (so I won't need to use the HP's wireless keyboard) and have both towers feeding the TV. It should be a challenge!

  259. Re:Remember the old addage by TemporalBeing · · Score: 1

    Yes, but proprietary forks of open source are no longer open, are they?

    True. But the point is that if Microsoft forks TypeScript in that manner - e.g. releases a version on Windows, for IE, etc. that is different from the open source version then they will break it as people will develop for their proprietary version instead of the standard version. Again the whole EEE philosophy.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  260. Re:Remember the old addage by mcgrew · · Score: 1

    You have to be kidding.

    internet: slashdot.org/comments
    Unix: documents/man
    Linux: Videos/startrek
    Apple: photos/new
    MS: MyComp~1\docume~1\games

    Ass backwards.

    Unix: hda
    Linux: hda
    Apple: hda (I could be wrong about Apple)
    MS: C:

    Other examples: IE (all versions, 6 was the worst). Every browser except IE: Slashdot renders fine. IE6-8? I can't even post a damned JE, the slashdot logo is cut off, etc. Most newspapers have text truncated on IE6-8 (IE at work).

    Everyone: Javascript. MS: jscript. Everyone: opens and closes as many file formats as possible for any platform. MS: MS only, although they don't always succeed by try mightily. Case in point: my W7 notebook's docs say you have to have W7pro on the network to be able to network, but it works fine on my home network with a kubuntu box (yay, Samba!).

    Talk about not reading and religion... sheesh. I have both Linux and Windows (7 and XP) at home. I've run JCL on mainframes at work. What other OSes are you running, Bishop terjeber?

  261. Re:Remember the old addage by TemporalBeing · · Score: 1

    Microsoft broke the web about a decade ago

    What a load of rubbish. Seriously. Rubbish.

    You, sir, have apparently not done web programming.

    Technically speaking it is correct. Microsoft didn't break the web with IE6.

    I remember doing HTML and JavaScript stuff for IE6, vs Netscape, etc. Even then Netscape, Opera and others were more standardized in how you setup the DOM, how things interacted; and you had to have custom support for IE6. Sure, it was better than IE 5.5; but it was still a bastard to support compared to everything else.

    At the time it came out it was the best browser, and it improved things for people trying to use CSS2.

    Yes, IE 5.5 and IE6 both supported CSS2 - which was very new on the scene at that point. I wouldn't have expected Netscape 4 to support it very well. Netscape 6 did a good job; the problem was Netscape 6 was very slow. If it wasn't for the performance of Netscape 6 it would have taken off a lot better. Of course, that is also what let Netscape to create Mozilla with Phoenix (e.g. Netscape 7).

    Netscape 4.x was still rotting, The newish Netscape 6 had wider CSS2 support but was practically unfinished and very buggy, and Mozilla 1.0 was yet to be released.

    Yes, Netscape 4 was rotting; but it was still easier to program for and support than IE6, as was Netscape 6. You didn't have to do anything custom to support it, and IE6 required custom work to support.

    Mozilla 1.0 was a suite of stuff from Mozilla which wasn't started until after Netscape 6 was released, and as a result of Netscape 6. Netscape decided they couldn't do it any more the way they were - so they started Phoenix (later Firefox), Thunderbird, SunBird, and several other projects. These projects now are at the top for their respective areas - but it did take time.

    What 'broke the web' was not IE6 itself, but Microsoft leaving it to rot for 5 or 6 years.

    What broke the web was having to do custom work to support HTML and JavaScript for IE; along with the ActiveX plug-ins, etc. that were IE only and heavily pushed by Microsoft and its partners. It didn't help that Microsoft "won" then left it all to rot.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  262. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Have you ever tried to edit post-down-compiled code?

  263. Re:Remember the old addage by TemporalBeing · · Score: 1

    I have done my amount of web programming, for example, by doing Ajax, something Microsoft invented. Yes, IE6 is a broken piece of junk, but it is also an ancient piece of junk. At the time IE6 was released, every single browser "broke the web". There was no such thing as a standard way of doing anything.

    If you said that the web as such was seriously broken back when IE6 was released, that would have been reasonably accurate. IE6 didn't do anything special to "break the web", but through inaction, Microsoft allowed IE6 to live significantly longer than it should have. The most likely reason for this was complacency. Yes, Microsoft made things hard by not upgrading IE6 as more modern technologies started permeating the competition, and it also did nothing as the rest of the world moved towards standards, but claiming they broke something in the years after 2001 with a product released in 2001 is absurd.

    It was pretty common to use HTML3/4 in a very standard manner. Only, if you did it typically didn't work under IE - IE5 or IE6. It worked quite well under nearly everything else. A good bit of JavaScript could be done in a very standard manner with everything else too - except IE required special support.

    IE was Microsoft's way to EEE the web - to try to tie it to the Microsoft platform through custom functionality in the browser so you had to have custom pages for IE, to ActiveX, and more. It was a major PITA even when IE6 was released and mainly due to IE6.

    With IE5 and IE6 though, Microsoft made Ajax possible. How's that for breaking the web.

    Yes, the XHTMLRequest functionality was a good contribution; one that they initially did internally and later became standard. But it didn't take off due to IE either.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  264. Or you could just learn JavaScript by Pherdnut · · Score: 1

    What cracks me up about all these down-compiled versions is this: What other language can handle this well? JS is insanely flexible. It has some things that could do with an upgrade but if you actually bother to learn to write it well, you'll have no use for any of this down-compiled BS. And yes, it's BS. It does tie you to the original language. Writing/editing down-compiled code would be like trying to write/edit minified code only worse because of all the various ridiculous abstractions they'll be using to add classes where none were needed in the first place. JS is absurdly mutable. And yes it's dynamically typed. This has actually worked very well for web UI devs in part because of it's functional nature and in part because we really can't afford verbosity in order to deal with the sorts of BS a UI dev has to deal with.

    And yes, it's perfectly scalable in spite of these things if you actually give a damn about architecture. It's the first massively popularly-used functional language. It's not going anywhere. Learn it well so you can avoid the crutches and training wheels that will ultimately alienate talent and that you'll regret implementing five years later.

    Brendan Eich made a lot of excellent calls, making Scheme his inspiration in particular, but he's wrong about this rash of down-compiled languages, IMO. They're dead-ends.

  265. Re:Remember the old addage by terjeber · · Score: 1

    MS: MyComp~1\docume~1\games

    Seriously? That's an argument? I mean, seriously? Haven't seen that since the 1990s. Are you complaining about the MS-DOS compatibility of the file names? What would have happened if MS had made backwards compatibility impossible? Seriously? Are you complaining about the disk annotation? You do know that that is optional right?

    Unix: hda... Apple: hda..... MS: C:

    All of the mentioned items, Unix, Linux and Apple, are Unix variations. Are you complaining that Windows is not Unix? Are you trying to look serious when doing so? I mean, seriously?

    That IE pre IE9 was junk will get no counter-arguments from me. It was. I have never argued it was not.

    Everyone: Javascript. MS: jscript

    BZZZT! Wrong. Everyone Javascript. MS: three different ones, including JavaScript. As of IE10, IE is also very standards compliant at the JavaScript end. Again, I have never argued that MS is best, does best, is the greatest. I use Chrome personally almost exclusively, but MS is in fact doing many right things at the moment.

    W7 notebook's docs say you have to have W7pro on the network to be able to network

    No, it doesn't. Really, it doesn't. Please read it again.

    What other OSes are you running

    This is a short list of current and previous operating systems I have used.

    Current: Windows 7, Windows 8, I have Ubuntu 11 for all my JBoss development at work (since we deploy on Ubuntu, it's easier to use Ubuntu as the dev platform). I use Open Suse 12 at home for my Ruby development but Windows 7 for other app dev. I have Android on my Samsung Galaxy III and Windows Phone 7 on my LG Windows Phone.

    My favorite OS in many was was VAX VMS since it had ACLs and file versioning (yep, full versioning. You could go back to any version of your file by just specifying the version number when opening it) built into the operating system while Unix heads were still arguing that a stream of bytes is always best (it isn't, it was a good idea with the hardware at the time, but it has damaged good file systems for decades since) and rwx------ was plenty secure and flexible (it isn't). I ran DOS from the 2.x days, I replaced it on my AT box with Minix first and later version 0.97 of Linux and then there was Slackware - oh heaven. I was a huge fan of OS/2 particularly OS/Warp which kicked everybody's ass at the time, and had some innovations that neither Linux nor Windows ever will have. An OO desktop for example and a fantastic programming model, even better than the NeXT model. Oh, yeah, and I had a NeXT Cube on my desk at Uni, it looked awesome but was basically (in the end) useless.

    Most of this I did while you were still having your butt wiped by your mother.

  266. Re:Remember the old addage by Pherdnut · · Score: 1

    Go have a look at the compatibility tables on quirksmode.org and you tell me who held back client-side web development by a good solid decade on a number of fronts. We could center vertically in all major browsers since 2002ish, except for IE. Not until IE8. Navigator had table display properties back when it was competing with IE6.

    MS did give us XHR and they also gave us innerHTML. All the browser vendors have added new features that ultimately got popular and copied by other browsers and transferred to normalizing specs for future implementation with MS of course not feeling it was necessary to conform to specs that redesigned the API of stuff they invented or stuff they just didn't feel like changing for 10 years, like an event registration model that didn't just write over the same global object for event properties or adding newer obscenely useful native DOM getters that are still the bain of jQuery selector performance for things like $('.someClass') in IE=8

    The problem with MS, is that all they knew how to do was add to what was already there and their idiotic coupling of browser to OS for no good reason that had anything to do with healthy competitive business practices made it impossible for them to update their busted up tightly-coupled-to-other-ms-products-browsers beyond dire security issues so we had to wait for new releases that never managed to get caught up with the curve.

    So yeah, they've kind of been a pain in our asses for 10 years. I'll give them the nod for finally taking the problem seriously starting with IE9 but XHR/Ajax was inevitable and really nothing more fancy than an HTTP request/response mechanism that doesn't refresh the web page. They don't get off the hook for inventing the inevitable.

  267. Re:Remember the old addage by terjeber · · Score: 1

    I'll give them the nod for finally taking the problem seriously starting with IE9

    Which seems to be what I am doing. I am not saying much else, am I?

  268. Re:Remember the old addage by SplashMyBandit · · Score: 1

    I sent you the CSS3 compatibility link didn't I? Maybe not. Here is a handy comparison between browsers:
    http://www.findmebyip.com/litmus/
    Note: IE9 is supposed to be CSS3 compliant (as stated by Slashdot user "shutdown -p now", who is a nice Microsoftie, although not on the browser team).

    Perhaps you've been lucky enough not to be screwed up by all those read crosses, hence IE 9 is still golden for you. It just doesn't happen to be that way for some of us. You may still think I am an idiot, but I my experience is backed by a large number of fellow developers (as shown by that site, ).

    It is my wish that Microsoft patch their older browsers for better compliance. Now IE 10 may be great, but the reality is we won't see in large enterprises for a few years. The pain developers feel is *now*. Hence my point, don't frig around adding single-vendor annotations to JScript, spend every ounce of effort fixing the dogs you already have running out on the real world - throw in every talented hand you have (why? because the current effort falls short). Yes, this is hyperbole, but it is meant to indicate that effort is being wasted creating new balkanizing technologies rather than fixing what is already in use.

  269. Re:Remember the old addage by terjeber · · Score: 1

    I sent you the CSS3 compatibility link didn't I?

    Yes. And? Has anyone ever stated IE9 is perfect? No, it is a very significant improvement on all other IE browsers, something you will probably find 100% consensus about in the web development community. IE 10 is up there with Chrome, and on JavaScript, it is better than Chrome.

    It is my wish that Microsoft patch their older browsers for better compliance

    Nobody does that. The patch is called IE9 and IE10.

    Hence my point, don't frig around adding single-vendor annotations to JScript, spend every ounce of effort fixing the dogs you already have running out on the real world

    And you are still spouting nonsense out of your ignorant ass. Really. Check it out. They are not working on JScript at all, they are working on JavaScript, and the annotations they are adding are not single vendor. If you had not been so fucking retarded that you had to go an spout all kinds of nonsense about a technology you have not bothered (I am assuming it must be due to the lack of ability) to read a damned thing about. Hint: The annotations are in line with ECMA future. Check it out and stop being such a fucking idiot.

  270. Re:Remember the old addage by terjeber · · Score: 1

    In short, in case your comatose brain didn't get it, TypeScript gives you ECMA 6 with browsers that currently do not support it. Since ECMA 6 is in flux at the moment, expect TypeScript to change accordingly. Really, it is right there, in the articles and everything. ECMA, not vendor specific. Now go ask your mum for your weekly allowance and go get your self some books on Reading 101.

  271. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > False. TypeScript includes removable annotations, but the annotations are not carried over to the compiled JavaScript.
    TypeScript *is* a dialect of Javascript. Just because you convert it to Javascript means nothing (just as the Javascript being converted to machine instructions in the browser means nothing in the context of our discussion). By working in TypeScript you are still working in a single-vendor dialect of Javascript (eg. JScript). Now from your posts you seem to be a bit of an absolutist. Just because the compiler has been placed under the Apache license you believe you are not subject to lock-in. This is an absolutist and technologist point of view. To those less absolutist, say a businessman/CTO/consultant, then the lock-in is still there. Once you have a large code base written in TypeScript it is a pain to convert back to pure Javascript should you want to - yes the tool is provided, but this still takes time and effort (as in, money). This is still single-vendor lock in, just not as constrictive as it has been in the past. Don't think this is so? Well, you could always write C++ with various compiler-specific (eg. GNU) macros. Yes, you can strip these out and even have a functional program, but the effort to do so on a large code base is prohibitive - not because of technological reasons but because of practical business reasons. I will sound the same caution for those considering solutions that use custom GNU macros in their C++ as I am to those that think it is better to choose TypeScript rather than cross-browser JavaScript. The TypeScript project currently provides an out and is not too intrusive, but looking at history there is little guarantee this won't change (and less guaranteed that the whole technology won't bomb, as many Microsoft efforts have in the past). Hence, I urge caution of those considering adopting it as a direct implementation language (better to let their tools use it under the hood).

    Now if you really want to improve the web experience why do a half-assed solution like TypeScript? If you are going to use a JavaScript-esque language then why not just bite the bullet and use something else (like Google's two languages, that have been around for longer and are reasonably well proven).

    > You know nothing about me
    This was in response to your post about me being in "diapers" while you were futzing around with Sun gear. Incidentally, both my brother and I were amazed when the Linux kernel we'd been using for a while reached 0.20 (not a typo). So (bad joke alert) you are still a short timer in my book. Off topic, I'm also curious why you hate Solaris. I always found it incredibly stable, and CDE was pretty good for the time (although it is incredibly dated now). Now it turns out you know nothing about me (eg. the PhD in Astrophysics, doing high-throughput image processing etc), but you still assume that I know nothing, despite you being incensed at me doing the same to you (sorry, it was teasing, I hope you can see your statements make assumptions about me, to which I responded in a way that made assumptions about you).

    > It doesn't mean that I can't realize that Windows 8 server is probably the very best commodity operating systems for servers on the market today by a very decent margin
    You are thinking like a technologist here and not a businessman. Windows server is decent (fortunately debacles like "Windows for Warships" are in the past). However, it cannot compete on *price* with Linux servers: both in terms of licensing cost, in terms of hardware required (headless for high-performance instances that aren't virtualized), and cheaper in terms of human labour per compute unit to maintain. When your go large you don't go Windows (as Google and the supercomputer clusters attest to). So Windows 8 is indeed excellent, but at least qualify your statement to say, "for SMEs" (Small-to-Medium Enterprises) as belies your experience. Windows 8 is not the absolute best commodity OS for all purposes, k?

    > Java is stuck in committee

  272. Re:Remember the old addage by SplashMyBandit · · Score: 1

    Let's see, some basic citations for you:
    From: http://en.wikipedia.org/wiki/JScript
    "JScript was first supported in the Internet Explorer 3.0 browser released in August 1996. Its most recent version is JScript 9.0, included in Internet Explorer 9."
    and
    http://en.wikipedia.org/wiki/Chakra_(JScript_engine)
    http://msdn.microsoft.com/en-us/library/hbxc2t98(VS.85).aspx

    As explained by JavaScript guru Douglas Crockford in his talk entitled The JavaScript Programming Language on YUI Theater,

    [Microsoft] did not want to deal with Sun about the trademark issue, and so they called their implementation JScript. A lot of people think that JScript and JavaScript are different but similar languages. That's not the case. They are just different names for the same language, and the reason the names are different was to get around trademark issues.[5]

    JScript supports conditional compilation, which allows a programmer to selectively execute code within block comments. This is an extension to the ECMAScript standard that is not supported in other JavaScript implementations.

    > "They are not working on JScript at all, they are working on JavaScript"
    Lol, fail. "JScript" is Microsoft's trade name for their JavaScript implementation (at ECMAScript 3 level). There is no difference. Microsoft do as I did, use the term to denote that their Javascript variant (I did it to distinguish variants, they do it for trademark reasons). Now in IE 10 the tradename "JScript" may or may not be used officially - but it doesn't change anything for the purposes of our discussion. Your point was wrong ... and your apoplexy was again for wrong reasons.

    > Nobody does that. The patch is called IE9 and IE10.
    I have given a link to IE9's significant compatibility flaws. It needs to be patched. So should IE 8. Yes, vendors do patch older versions of their products - this is industry wide. For developers it is called "working on multiple branches", and I have to do this all the time. I'm sure an experienced fellow like you has come across this, and is aware that is it critical to maintain older stuff in the enterprise space. Suggesting you fix things by just replacing the old with the new (eg. as small outfits can) is not realistic. In fact, back-ports and patching is something Microsoft is exceptionally good at in general - supporting and patching older stuff - just not with their browser. Hence, I see it as a possibility that *if* they focused they could fix their deployed browser base in the near future [without going to an entirely untested version, or resorting to JavaScript extensions]. This was the point I was trying to make.

    > IE 10 is up there with Chrome, and on JavaScript, it is better than Chrome.
    Great. Shame it is not yet released to the non-MSDN public. Shame it is not in the enterprise and won't be for some time. IE 10 is still not relevant to this discussion *at this point in time*. When it does I'll re-evaluate the compliance. Meanwhile, the only things that matter are the compliance of the deployed IE base and whether or not they get useful patches in the near term. No patches forthcoming means IE will still be despised - this is how my clients perceive IE.

  273. Re:Remember the old addage by styrotech · · Score: 1

    Mozilla 1.0 was a suite of stuff from Mozilla which wasn't started until after Netscape 6 was released, and as a result of Netscape 6. Netscape decided they couldn't do it any more the way they were - so they started Phoenix (later Firefox), Thunderbird, SunBird, and several other projects. These projects now are at the top for their respective areas - but it did take time.

    Not quite. Netscape 6 was forked off the already existing Mozilla Suite codebase (Mozilla being the open source development project for Netscape). I seem to remember Netscape 6.0 being based on Mozilla 0.6 or so, which explains why Netscape 6 was so buggy/unfinished.

    Netscape was so desperate to get something out the door after the Netscape 5 failure and ongoing delays in stabilising Mozilla, that they were willing to ship a relatively early Mozilla pre release. It was Netscape 7 that was based off Mozilla 1.0.

    And Firefox (ie Phoenix at the time) wasn't a Netscape driven project - it was a reaction by some Netscape/Mozilla developers against where Netscape was taking the Mozilla browser. The success of the Firefox "fork" was one of the many nails in Netscapes coffin.

  274. Re:Remember the old addage by terjeber · · Score: 1

    By working in TypeScript you are still working in a single-vendor dialect of Javascript

    You keep saying stupid ignorant stuff like this. You repeating it doesn't make it less stupid and it doesn't make it less ignorant. You should have taken my advice a long time ago and learned a little bit about what TypeScript is. No, it is not single-vendor, it is ECMA JS 6. The fact that you don't know that shows that you have not tried to educate your self, and that you are still sticking to ignorant dogma. That is really, really dumb.

    Once you have a large code base written in TypeScript it is a pain to convert back to pure Javascript should you want to

    Nope. Wrong again. And again. And again. Everything you say about TS is wrong. That's why you are an idiot. Not because you are wrong, but because, despite numerous attempts on my part, you still stubbornly refuse to learn anything about TypeScript. It means that you are an idiot. Here is why you are wrong (so that this is not an ad-hominem): It takes zero time to convert back to pure Javascript since you had to do that to make TypeScript run at all. TypeScript will not run in any browser, first you have to convert it to pure Javascript. The fact that you still don't know this is yet another proof that you are ignorant and proud of it. It takes zero time to convert to pure Javascript if for example MS abandons TS because you already have converted it to pure JS. There now, I said it twice. If you can't understand what I said, have an adult read it for you and explain it to you.

    why do a half-assed solution like TypeScript

    Because it is Javascript. Because it is ECMA 6. That is a fucking good idea.

    Well, you could always write C++ with various compiler-specific (eg. GNU) macros.

    So, does the C++ compiler, when using the compiler specific macros, compile to pure C++ without that compiler specificity, and then run that C++ code directly? No? I thought not. You see, that is what TS does, and you still don't know that because you are too full of ignorance to realize how stupid you are.

    I urge caution of those considering adopting it as a direct implementation language

    Again, your ignorance is talking.

    Incidentally, both my brother and I were amazed when the Linux kernel we'd been using for a while reached 0.20 (not a typo).

    Are you absolutely certain it is not a typo? For sure? Really? Lets see. There was the announcement and 0.01, then came 0.02, 0.03 and 0.10, then 0.11 followed by 0.12 and then 0.95. Yes, you are a dumb little liar, are you not? Before trying to give your self and your brother some credit you do not deserve, at least read a little bit about the stuff you are going to write half-truths about. In case you didn't get that, which seems like an extraordinary high probability, there was no 0.20 version of Linux. You have to ask Linus him self about why he jumped like that, but I doubt you'll get an answer.

    headless for high-performance instances that aren't virtualized

    Ah, so you don't know that Windows Server can run headless, do you? Also, being in an organization that runs Windows and Linux servers, Linux is clearly more expensive to manage. Licensing costs are nothing compared to management and support cost. Managing and AD or equivalent infrastructure for, say 1000 to 5000 people is a hell of a lot easier on Windows than on Linux.

    Outdated. Java is unstuck and moving again.

    Not really. It is still managed by a totally dysfunctional committee with a totally broken process. Sorry, Java is the COBOL of this decade and the next few. Heck, they even need to go back and undo some of the damage done previously. Autoboxing in Java for example is a disaster and utterly broken. You can't do autoboxing in the compiler it has to be in the VM

  275. Re:And this suprises you? by Anonymous Coward · · Score: 0

    and you are trying to confuse the word "free".

    Nope, the code is free "in terms of freedom", that is something i'm well aware of and it is the context in which i used the term free, because we are comparing GPL and Apache free software licenses and $free is not a difference between them.

    You want it to mean free as in beer and don't like that it isn't although much GPL code is also free as in beer it doesn't have to be.

    Where did i say or imply that? Apache licensed software is no more $free than GPL code. I don't want it to be $free, i never said anything of the sort, seems you've run out of arguments and are resorting to putting words in my mouth now, sad.

    The price of GPL code is it must be kept free as in speech.

    It is kept free, and so is Apache code, someone can't just come and close the Apache code making it unavailable, nobody is taking anything away.

    If you don't like the fact that it isn't free as in beer ... unlucky.

    I'm indifferent on that issue, but of course i never brought that up because it is irrelevant since this is a discussion on GPL and Apache/BSD licenses and $free is not a defining characteristic of either...but you didn't know that did you.

    I'll concede that copyright infringement is probably not thieving or stealing in the usual understanding but you still wish to take someones else code and make it yours at no cost which is not what GPL is all about, the GPL does not transfer copyright ownership.

    No i don't, if i wanted to do that i wouldn't be advocating an Apache/BSD-style license now would i? Or don't you know anything about Apache/BSD licenses (hint, they don't transfer copyright ownership)? Maybe you should do some research. If you think it in any way relates to $free then it is clear you don't understand the issue (or the licenses in question).

  276. Re:Remember the old addage by terjeber · · Score: 1

    My bad on JScript, I was unaware of this. You have caught my in my first error - the name of a product.

    They are not working on JScript at all, they are working on JavaScript

    Lol, fail. "JScript" is Microsoft's trade name for their JavaScript implementation

    You are correct, but Anders is not working on JScript since he is (though you want him to) not working on a Microsoft browser language. Anders is working on TypeScript in JavaScript running on Node.js. If you do not understand what that means, make your brother boot his non-existing version of Linux 0.20 and run "man moron".

    I have given a link to IE9's significant compatibility flaws

    Which, specifically, are significant, and for what reason?

    Suggesting you fix things by just replacing the old with the new (eg. as small outfits can) is not realistic

    Here is again an area where your ignorance is showing. Enterprise is not clinging to IE6 because they are on XP (they can upgrade any time) they cling to it because so many apps are written for IE6 specifically, and will only work on IE6. Now, if Microsoft patches IE6 so that it becomes more standards compliant, those things will break. You see, that is why they can not move, using a standards compliant browser with these web applications won't work. So, how do you suppose Microsoft make IE6 standards compliant without breaking the apps that assumes IE6 is not standards compliant? Again, you are a big nice beacon of ignorance and stupidity.

    Shame it is not yet released to the non-MSDN public

    In three weeks.

    IE 10 is still not relevant to this discussion *at this point in time*.

    Actually it is. You are claiming MS isn't doing enough to catch up to standards. IE9 was a huge step in the right direction, and IE10 will be even more so. Both, even though IE10 is not yet released, proves you wrong.

    whether or not they get useful patches in the near term

    Three weeks, too long for you? Then get the pre-release version. It's free.

  277. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > My bad on JScript, I was unaware of this. You have caught my in my first error - the name of a product.
    Bro, this is a fundamental fail. At least you can admit you were wrong. Here, I'll do the same. I txted my bro and and he is a bit fuzzy (20 years ago) but thinks it was kernel 0.12. We're both old timers, so your initial statement of be being in "diapers" ("nappies" they are called in my part of the world) was your attempt to circumvent debate but was incorrect. Incidentally, your "Yes, you are a dumb little liar, are you not?" statement is another fail. Completely unnecessary and uncivilized. It is ok for people to be wrong (as you point out), your behaviour is not ok on a public forum no matter how wrong you think I might be. In this case, you learned something about your bread and butter trade. In contrast, I knew you were wrong about JScript yet did I pillory you for it? No, I tried to be patient and get citations for you and convince you through reason rather than insults.

    With regard to TypeScript, I have been to http://www.typescriptlang.org/ and http://typescript.codeplex.com/ and noticed out of the 37k page views and 14k+ visitors there have been 236 downloads. Looks like they're on to a winner there.I better bet my business on it quick.. With regard to your crew (oh, I hope you treat them well), yes learning ECMA script 6 is worthwhile. Although as Henry Ford famously said, "If I had asked people what they wanted, they would have said faster horses.". IMHO (and it is my opinion), you'd be better off training them to use GWT or vaadin or Script# or something like that. As is often said on the interweb, developing in JavaScript (and TypeScript) is analogous to developing in assembler. Yes you can do cool things, but by focussing on that you are missing out on the important big picture.

    By all means, bet your business on TypeScript. Hopefully you will be a success (and all that TypeScript is still useable, if only the JavaScript is usable then why bother with the TypeScript extensions at all? why not just stick with your JS?). Meanwhile I'll still be recommending GWT and vaadin for higher productivity and great interactivity and a big ecosystem.

  278. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > Also, my error rate in C# is lower than in Java because I have to write quite a lot less code in C# compared to Java.
    Most of the extra boilerplate code in Java should be generated. There are a few savings in C# compared to Java on smaller projects, but on big projects the time and effort is in complex logic, not boilerplate. LINQ is great. For you this is obviously sufficient. For me, cross-platform is vastly more important and the advantage of LINQ over JPA2 is not enough (don't worry, I understand that this is not your view, I'm just presenting mine). With regard to error rate, well I never care what the initial rate is - only the rate once you have finish unit, integration and system testing (which should make both languages the same given the same functionality).

    > With the new .NET 4.5 and things like async/await, writing scalable server applications is going to be even easier, probably increasing the 20% to some 30-40% given the number of problems found in async programming which is now a breeze in C# and .NET.
    Handy, but the amount of lines you save over a Java Runnable in a quarter million line program is completely negligible in my personal experience. The effort is expended elsewhere. However, async/await may just be handy to bang smaller stuff out quickly.

    > You can't do autoboxing in the compiler it has to be in the VM.
    Yeah, the obsession with maintaining backward compatibility at the bytecode level is indeed a bitch. I do like how old stuff and libraries still work though. Fair enough if you hate the cruft.

  279. Re:Remember the old addage by terjeber · · Score: 1

    I txted my bro and and he is a bit fuzzy (20 years ago) but thinks it was kernel 0.12

    OK, I'll bite. Let's assume it was 0.12. I am then going to ask you a very simple question - how did you install 0.12 on your PC? Tell me approximately what you downloaded, how you created disk images and how it was booted. If you used 0.12, you'll remember.

    By all means, bet your business on TypeScript

    Again, you are showing a total lack of understanding of what TS is. You do not understand why the annotations are there at all do you?

    Meanwhile I'll still be recommending GWT

    That's interesting. So, instead of using an open standard with standardized protocols like REST, JSON etc, you are recommending a closed source project where you are so extremely tied to the tools that if the vendor decides to drop the project, you are going to have to do all your apps over from the start. Seriously?

  280. Re:Remember the old addage by terjeber · · Score: 1

    However, async/await may just be handy to bang smaller stuff out quickly

    You are really funny. Why would async/await be handy to bang out smaller stuff quickly? Async/await isn't really relevant for anything but large multi threaded applications that need to scale. In Java you have to rely on callbacks, and in complex applications nested callbacks. This is very, very difficult to both debug and maintain over time since the code execution path is not obvious to the programmer. This is why the error rate for massively threaded applications is higher per line of code than when the application is not threaded. Async/await significantly cuts down on code and error rate when writing such applications.

    Your dumb "may just be handy to bang smaller stuff out quickly" shows that you again are talking from ignorance. You have no clue what async/await does, and still you talk about it as if you are an expert. You really are quite retarded.

    Yeah, the obsession with maintaining backward compatibility at the bytecode level is indeed a bitch

    Ah, see, you don't even understand this. The unwillingness to to change the bytecode level is not for backwards compatibility. You can change the bytecode to your hearts extent and maintain backwards compatibility. The "we won't change the bytecode" is for forwards compatibility, and that is just dumb. The .NET 4 runtime runs .NET 2.0 code perfectly fine simply due to the fact that the 2.0 stuff doesn't use any of the 4.x stuff. Expanding the capabilities of the bytecode engine doesn't impact older software at all.

    I do like how old stuff and libraries still work though.

    They do in .NET too, even though the bytecode engine has been expanded. Why would they not? Microsoft doesn't expect .NET 4.0 code to run on a .NET 2.0 runtime though. Sun did, and that is why they refused to change the bytecode.

  281. Re:Remember the old addage by SplashMyBandit · · Score: 1

    > You are really funny. Why would async/await be handy to bang out smaller stuff quickly? Async/await isn't really relevant for anything but large multi threaded applications that need to scale.
    Another fail. The design intend was not for large multi-threading problems (easily covered by existing constructs) but for handling UI events without affecting the responsiveness of the software - or so say the C# designers. Surely you read their intent?

    Oh, here's another fail.
    I say: Is it true or not that TypeScript adds (removable) annotations to Javascript, and hence can be considered a variant of Javascript? true or false? You say: False.
    The TypeScript website says (in 30 point font, at the top, on every page): TypeScript is a language for application-scale JavaScript development. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
    Superset, get it yet? even the authors consider TypeScript a dialect of JavaScript (dialects do not necessarily have to be fully mutually intelligible, they just have to share a common base).

    Oh, and in your paragraph stating, "And you are still spouting nonsense out of your ignorant ass. Really. Check it out. They are not working on JScript at all, they are working on JavaScript, and the annotations they are adding are not single vendor. If you had not been so fucking retarded that you had to go an spout all kinds of nonsense about a technology you have not bothered (I am assuming it must be due to the lack of ability) to read a damned thing about. Hint: The annotations are in line with ECMA future. Check it out and stop being such a fucking idiot."

    Not only were you wrong, but you were so badly wrong you added "ignorant ass", "so fucking retarded", "spout all kinds of nonsense about a technology you have not bothered (I am assuming it must be due to the lack of ability) to read a damned thing about.", "fucking idiot" about something I was right about and you were being totally idiotic about. Somehow you thought that liberally lacing with insults would make your ignorant statement true, through sheer force of willpower perhaps? Somehow you thought that this was the only mistake you made. Somehow you thought you didn't mix in ad-hominems as well (hint: it is not a boolean function as you stated but instead a spectrum, ad-hominems can still be present even when other valid points are made in a debate), but you most surely did. Even. When. You. Were. Wrong.

    Fare well. No more feeding trollish behaviour for me. Plus, I've learned everything I need to from and about you. Unfortunately, I don't think you'll learn to temper your anger and arrogance with this debate. That's a real shame, it will ruin your life in the long term. Pax.

  282. Re:Remember the old addage by terjeber · · Score: 1

    The design intend was not for large multi-threading problems (easily covered by existing constructs)

    Which constructs specifically? Let's say I am developing a server side application that, upon a REST request from a client, has to get data from a database, a web service and a legacy application over a non-standard XML interface. I am doing exactly this right now in Java. Which constructs are as easy to use as async and await in C# or Java that will allow me to do this? Please be specific. The fact that you read one line about async and await and then you think you know what it is for just shows how much of a retard you are. Async/await is a benefit to all applications that need to gather data from slow(ish) resources. It is particularly well suited for web-based (server side) applications) since it makes it easy to develop code that doesn't block the HTTP request thread. Not blocking the HTTP requet threads will make your application scale better.

    Not only were you wrong

    Where was I wrong? Is Anders working on JScript? Since when? Where do you find JScript in Node.js? Remember, TypeScript runs on Node.js, It DOESN'T run in IE at all and probably never will. So, please, explain how Anders is working on JScript, the Microsoft implementation of JavaScript, when Anders is not working with any Microsoft technology at all (apart from adding tooling to VS2012). Please. Show me the link between TypeScript and IE9 or IE10 or any version of IE, you know, where JScript is.

  283. Re:Remember the old addage by Anonymous Coward · · Score: 0

    Just keep calling it "ECMA Script" until it sticks.

    For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)

    You're welcome.

    Unfortunately, it won't, because to me it sounds more like smegma.

  284. Re:Remember the old addage by mcgrew · · Score: 1

    Seriously? That's an argument?

    The backslash is backwards. Everyone else uses a forward slash to denote directories. Of course, MS has its backslash from the obsolete CP/M. I find no fault in the way they did the long file names. As to backwards compatibility, though, every time I ever upgraded Windows, half my old programs would no longer work.

    The very worst one was the upgrade from 98 to XP. After installing the OS and my apps, on reboot it informed me that the CD burning software that came with my burner made it unstable (even though I'd not had any stability problems with 98 running anything), and then refused to let me uninstall the damned thing! Worse, I got that message every time I booted. I finally just reinstalled Windows, which fixed the broken driver Microsoft replaced the perfectly good one with. That was actually the boot to the ass that got me starting to migrate to Linux.

    Are you complaining that Windows is not Unix?

    Yes. Unix is the standard. Apple didn't used to be Unix based, either, but they had the good sense to join the rest of the computing world. Again, though, I do understand their wish to be completely baclwards compatible, but they could easily have a "compatibility mode," kind of like Linux can run DOS programs.

    As of IE10, IE is also very standards compliant at the JavaScript end.

    About time, don't you think?

    MS is in fact doing many right things at the moment.

    W7 is certainly the best MS OS I've used, and I went from DOS 3.3 to W7. I do agree that they are getting better (although from what I've read, W8 may be a step backwards, I haven't tried it).

    No, it doesn't. Really, it doesn't. Please read it again.

    Hmmm.... I'll have to plug in that XP box and see if the notebook can read its files and vice-versa.

    My favorite OS in many was was VAX VMS

    I only had contact with that as a user, but it seemed a fine OS to me.

    Most of this I did while you were still having your butt wiped by your mother.

    That's doubtful, Grace Hopper wrote the first compiler the year I was born.

  285. Re:Remember the old addage by terjeber · · Score: 1

    Everyone else uses a forward slash to denote directories

    Unix does. If you define Unix as "Everybody" you are right, otherwise you are just ignorant.

    every time I ever upgraded Windows, half my old programs would no longer work

    That is rubbish. Sorry. It is simply rubbish. Of course, unless the software in question was rubbish software written by incompetent idiots. Nobody does backwards compatibility like Microsoft. Nobody perhaps except the IBM mainframe guys.

    Yes. Unix is the standard

    That is probably the dumbest thing I've read so far today. "Oooooh, everybody should be exactly like me if not my puny brain can't work proper.". Besides, the backslash is not part of the OS, it is part of the command shell, which Microsoft (sensibly) made backwards compatible, something you (when contradicting your self) said was a good thing. Imagine all the stuff that would break if MS changed it in their shell. In the OS the two are equivalent and interchangeable. If you want to use forward slash, why not just install bash and you are good to go.

    Apple didn't used to be Unix based, either, but they had the good sense to join the rest of the computing world

    Wow. Unix is a standard, but from the 1970s, and it shows. The monolithic monster that is the Linux kernel is (according to Linus) bloated beyond belief. Unix is one of many, many operating systems, and it isn't even close to being the most well designed. Quite frankly, Unix as it is today deserves to finally be awarded the terrible death of badly designed shit. Good operating systems abound, but not all of them are as popular as Unix. Honestly, from an Operating Systems design point of view Unix is an anti-pattern and it is holding back the software development industry tremendously (Windows is a little better, but not "better enough").

    Operating systems that beat the crap out of Unix, from a scalability, reliability and programmability perspective include, but are not limited to: MINIX 3, Amoeba, QNX, OS/2, NeXT (kinda, a little bit, sorta), VAX VMS, Open VMS, z/OS etc.

    The only positive thing there is to say about Unix is that it is simple and straightforward. It has to be. It was designed to run on PDP/(7-11)s, and it shows. Don't get me wrong, I am a Unix head, but Unix is not even close to being a good operating system, it is barely a skin-deep layer on top of the hardware (to exaggerate just slightly) and the "everything is a stream of bytes" is just a bad idea now. It was good then, but then was a PDP-11.

  286. Re:Remember the old addage by Pherdnut · · Score: 1

    Sorry, must have mis-clicked. Was replying to:

    http://developers.slashdot.org/comments.pl?sid=3156723&cid=41531003

  287. Re:Remember the old addage by UnknownSoldier · · Score: 1

    > WebGL is a security nightmare. By design.

    I need to see a citation, reference, or proof please before I believe that

  288. Re:Remember the old addage by terjeber · · Score: 1

    Have you heard about this new thing called Google?

  289. Re:Remember the old addage by UnknownSoldier · · Score: 1

    Internet or Google? No never heard of http://bit.ly/viyioS
    Now, instead of being a smart-ass or dumb-ass why don't you add something _constructive_ to the thread like answering the question.

    99.99% of people claiming WebGL is a security risk are blowing smoke out of their ass.
    i.e.
    http://www.khronos.org/news/permalink/webgl-security
    "There are no known WebGL exploits and Khronos will continue to place close attention to technical and ecosystem opportunities to ensure WebGL is a secure technology that can be used with confidence. "

    Can WebGL read user's cookies? NO.
    Can WebGL read user's private data? NO.

    There was only *one* OVER-rated exploit I have ever seen: cross-origin images and that was fixed (internet years) ago.
    http://www.khronos.org/webgl/security/

    Until I see an actual *working* WebGL exploit, to say "WebGL was is insecure by design" to spouting ignorance. Do you even understand what vertex and fragment shaders are limited to?

    Now, I agree that *WEB* Browsers (in general) are *insecure*, but one sub-system of them remains to be *proven* that *it* is insecure. I have not seen any other exploits since May 2011, almost 1.5 years ago.

    So again, (0-day-exploit) [citation]

  290. Re:Remember the old addage by mcgrew · · Score: 1

    That is rubbish. Sorry. It is simply rubbish. Of course, unless the software in question was rubbish software written by incompetent idiots.

    When my work upgraded computers ten years ago and went from 98 to XP, Foxpro 6 wouldn't work any more. So your rubbish software written by incompetent idiots was a Microsoft title.

    I haven't tried running any old software on this W7 notebook, perhaps they've improved.

  291. Re:Remember the old addage by terjeber · · Score: 1

    Sorry, FoxPro 6 ran fine on XP.

  292. Re:Remember the old addage by mcgrew · · Score: 1

    It wouldn't even start on my computer.

  293. Re:Remember the old addage by terjeber · · Score: 1

    As I said, it ran fine. Runs fine in fact. Perhaps the problem lay elsewhere. At the chair-keyboard interface perhaps.

  294. Free TypeScript eBook by Anonymous Coward · · Score: 0

    I produced a free TypeScript eBook:

    http://www.heronote.com/files/TypeScript.htm