DISCLAIMER: I don't work on TypeScript. I am not involved with that team and this is all my own opinion and conjecture.
UPDATE: After this post I sat down with Anders in Denmark at the GOTO 2012 Conference sin Aarhus and asked him bunch of questions about TypeScript. That recorded audio podcast is now available.
TypeScript was announced and folks are saying "TypeScript is clearly Microsoft's answer to Google's Dart" or "So TypeScript is Microsoft's answer to CoffeeScript."
I was chatting with Jez Humble today about the intense interest and some little gnashing of teeth around TypeScript and he offered this little gem of a quote:
It's disappointing when smart people display a profound ignorance of computing history. - Jez Humble
TypeScript has been out a day. It's way early to see if it has legs, but it seems initially promising.
People have compared TypeScript to Dart. That's comparing apples to carburetors. TypeScript builds on JavaScript so there's no JS interop issues. Dart is a native virtual machine written from scratch. Dart interops with JavaScript...but it's not JS. It doesn't even use the JavaScript number type for example.
I'm a huge CoffeeScript fan although it is a different language with a syntax of its own to learn. What I like about TypeScript - so far - is that TypeScript’s static typing could enable better tooling with warning squiggles, easy statement completion, plus smart refactoring. You also get easy navigation around code, as well as find references, rename, and more. You don’t currently get that in CoffeeScript.
TypeScript is a superset of JavaScript and you write it like you write JavaScript which I like. Any existing JavaScript is already TypeScript. One argument has been made that TypeScript is for people who don't want to learn JavaScript. I don't buy that. As Ward Bell said in an email:
TypeScript is not a crutch any more than JSLint is a crutch. It doesn’t hide JavaScript (as CoffeeScript tends to do). - Ward Bell
I think Ward says it well. Folks rail against static typing but they don't complain about JSLint. TypeScript offers optional type annotations - it's hardly a perversion of JavaScript.
From what I can see after using TypeScript for a few days is this. It gives you type checking, explicit interfaces and easier module exports. In fact, it's a little like getting some of tomorrow's ECMAScript 6 early in a way that's compatible with today's JavaScript. ES6 won't be out for at least a year but we can play with some of those features today.
Things that I like about TypeScript:
Things I don't like about TypeScript (these are mostly implementation things)
<Target Name="BeforeBuild"><Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" /></Target>
I will continue to use TypeScript and evaluate it, but I think the fact that it's open source, it creates JavaScript and it feels comfortable to me as a C# programmer means it will fill a useful niche.
This quote from Luke Hoban, co-creator of TypeScript really hits the spot.
"CoffeeScript is to Ruby as TypeScript is to Java/C#/C++." - Luke Hoban
If you love Ruby, you'll enjoy CoffeeScript as it makes the JavaScript more like the Ruby. The same is true with TypeScript. It brings useful features into JavaScript in an ultimately compatible and syntax-friendly way using language constructs you're comfortable with.
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am a failed stand-up comic, a cornrower, and a book author.
"From the company that brought us the non-standard browser that keeps on giving, the IDE that crashes 5 times a day, and JScript, a custom version of JavaScript that served the sole purpose of tying developers to IE, we bring you "TypeScript". It's got nothing to do with IE (yet), but don't worry, we can think of plenty of ways that we can leverage this to tie you into our products."
You should do more research. ASP.NET webstack is open source and has taken commits happily from others including the Mono guys so it would work on Linux. This is not going to change.
Azure supports Linux, happily, and this will not change.
This is not the Microsoft of years past. Find a new reason to dislike them, these won't work.
This is nothing but weak FUD, best kept on that withering wine of bitterness otherwise known as Slashdot. This is not your father's Micro$oft, and uttering thinly-veiled rants smothered in thick, slippery slope fallacy sauce is inane and childish. Even - by some large jump of the imagination - if Microsoft wanted to integrate TypeScript into their browser, it would have little effect on the rest of the Web where Internet Explorer no longer has a stranglehold.
a@href@title, b, blockquote@cite, em, i, li, ol, pre, strike, strong, sub, super, u, ul
Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.