This really isn't very similar to CoffeeScript. It's a bit more like Objective-C, in that TypeScript is a superset of JavaScript. From what I can tell, there are really only two additions:
1) Type Annotations. These are just simple extensions to function definition syntax. So you can make a function like `function helloWorld(msg: string) {}`, and get static type-checking.
2) Classes. They add a simple ES6-compatible `class` definition syntax. (along with `interface`).
Since it's a superset of JavaScript, rather than a whole redesign of the language, any valid JavaScript file is valid TypeScript. But, similarly to CoffeeScript, TypeScript is compiled to JavaScript before execution (rather than being an IE-only runtime or something).
This is a pretty earnest, carefully restrained effort to patch two of the most significant pain-points in JavaScript. Personally, I find this more appealing in theory than CoffeeScript, although in practice it'll have to catch on first. Props to Microsoft for trying something good :)
No doubt you are right, probably about all of this. But at first look, to me, it looked like CoffeeScript. More importantly my HN title is amusing, and we can always use a little more fun.
This looks nothing like coffeescript. Coffeescript is a perl syntax language which cross compiles to javascript, and has no common basis with JS other than fundamentals of programming. TypeScript is a superset of Javascript, uses identical syntax, and is loosely based on ECMA Harmony-- the future of Javascript standards. The only thing in common with coffeescript is that it's installed via node and cross compiles.
I see the humor you're trying to play here, but things like this are actually kind of rare-- microsoft offering a contribution to the open source community with zero gain to their own systems, and respecting established standards. To imply that they're ripping off CoffeeScript is irresponsible, and downplays the significance behind their work. I for one will be looking for ways that I can contribute to this project as it mitigates nearly every concern I had WITH coffeescript.
Other than that it's compiled to JS, I see absolutely no relation to CoffeeScript here. It's just an ugly and statically typed version of Javascript for all those C# folks who want to hop on the fancy Node.JS bandwagon but can't sleep at night without their type safety...
looks more like Dart than Coffeescript , in fact it is very similar to dart , so nothing new here , except for the visual studio integration.
In a few years , you'll have to know js and one of these "languages" to get a js job ... that's the babel tower effect , the reason is most of the developpers dont like plain javascript. And ES6 is not likely to be operational within 5 years , from an enterprise perspective , since all these legacy phones and browsers will never support it (full ES5 is not even supported by most of the 2012 handsets) . ES6 is coming too late.
1) Type Annotations. These are just simple extensions to function definition syntax. So you can make a function like `function helloWorld(msg: string) {}`, and get static type-checking.
2) Classes. They add a simple ES6-compatible `class` definition syntax. (along with `interface`).
Since it's a superset of JavaScript, rather than a whole redesign of the language, any valid JavaScript file is valid TypeScript. But, similarly to CoffeeScript, TypeScript is compiled to JavaScript before execution (rather than being an IE-only runtime or something).
This is a pretty earnest, carefully restrained effort to patch two of the most significant pain-points in JavaScript. Personally, I find this more appealing in theory than CoffeeScript, although in practice it'll have to catch on first. Props to Microsoft for trying something good :)