Development

Software-ontwikkeling
Development, programmeren

TypeScript, Rust, Kotlin en Go: wat kun je daarmee?

Nieuwe talen worden snel populairder.

21 februari 2020

Nieuwe talen worden snel populairder.

De wereld van programmeertalen wordt nog altijd vernieuwd en er komen nog altijd nieuwe talen bij. Programmeurs leren die talen graag, bleek onlangs uit onderzoek van HackerRank onder ruim 116.000 ontwikkelaars uit 162 landen. Zeker de relatief nieuwe talen Go, Kotlin, Typescript en Rust bleken erg populair. Toch kent lang niet iedereen ze.

 HackerRank zocht in zijn onderzoek onder meer uit welke programmeertalen ontwikkelaars graag willen leren. Daar bleken vier relatief nieuwe talen bij te zitten: Go, Kotlin, Typescript en Rust. Go stond zelfs voor het derde jaar op rij bovenaan die lijst, Kotlin en Typescript stonden op plaats drie en vier.

Maar lang niet iedereen is bekend met deze talen, bleek uit datzelfde onderzoek. In de top tien van meest bekende programmeertalen, zien we van die vier alleen Typescript staan. Go, Kotlin en Rust zijn dus veel minder bekend onder ontwikkelaars.

Wat houden deze talen precies in? Waar zijn ze op gebaseerd, door wie zijn ze ontwikkeld en waar zijn ze voor bedoeld? AG Connect zocht het uit.

Unix-grondlegger maakt Go

Go wordt sinds 2007 ontwikkeld door niemand minder dan Google, dat de taal zelf ook intern gebruikt. Opvallend is dat de taal onder meer Ken Thompson meewerkte aan de taal. Thompson is één van de grondleggers van Unix. Andere ontwikkelaars aan Go zijn Robert Griesemer en Rob Pike.

Go ontstond volgens de officiële website na frustraties over de “onnodige complexiteit” die kwam kijken bij het ontwikkelen van serversoftware. De makers constateerden het programmeren zelf zich niet zo snel ontwikkelde als de andere technologieën. Daarom werd nagedacht over welke uitdagingen er zouden ontstaan in de komende jaren en hoe een nieuwe programmeertaal kon helpen die te overkomen. Het resultaat was Go, dat begon als een set aan ideeën en wensen en uiteindelijk een echte taal werd.

Het doel van Go – dat qua syntaxis losjes op C gebaseerd is – is om programmeurs te helpen, door saaie taken te automatiseren en obstakels bij het werken met een grote code base weg te nemen. De taal richt zich op eenvoud, niet alleen om ermee te werken maar ook om het te leren.

Go is gericht op het bouwen van complexe, grote systemen en moet eenvoudig te onderhouden zijn. De taal is te compileren voor onder meer Linux, OS X, FreeBSD en Windows voor i386- amd64- en ARM-processorarchitecturen.

Beter dan Java

Kotlin bestaat pas sinds 2011 en is vooral een alternatief voor Java. De taal werd ontwikkeld door softwareontwikkelingsbedrijf JetBrains, dat ondervond dat de meeste talen niet de functionaliteiten hadden die het bedrijf zocht. De enige taal die dat wel had, was Scala. Maar Scala compileerde volgens JetBrains veel te traag. Daarom maakten ze Kotlin, dat de gevraagde functionaliteiten wel heeft en net zo snel moet compileren als Java dat doet.

Kotlin compileert niet alleen net zo snel als Java, het moet ook naadloos met de oudere programmeertaal samenwerken. Toch is Kotlin volgens Andrey Breslav, die de leiding over de ontwikkeling van de taal had, wel “beter” dan Java. Dat heeft logischerwijs te maken met de functies die Kotlin wel heeft en Java niet. Met Kotlin kun je een probleem bijvoorbeeld met minder regels code oplossen dan je in Java nodig hebt, en er zitten een functies in waardoor slimmer wordt omgegaan met bepaalde uitzonderingen.

Tegenwoordig wordt Kotlin onderhouden als opensourceproject. De taal wordt nu vooral gebruikt voor de ontwikkeling van mobiele applicaties, al zijn er ook toepassingen voor webdevelopment en data science. Kotlin wordt sinds 2017 door Google ondersteund op Android. In mei vorig jaar kondigde Google zelfs dat Kotlin nu de voorkeurstaal is voor de ontwikkeling van Android-apps.

JavaScript met wat extra’s

De kans is groot dat je JavaScript wel kent, aangezien het volgens het onderzoek van HackerRank de meest bekende programmeertaal ter wereld is. Maar ook JavaScript heeft zo zijn voor- en nadelen. In 2012 verscheen er een zogeheten superset voor deze programmeertaal die de nadelen moet aanpakken. Die superset is TypeScript.

TypeScript werd ontwikkeld door Microsoft, maar is tegenwoordig net als Kotlin en Go open source. Hoewel de taal zelf compileert naar JavaScript, heeft het ook wat nieuwe functies. Het grootste voordeel zit hem in het feit dat TypeScript static type checking mogelijk maakt. Met deze functie kunnen ontwikkelaars sneller fouten in de code ontdekken, waaronder die vervelende typfoutjes die je zelf nooit meer terugvindt.

Bovendien stelt TypeScript je er direct van op de hoogte als er iets in je programma kapot is vanwege een wijziging die je gedaan hebt. Bij JavaScript ontdek je dat vaak pas als je de code al uitgevoerd hebt. Daarnaast kun je automatisch aanvullen inzetten wanneer je bijvoorbeeld een functie aanroept of een object aanmaakt, om foutjes in de code te voorkomen. Daarnaast kun je met TypeScript schrijven met een syntaxstijl die het gemakkelijker maakt om de code te lezen.

Juist omdat TypeScript uiteindelijk weer compileert naar gewoon JavaScript werkt je applicatie uiteindelijk in iedere browser en op ieder besturingssysteem. Je hebt dus nog steeds alle voordelen van JavaScript, maar dan met wat extra functionaliteiten.

Rust is niet roestig

Mozilla – bekend van browser Firefox – kondigde Rust voor het eerst in 2010 aan. Deze taal - die zijn naam dankt aan een schimmelfamilie, en niet aan roest - biedt dezelfde prestaties als C en C++, maar heeft ook wat voordelen ten opzichte van de andere twee. C en C++ gebruiken weinig geheugen, maar een nadeel is dat je het geheugen wel met de hand moet beheren. Doe je dat niet, dan kan er niet-gedefinieerd gedrag voorkomen.

Rust is een programmeertaal die ontwikkelaars helpt om fouten te voorkomen. De taal zorgt er via zijn compiler voor dat je het geheugen veilig gebruikt, zodat je niet na hoeft te denken over eventuele problemen op dit gebied.

Met Rust kun je onder meer web apps maken, omdat het gecompileerd kan worden naar WebAssembly. WebAssembly draait in iedere grote browser en doet dat ook nog eens erg snel. Daarnaast leent Rust zich goed voor netwerkdiensten, command line-tools en voor diensten op apparaten met weinig resources.

Lees meer over Development OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.