De Top 10 programmeertalen voor 2018

Terugblik op de populaire programmeertalen van 2016

Twee jaar geleden had ik een vergelijkbare post geschreven met de top-10 programmeertalen van 2016. Toen was vooral interessant om te zien dat het lijstje van de top-10 talen bij Indivirtual grotendeels overeenkwam met de top-10 lijst die werd samengesteld door 1000 bezoekers van de pagina die een top-3 van hun favoriete talen konden aangeven via een poll onderaan het artikel.
Veel bezoekers gaven Python en C++ ook op als favoriete taal in hun persoonlijke top-3. Onder het kopje “overig”, waar bezoekers een ontbrekende taal konden opgeven, stonden ook nog interessante antwoorden. Opvallend was dat hier C, Basic1 en Scratch2 ook hoog scoorden. Daaruit maak ik op dat er best wat mobiele app bouwers en studenten de pagina ook hebben bezocht. En er was uiteraard ook nog steeds de vraag of HTML wel geclassificeerd mag worden als programmeertaal. Ja en Nee natuurlijk, maar ik zal het er deze keer uitlaten ervan uitgaande dat iedere bezoeker van deze pagina deze “markup language” machtig is!

2016 top-10 programmeertalen Poll Resultaten: overig

De “overige” resultaten van de top-10 programmeertalen poll uit 2016

Top 10 programmeertalen voor 2018

Voor de bronnen en het bepalen van wat de meest populaire programmeertalen verwijs ik je graag terug naar de beschreven onderzoeksmethoden van de post uit 2016. Onderstaand lijstje is onder andere samengesteld via een de bron IEEE. De pijltjes erachter geven snel aan welke talen zijn gestegen, gedaald of gelijk gebleven ten opzichte van 2016

Python vs JAVA

Python vs JAVA (Klik op het plaatje voor de volledige versie)

  1. Python – #3 in 2016 #4 in 2016
  2. C – zelfde pos. in 2016 no change
  3. JAVA – #1 in 2016 #1 in 2016
  4. C++ – #3 in 2016 #3 in 2016
  5. C# – zelfde pos. 2016 no change
  6. R – zelfde pos. in 2016 no change
  7. Javascript – #8 in 2016 #8 in 2016
  8. PHP – #7 in 2016 #7 in 2016
  9. Go – #15 in 2016 #15 in 2016
  10. Swift#17 in 2016 #17 in 2016

Andere noemenswaardige populaire talen zijn: Arduino, Ruby, Objective-CShell

Stabilisatie in programmeertalen

Wat het meeste opvalt aan de huidige top-10 in vergelijking met de top-10 van twee jaar geleden (en nog meerdere jaren terug) is dat er bepaalde talen echt “uit” aan het raken zijn, maar ook dat er een redelijk stabiele top aan het ontstaan is. De grootste tweedeling zit dan voornamelijk nog in de webgerelateerde talen, die voornamelijk worden gebruikt voor het bouwen van websites en web-applicaties, en de mobile phone development talen. Uiteraard ga ik hier wel heel gemakkelijk over de talen heen die worden gebruikt voor het bouwen van software applicaties of in de wetenschap, maar die zijn minder vertegenwoordigd in de top.

Buiten de stabiele top JAVA, C#, C en C++ is eigenlijk alleen Python de “nieuwkomer”. Tussen haakjes, want Python bestaat al sinds de jaren 90, maar stijgt nu dus enorm in gebruik vanwege de zeer brede toepassingsmogelijkheden 3. JavaScript staat ook al jaren stevig in de top-10, maar vertegenwoordigd een breed scala aan Frameworks; van vanilla JavaScript, Angular, React tot Node.js.

De overige programmeertalen in de top-10 waar nog wel wat in is geschoven in de laatste jaren hebben verschillende redenen. Objective-C is eruit ten koste van Apple’s Swift waarmee iPhone apps worden ontwikkeld. Google’s Go is erin gekomen als brede taal inzetbaar voor web en desktop/science applicaties. PHP schuift langzaam omlaag en verliest dus wat populariteit. Echter net als Ruby4 en Perl betekent dit niet dat ze niet meer nuttig zijn om te leren, maar dat ze “volwassener” zijn. Verwacht hier geen (niet veel) groei meer in.

Top 10 3 programmeertalen bij Indivirtual

Welke programmeertalen zijn belangrijk voor een bedrijf als Indivirtual. Sinds 2016 is er bij ons ook wel wat meer geschoven in welke programmeertalen we ondersteunen en inzetten, maar onze basis als web-applicatie bouwer is wat dat betreft redelijk stabiel. Klanten staan tegenwoordig meer open voor andere technieken omdat er steeds minder “traditioneel” gehost wordt, waarbij de inkoop van servers en grote software licenties, met contracten van drie of meer jaren, steeds meer worden vervangen door (local)cloud-hosting en de software steeds meer uitgaat van (headless) REST interfaces, waarbij de keuze in taal/techniek om het te ontsluiten steeds vrijer is geworden. Ik sla HTML5 in onderstaande lijstje over, omdat dit een basis is die nu wel gemeengoed is in de wereld van programmeren.

