De trend rond Web3 heeft ook invloed op softwareontwikkelaars. Sommige programmeertalen zullen namelijk meer van tel zijn. We overlopen tien belangrijke.
Web3 is het idee voor een nieuwe invulling van het world wide web. Het richt zich op een zogenaamd decentraal model, versus het eerder gecentraliseerde model dat vandaag eerder de norm is. Concepten als decentralisatie en blockchain-technologieën primeren bij Web3, en dat heeft impact op de ontwikkelaar.
Onlangs gaven we met Computable een lijst met programmeertalen die eerder op retour lijken te gaan. Met input van Analytics Insight overlopen we de tien belangrijkste (opkomende) talen voor Web3.
1. Solidity
Solidity is een objectgeoriënteerde programmeertaal voor het implementeren van slimme contracten op verschillende blockchain-platforms, met name Ethereum. Als taal is Solidity voornamelijk beïnvloed door C++, Python en JavaScript. ‘Solidity is de meest gebruikte ‘smart contract programmeertaal’ in web3’, stelt Aratrika Dutta, analyst bij Analytics Insight.
2. Scala
Scala is een object-functionele programmeer- en scripttaal, voor een combinatie van objectgeoriënteerd en functioneel programmeren. Scala, dat in 2004 verscheen, is een statisch getypeerde taal. ‘Het is een high-level taal die eerder makkelijk te leren is voor ontwikkelaars en hen helpt om bugs in ingewikkelde toepassingen te vermijden, aldus Dutta. ‘Ontwikkelaars hebben bij Scala ook toegang tot een grote verscheidenheid aan bibliotheek-ecosystemen.’
3. R
Net als Scala is R is al langer ingeburgerd bij ontwikkelaars. De taal, die eind vorige eeuw verscheen, wordt veel gebruikt bij dataverwerking en statistische toepassingen. R is ontworpen door Ross Ihaka en Robert Gentleman (vandaar de naam R) aan de universiteit van Auckland in Nieuw-Zeeland. ‘R biedt een breed scala aan statistische en grafische technieken die zeer vlot zijn uit te breiden zijn.’
Aan de horizon
4. Go
Go is een van de nieuwe talen aan de horizon, die volgens Analytics Insight het potentieel hebben om op termijn JavaScript en Python uit te dagen. Go komt uit de Google-stal (vandaar ‘Go’ in de naam) en werd in 2011 voor het eerst stabiel uitgebracht. Go heeft, in het licht van functioneel programmeren, in korte tijd een behoorlijke aanhang opgebouwd. ‘Go wordt op meerdere gebieden gebruikt, zowel voor het ontwikkelen van robuuste software als voor de backends die gebruikt worden voor web- en mobiele toepassingen.’
5. Swift
Ook Swift heeft de reputatie om een lage instapdrempel te hebben als programmeertaal om efficiënt software te schrijven. ‘Het staat bekend als een veilige, snelle en interactieve taal met een geoptimaliseerde compiler voor betere prestaties.’
6. Elixir
Elixir is een functionele, concurrente programmeertaal voor algemene toepassing. De programmeertaal is gebouwd op Erlang en ontworpen in 2011 als programmeertaal die geschikt is voor grootschalige websites en apps. Met Elixir is het mogelijk om gegevens met groot volume te verwerken. ‘Ontwikkelaars gebruiken deze gemakkelijk te leren programmeertaal voor webontwikkeling, gegevensinvoer, ingebedde software en multimediaverwerking in alle sectoren ter wereld.’
7. Clarity
De Clarity programmeertaal wordt gebruikt in het Bitcoin Web3 ecosysteem om slimme contracten en dapps of gedecentraliseerde applicatie (een applicatie die autonoom kan werken) te maken. Het is ontworpen om het beheer van activa op een blockchain zo veilig, beveiligd en voorspelbaar mogelijk te maken.
Breed spectrum
8. Vyper
Vyper is een experimentele, statisch getypeerde, contractprogrammeertaal die lijkt op Python. Net als objecten in object georiënteerd programmeren bevat elk contract variabelen, functies en gemeenschappelijke datatypes.
9. Kobra
De makers van Kobra wilden een taal die machine learning toegankelijk maakt voor ingenieurs en wetenschappers. ‘De editor van Kobra stelt code-achtige reeksen samen, met drag-and-drop mogelijkheden voor veelgebruikte en ingebouwde routines voor statistische analyse en machine learning.’
10. Rust
Niet zozeer in de sfeer van Web3 maar eigenlijk ook breder, is ook Rust aan een opmars bezig, met dank onder meer aan enkele recente uitingen van de technisch directeur van Microsoft Azure. Zo werkt Rust aan de hand van geheugenverliesgaranties, waardoor ontwikkelaars het geheugen van een programma niet langer handmatig hoeven beheren. Dit verkleint het risico op geheugengerelateerde beveiligingsfouten, die bij C en C++ vaak opdoken.
En verder?
Natuurlijk zijn er nog andere programmeertalen van tel in Web3. Zo worden ook vaak technologieën en (meer specifieke) talen als Move, Cairo en andere aangehaald als programmeertalen rond onder meer smart contracts en blockchain. En natuurlijk zijn de huidige klassiekers als Java, C, C++, Javascript en Python – zeg maar de big five in softwareontwikkeling – ook nog niet meteen weg.