Javascripts rankas som världens mest populära programmeringsspråk, men Microsofts variant Typescript är på stark uppgång, enligt en nyligen publicerad rapport från analysföretaget Redmonk.

Till skillnad från de flesta rankningar av hur populära olika programmeringsspråk är, så utgår Redmonk inte från utannonserade jobb, eller hur många företag som faktiskt använder olika språk, utan de försöker se trender genom att utgå från hur många projekt på Github som använder olika språk och hur mycket det ställs frågor om språk på till exempel forumet Stack Overflow. På detta sätt försöker man se vart vinden blåser inom yrkeskåren, skriver Wired.

Typescript har seglat upp till tolfte plats, från plats 16 sen den senaste mätningen i augusti. Det placerar språket strax efter Apples omåttligt populära Swift, som varit det snabbast ökande språket sedan mätningar startade 2011.

Att just Typescript är på stark frammarsch är naturligtvis inte en slump, även bortsett från att det är utvecklat av Microsoft. Angular, Googles ramverk för webbappar för både mobilen och desktop är byggt i typescript, vilket även gäller Javascript-ramverket Vue.

Typescript är i stort sett en variant av Javascript, ett så kallat superset, det vill säga Typescript inkluderar Javascript men omfattar även mer. Typescript lanserades av Microsoft i oktober 2012 i version 0.8 efter ett par års utveckling. Typescript är licensierad under öppen källkods-licensen Apache 2.0 och kompilatorn är i sig skriven i Typescript.

Typescripts äldre syskon Javascript är som sagt omåttligt populärt och praktiskt taget alla webbapplikationer har åtminstone lite Javascript i sig, speciellt på klientsidan, men även i ökande grad på serversidan. Även om Javascript utvecklats en hel del sen det introducerades 1995, var det, och är, inte riktigt byggt för större och med komplexa applikationer.

Typescript försöker råda bot på detta genom att lägga till ett antal egenskaper som gör det enklare för utvecklare att utveckla komplexa applikationer, varav ett exempel är Microsofts utvecklingsverktyg VS Code som är skrivet i Typescript. Kod skriven i Typescript kompilerar till Javascript och därför fungerar typescript på alla ställen där Javascript fungerar. Dessutom är syntaxen mycket lik Javascript och JScript Dotnet, till skillnad från till exempel Googles språk Dart, som har ett liknande anspråk men en egen syntax, och gör att det är enkelt för Javascript-utvecklare att lära sig typescript.

Eftersom Typescript är ett superset av Javascript betyder det att existerande Javascript-program är giltiga Typescript-program, och Typescript kan användas för att utveckla Javascript-program för både klient- och serversidan.

Det Typescript tillför Javascript är framförallt statiska deklarationer av datatyper, men det är en frivillig egenskap, och det går utmärkt att falla tillbaka på Javascripts dynamiska typdeklarationer. Statiska deklarationer av datatyper medför att typkontroll kan utföras vid kompilering istället för att utföra typkontroll av dynamiska typdeklarationer vid exekveringen.

Statiska deklarationer av datatyper ökar säkerheten för applikationen och förbättrar den kompilerade binärens prestanda eftersom kompilatorn kan verifiera datatyp-säkerheten i programmets källkod och i viss mån garantera att programmet uppfyller en uppsättning egenskaper för typsäkerhet för alla möjliga indata.

Kontroll av statiska typdeklarationer kan ses som en begränsad form av program-verifiering, och i ett typsäkert språk kan kontrollen även ses som en form av optimering. Om en kompilator kan bevisa att ett program har korrekta typdeklarationer behöver den inte inkludera dynamiska säkerhetskontroller, vilket resulterar i en binärfil som är både mindre och snabbare.

Typescript stödjer även definitionsfiler med information om datatyper med existerande Javascript-bibliotek. Detta medför att andra program kan använda de värden som definieras i filen som om de var statiska typdefinitioner av typescript-enheter. Det finns färdiga definitionsfiler för populära tredje-parts-bibliotek som Jquery, MongoDB och D3.js. Det finns även definitionsfiler för Node.js vilket medför att utvecklare kan utveckla Node.js-program med Typescript.

Eftersom Typescript innefattar hela rymden av Javascript, men även tillför nya egenskaper som stödjer utveckling av mer komplexa ”riktiga” applikationer och program, kommer förmodligen språket att öka i popularitet de kommande åren. Den som vill lära sig Javascript kan i princip lika gärna gå direkt på Typescript eftersom det ger allt det Javascript ger, men med förbättrade egenskaper, högre säkerhet och bättre prestanda.

Läs också:
Här är de sju farligaste programmeringsspråken
Google öppnar sandlåda för C och C++