There are some pain points to be sure (modules, generics that don't quite work), but:
- Emits known good javascript patterns, preventing javascript's typical '50 ways of doing something'.
- Interacts cleanly and nicely with the existing javascript ecosystem.
- The emitted javascript runs on old browsers, and is only marginally bigger than the source code, smaller sometimes, if you use interfaces
- Clean module system (a little irritating to use perhaps, but still) supporting AMD and CommonJS (this is absolutely the future for JS dependencies).
- Open source, installable compiler using npm.
What's the alternative?
- native JS <-- Not a bad choice, needs discipline to maintain code quality
- coffee script <-- Interacts poorly with existing js ecosystem
- dart <-- Doesn't run on old browsers, poor interop
- emscripten <-- Massive output, poor interop
I cant say I'm any hurry to add C# into the mix, but typescript has impressed me thus far, despite being from Microsoft.