How-to-save-the-princess in programming languages

The Epische strijd om programmeertalen barst los… Welke taal redt de prinses het beste?!? (Klik op het plaatje voor de volledige versie)

  1. JAVA
    • Indivirtual heeft op het moment iets minder JAVA programmeurs dan C# ontwikkelaars, maar omdat veel C# ontwikkelaars wel in JAVA kunnen programmeren staat deze bovenaan. JAVA wordt veel ingezet in combinatie met het Hippo CMS van Bloomreach, of losse web-applicaties en interfaces.
  2. C#
    • Er zijn dus meer C# ontwikkelaars bij Indivirtual, dus deze staat stevig op twee (gedeelde eerste plaats). C# wordt veel ingezet via de CMS-en Episerver, Umbraco, SDL Tridion en Sitecore, maar met de komst van .NET core ook veel toegepast als microservice of om bijvoorbeeld het headless CMS Contentful te ontsluiten.
  3. JavaScript
    • JavaScript begint steeds belangrijker te worden binnen Indivirtual. Waarbij ook veel .NET en JAVA developers zich bezighouden met oa de implementatie van Angular, React of NodeJS. Er is dan ook een front-end team die dedicated bezig is met de implementatie van deze Javascript frameworks. En vergeet niet om vanilla6 JavaScript ook te leren voordat je met een van deze frameworks aan de slag gaat!
    • Ik laat het deze keer bij een top 3! Bovengenoemde talen is waar het voornamelijk om draait binnen Indivirtual, waarbij specialisatie op bepaalde CMS-software ook al als een aparte taal gezien kan worden, want elk komt vaak weer met zijn taaltje. Javascript kan ook weer worden onderverdeeld in allerlei sub-talen. Dan hebben we uiteraard nog HTML en CSS… Verder wordt er binnen Indivirtual nog veel meer gebruikt, maar om daarmee een top-10 te vullen lijkt het alsof een groot deel van de Indivirtuals er dagelijks mee bezig zijn. Voorbeelden van sporadisch, maar zeker nuttige talen bij Indivirtual zijn: Python, SQL, PHP, (power)Shell, Arduino

Conclusie

Een beetje programmeur beschikt over de mogelijkheden om eigenlijk elke taal in te zetten. De zogenaamde Full-Stack developer7 mentaliteit is in ieder geval goed om te hebben. Laat je niet beperken door één taal, maar je hoeft ook niet achter elke nieuwe hype aan te hollen. Bij Indivirtual is de verdeling best overzichtelijk, maar met de huidige manier van ontwikkelen zullen we steeds meer taal-specifieke toepassingen zien in plaats van een toepassing per se in je eigen favoriete taal te schrijven.

Geef hieronder aan van welke taal jouw hart sneller gaat kloppen, of waarmee je je brood verdient.

 

  1. Basic is een door Microsoft al lang afgeschreven programmeertaal (ondertussen vervangen door Visual Basic en Visual Basic for Applications), maar het is nog altijd goed om te beginnen programmeren in Basic
  2. Scratch is een object-georiënteerde visuele programmeertaal die ontwikkeld is op de MIT door Lifelong Kindergarten group en het MIT Media Lab. De taal is geschikt voor het maken van visualisaties zoals interactieve verhalen, animaties, spellen, muziek en kunst en richt zich speciaal op jonge mensen vanaf 8 jaar; website
  3. Leuk feitje van Python is dat het door een Nederlander (Guido van Rossem) is ontwikkeld! Lees meer over de brede toepassingen van Python op deze blog van Monitis. Meer informatie over de groei van Python lees je in deze Stackoverflow blog
  4. Ruby heeft veel concurrentie gekregen van oa Swift, Go en NodeJS (bron)
  5. Is HTML nou wel of geen programmeertaal? Nee, Het is een opmaaktaal (markup language) die wordt gebruikt om teksten op een bepaalde manier weer te kunnen geven.
  6. vanilla, een term voor software die nog helemaal in originele staat is, zonder aanpassingen. In dit geval Javascript zonder Frameworks. Zie deze grappige, maar serieuze website over Vanilla-JS
  7. In de volksmond wordt aan een Full-Stack developer gerefereerd als een software engineer die zowel de back-end als de front-end kant kan programmeren. In de 00’s van deze eeuw was er weinig onderscheid tussen front-end en backend. Iedereen die websites ontwikkelde was een web ontwikkelaar

Hendrik Beenker

Hendrik Beenker is a Solution Architect who has been delivering website solutions to you since 2000. He joined Indivirtual in 2004 and has worked on corporate websites and environments, specializing in CMS implementations such as Tridion, Episerver, Hippo and Umbraco. Loves Social Media, Cloud solutions and dreams of a technocracy.