Microsoft released Visual Studio 2013 Update 2 CTP 2, adding new capabilities from CTP 1 and providing functionality to help development teams become more productive. Along with the release of 2013.2 comes the release of Microsoft’s programming language, TypeScript. Microsoft first went public with a preview of TypeScript in October 2012, and now it is finally ready to release TypeScript 1.0 RC. The release of TypeScript strengthens it as a first-class development language, according to Microsoft.

TypeScript is designed as a typed superset of JavaScript to strengthen the language and make up for its missing elements. JavaScript doesn’t have any of the application structure concepts such as classes or static typing that are essential to developers when creating larger-scale apps, according to Anders Hejlsberg, Microsoft technical fellow and core developer of TypeScript.

“TypeScript is really about addressing community needs when it comes to writing large JavaScript applications,” he said. “We wanted to see what can we do to add those to JavaScript without messing with the cross-platform capability.”

TypeScript compiles into JavaScript code, which works on any browser, host or operating system. Developers working with TypeScript can use existing JavaScript code, integrate popular JavaScript libraries and be called from other JavaScript code, according to the TypeScript website.

“With TypeScript, we have focused on bridging the wildly popular JavaScript language with types for easy error detection, while bringing forward features from the future version of JavaScript in a way that’s compatible with modern browsers,” wrote Jonathan Turner, program manager for TypeScript, on the TypeScript blog.

Developers using TypeScript are also able to use highly productive development techniques and practices such as static checking, statement completion, code refactoring and symbol-based navigation.

TypeScript, Hejlsberg said, enables projects, multiple files and cross-platform refactoring to “give the look and feel of Java or C++.” He said it also works with jQuery, Node.js or AngularJS with no modifications.

“And it works even better when you define type definitions,” he added. “If you use optional static types for jQuery or whatever you’re using, you get a fantastic tooling experience.”