Why does TypeScript have to be the answer to anything?
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.
TypeScript and Dart
TypeScript and CoffeeScript
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.
So what is TypeScript?
Things that I like about TypeScript:
- It's Open Source and under the Apache 2.0 license
- You can install the tools easily with
- npm install typescript -g
- You can git the source
- git clone https://git01.codeplex.com/typescript
- You can play with it online at http://www.typescriptlang.org/Playground
Things I don't like about TypeScript (these are mostly implementation things)
- No splitscreen editor like Visual Studio's existing CoffeeScript editor
- UPDATE: While this isn't "official" support, Mads has updated Web Essentials 2012 with a splitscreen editor. The two teams are going to work together on a more official solution.
- Doesn't generate .js on save, requires a build.
- UPDATE: The Web Essentials extension does this for us.
- You have to add a BeforeBuild target to your ASP.NET application's CSPROJ:
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
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