Naar mijn gevoel is geen language maar een framework, een tool. Dat hoeft niet altijd even efficiënt te zijn en dat is het ook niet. Probleem met frameworks is dat je er afhankelijk van wordt en eigenlijk in definitie niets toevoegt behalve een nieuwe standaard.
Typescript os ES6 (of vgm ondertussen es7) + static typing. Je kunt zo van Typescript afzijn als je wilt. Je compiled je project zonder downlevel compiling en je hebt je eigen javascript zonder dingen van typescript.
Is het een nieuwe standaard? Ik weet dat het typescript en het flow team met Ecma bezig zijn geweest. Hoe dit er nu voorstaat weet ik niet. Wel weet ik dat beide projecten dezelfde .d.ts bestanden gebruiken. En daarnaast, Microsoft moest wel, in 2012 was er niet veel voor javascript en static typing.
Twee regels of 20 regels, dat maakt nogal verschil, heb mijn javascript versie gemaakt van een simpel voorbeeld van Microsoft, een soort hello world, mijn versie was twee regelsen niet twintig. Vind het wel een nadeel zoveel ruis om iets eenvoudigs te kunnen doen en denk meteen aan overdrijven of iets nieuws willen introduceren.
Het gaat niet om het aantal regels code die jij schrijft, het gaat erom dat jou code over een jaar ook nog gesnapt word. Als je hier meer regels voor moet schrijven, dan is dat zo, maar je code moet nog vaak zat gelezen worden.
Is Typescript overkill? Voor een klein project wel waarschijnlijk, helemaal in een hello world zoals jij zelf ook al aangeeft. Typescript word interessant als je duizenden regels hebt. Typescript zorgt er namelijk voor dat je een hele hoop tooling kunt gaan draaien van een static typed language. Refactoring, go to reference, intellisense op jou code, etc. Daarnaast is het een soort linter. Het haalt er type fouten uit en zegt welke dingen in je code niet kunnen.
Naar mijn gevoel is geen language maar een framework, een tool. Dat hoeft niet altijd even efficiënt te zijn en dat is het ook niet.
Je uitvoerende code is gewoon jouw javascript - typings. Je kunt het downlevel compilen net als met Babel (al heeft typescript jou typings en zou het dit beter moeten kunnen dan een losstaande tool). Jouw geschreven code zal langer zijn. De verhouding is niet altijd 2:20. Je voert de types één keer in en kunt ze blijven gebruiken. Je schrijft dus ook vaak zat even regels met iets extra's er tussen. Voor de tooling en checking die ik ervoor terug krijg en die mij na het typen, bijvoorbeeld als typechecker helpt, word ik juist onder de streep, ook in mijn eigen paar honderd regels projecten. Niemand schrijft foutloos en dan is het toch fijn dat je edditer al begint te klagen en niet pas je browser, Node of een andere runtime.