Anders Hejlsberg is one of the most astute thinker alive in the programming language world today. So when he comes up with something I take a careful look at it. Typescript is his latest creation, I watched his presentation video and I really liked what I saw.
Unless you’ve been involved in web application development at scale, you won’t realise what Typescript brings to the picture. It is a very elegant solution to a really common problem: Typescript helps in writing large Javascript code without ending up with a monster spaghetti that even the authors hate to look at.
Naysayers will snarl, isn’t this yet another Microsoft embrace and extend effort? Who needs a new JavaScript like language?
Microsoft lovers would rave.
But, any fanboim set aside, this is a tremendous effort and it is coming from a truly “new Microsoft” that some are still too blind to see. This is a nice case of “embrace and extend” that should be applauded. The team that made it took care of the following essential things:
- keep the learning curve low and smooth: Typescript is actually just JavaScript, if you think about it, so no new language to learn
- make it fit within developer’s work flow: the developer can keep his beloved tools and still get the benefits of a less error-prone (thus less bug) development
- keep it future proof: Typescript team appears to have adopted the open standard that governs JavaScript itself (EcmaScript if you don’t know), so as the standard matures Typescript would have already been there or can easily adjust with changes to the specifications
- make it open for the wider community: the language and its tooling is all available under a well liked Apache open source License, anyone can use it and extend it, no fear of vendor lock-in here
If you are a programmer who writes web applications, don’t wait to learn about scaling JavaScript the hard way, I highly recommend Typescript to you. If you already know all the horrors of large JavaScript code, check this out anyway and you will learn something that might even make you want to switch. I definitely plan to integrate this in my tool-chest and the solutions that I am building.
One comment