Coming Soon: GET:IT Endpoint Management 1-Day Conference on September 28th at 9:30 AM ET Coming Soon: GET:IT Endpoint Management 1-Day Conference on September 28th at 9:30 AM ET
Cloud Computing|Main|Visual Studio

Microsoft TypeScript 2.0 Language -- Ready for Prime Time in IT?

Microsoft TypeScript 2.0
Anders Heljsberg regrets a C# omission (2009)

Microsoft updates TypeScript language to 2.0. It’s an open-source superset of JavaScript, but said to be easier to use, more productive, create more reliable code, and compile down to standard JavaScript.

Version 2.0 adds features such as non-nullable types and expanded control flow analysis. Plus tagged unions, the never type, this types for functions, and of course glob support. Got all that?

Anyway, it’s gaining huge momentum among developers. In today’s IT Newspro, we resist the temptation to say developersdevelopersdevelopers.

Your humble newswatcher curated these news nuggets for your entertainment. Not to mention: A Heljsberg chalk-talk

Sponsored Content

Say Goodbye to Traditional PC Lifecycle Management

Traditional IT tools, including Microsoft SCCM, Ghost Solution Suite, and KACE, often require considerable custom configurations by T3 technicians (an expensive and often elusive IT resource) to enable management of a hybrid onsite + remote workforce. In many cases, even with the best resources, organizations are finding that these on-premise tools simply cannot support remote endpoints consistently and reliably due to infrastructure limitations.

What’s the story? Peter Bright shines a light on TypeScript:

TypeScript, the JavaScript-based languagedevised to make developing large Web applications easier, reached its version 2.0 milestone.With TypeScript, Microsoft is aiming to introduce some of the same checking and validation thatlanguages such as C#, Java, and C++ performwhile still remaining compatible withJavaScript.

TypeScript seems to be winning over a good number of JavaScript developers. Google has given the project its backing by adopting TypeScript for its Angular 2 framework.Microsoft has been running it as a community-driven open source project, too. [It’s] one of the success stories of Redmond’s embrace of open source.

You hear that Mister Tim Anderson? That is the sound of inevitability: [You’re fired -Ed.]

TypeScript first appeared in October 2012backed by Microsoft’s Anders Heljsberg – the inventor of C# andBorland’s Delphi.The TypeScript compiler emits standard JavaScript code; no special runtime is required.

[It] is hosted on, where it is the 15th most popular languagewith 250 per cent growth year on year.The most notable feature in TypeScript 2.0 is non-nullable types.The compiler will checkfor variables set to null, and forvariables that are used before [being] assigned.

Let’s go to the horse’s mouth, shall we? Microsoft’s Daniel Rosenwasser is excited to announce the announcement—TypeScript 2.0 is now available:

We’re excited to announce the final release of TypeScript 2.0!TypeScript is JavaScript that scales.

[It] allows developers to use existing JavaScript code, incorporate popular JavaScript libraries, and call TypeScript code from JavaScript. [It] enables JavaScript developers to use highly-productive development tools and practices like static checking and code refactoring.

With this release, TypeScript delivers close ECMAScript spec alignment, wide support for JavaScript libraries and tools, anda first class editing experience in all major editors. [It’s] an even more productive and scalable JavaScript development experience.

Sounds cool. How do I get it? Arif Bacchus liberates us from self-conscious fear:

To download TypeScript 2.0you must update TypeScript 2.0 for Visual Studio 2015 with Update 3. To grab it with NuGet, start using TypeScript 2.0 in Visual Studio Code. For, Visual Studio “15” Preview usersTypeScript 2.0 will be included in the next Preview release.

And what’s next? Mary Jo Foley knows all about it:

Moving forward, Microsoft plans to focus on enhancing thelanguage service and set of tooling.

Fine, but is there a wider context to this? Paul Krill displays an anachronistic image:

It is part of a roster of JavaScript alternatives, such as CoffeeScript, that areeasier for developers. Key improvementsinclude simplified declaration file acquisition, in which declarations for a library are made easier.

Control flow analyzed types in version 2.0 can produce the most specific type possible.Also, immutable programming has been made easier.In future versions, [they] plan to evolve the type system to allow further expression of JavaScript in a statically typed fashion.

But what’s the big deal with disallowing NULL? shutdown -p now explains:

In [JavaScript] etc., null means lack of value, “absent”. And that is not a bad concept, you run into this sort of thing all the time.

The problem is that the type system is unsound – every reference type is implicitly considered an option type with null. And yet any operation on a reference is permitted even when it wouldn’t be allowed on null – hence, runtime exceptions.

[TypeScript] solves that problem outright. If you have a typed reference, by default, it cannot be null, and any code that’s trying to assign to it something that might be null simply won’t compile. In those places where you actually want to allow null, you can explicitly spell it out in the type, but then you’ll have to do null-checks before you access any member (which effectively changes the type of reference inside the conditional statement to the default never-null type). Again, the compiler enforces all that – so if your entire program was typechecked, there cannot be any runtime null errors.

Effectively, they made null into a true monadic option type, like ‘a option in ML, or Maybe a in Haskell.

Wait, I still don’t quite get it. rasmusbr cuts to the chase:

If you and everyone on your team always writes correct code then it doesn’t matter how you encode non-existent values.The problem is that writing correct code is sometimes hard and often takes a lot of time.

And Finally…

Anders Heljsberg brings us up to speed

Main image credit: D. Bagley (cc:by)


Don't have a login but want to join the conversation? Sign up for a Petri Account

Comments (0)

Leave a Reply

Live on Tuesday, September 28th, at 9:30 AM ET!

GET-IT: EndPoint Management 1-Day Virtual Conference

The management of endpoints is complicated and the risks associated with having unsecured devices roaming outside the firewall are quickly becoming a targeted vector for malicious users. In this Petri one-day virtual conference, we will be diving deep into how you can improve the way you manage your endpoints and learn from industry experts and MVPs about best practices, available tools to streamline your operations, and what's coming soon with Windows 11.


Sponsored By

Live Webinar: Active Directory Security: What Needs Immediate Priority!Live on Tuesday, October 12th at 1 PM ET

Attacks on Active Directory are at an all-time high. Companies that are not taking heed are being punished, both monetarily and with loss of production.

In this webinar, you will learn:

  • How to prioritize vulnerability management
  • What attackers are leveraging to breach organizations
  • Where Active Directory security needs immediate attention
  • Overall strategy to secure your environment and keep it secured

Sponsored by: