Why Anders Hejlsberg is Full of Shit

or why TypeScript is yet another steaming pile of crap that does nothing to advance the state of the art...

Go ahead, watch the video and come back. It's ok I'll wait...

TypeScript is yet another pile of stupid by people who should know better. They claim in their marketing speak that it is "a language for application-scale JavaScript development", but what does that actually mean? Does anyone anywhere use this language? Nope! So it is definitely not a term d'art, nor even in general usage. So what is the purpose then? To cast an aspersion against core Javascript; as if to say "Javascript is unfit to build applications because it lacks these features". So what necessary features does it bring?

So what never mind we've been down these roads before, not all of them are bad, but many could be remedied by just conforming to the existing proposals for ES Harmony. For example:

Which leaves their type hackery onto existing code as obvious footnote in the history of bad ideas, as trying to force a 3rd party application to conform to an ad hoc specification of what one thinks it might do to be a generally bad idea.

But let's ignore the specifics that there are perfectly reasonable proposals for nearly all of these necessary features, but let's ask the fundamental question "Is any of this shit necessary to write application in Javascript?" Let's look at some literature:

And you have to realize here that, Eich explicitly points out the flaw in TypeScript's "ambient typing":

For Typed JS along the lines of Typed Racket, we would need not only modules but contracts. That is not yet proposed, but it could happen for a later Harmonious edition than ES.next (ES6, unless something needs that number in a hurry).

which is exactly what TypeScript's ambient type is trying to do with a one-sided contract, one which is guaranteed not to be agreeable to the monkey patched party. Mind you, all of these type systems merely restrict the programmer, because the underlying assumption is they can't possibly grok how to program in a classless programming language, ie. Javascript. And Javascript is not so nearly complicated as languages like Self which have the capacity for dynamic inherence .

In effect, not only is TypeScript unnecessary, filling a role as Traceur's idiot kid brother, but it's marketing speak is merely more flame bait, ignores the actual hard work of hundreds of engineers who are advancing the state of Javascript development, and show little more than the grand failure of vision we've come to expect from Microsoft.