
Dromen van code
In de klassieke programmeertalen is veel werk te vinden, maar met opkomende talen kun je jezelf onderscheiden. Hoe maak je de goede keuze?
Wat is dé taaltip die een ervaren developer geeft aan nieuw, aanstormend talent? 'Leer allemaal QBASIC', grapt IT-architect en DevOps-engineer Sander van de Graaf. 'Zonder dollen: er zijn veel talen die interessant en hot zijn op het moment. Maar dat ze hot zijn, hoeft niet te betekenen dat ze over vijftien jaar nog hot zijn.'
Andersom kan ook: programmeertaal C - geboren in 1972 - stond afgelopen zomer weer op de tweede plaats in de top tien populaire programmeertalen van het toonaangevende tijdschrift IEEE Spectrum. C staat daar met Java, C++, Python en C# in de top vijf.
Op zes staat de snelgroeiende nieuwkomer R, die vooral dienstdoet voor analyse en visualisatie van grote hoeveelheden gegevens. R surft mee op de populariteit van big data: het vergaren, analyseren en benutten van enorme datahoeveelheden om zo tot nieuwe informatie en inzichten te komen. R is (en blijft) open source.
Open source en Internet of Things
Open source is een belangrijk thema. Zo is Apple's nieuwe programmeertaal Swift, ter vervanging van Objective-C, vrijgegeven als open source. Apple doet dit om meer developers voor Swift te winnen en zo de programmeerwereld te veroveren, versus bijvoorbeeld de klassieke taal Java. Swift is ook bedoeld voor software in de zogeheten back-end: op bedrijfsservers en in de cloud.
Swift is dan ook vlot opgeklommen in de TIOBE Index van het gelijknamige softwarekwaliteitsbedrijf. In de editie van januari 2016 staat Swift op plaats 14, gestegen vanaf 25. Op één staat Java en op twee het aloude C. Laatstgenoemde is behoorlijk low-level, wat wil zeggen dat programmeurs hardware zo optimaal mogelijk kunnen gebruiken. C sluit daarmee goed aan op de beperkte rekenkracht in de apparaten die het opkomende Internet of Things (IoT) vormen.
Ondode talen Programmeertalen kunnen hot or not zijn, maar ook ondood. Sommige zeer oude talen zijn in de praktijk nog onmisbaar, zonder dat dit algemeen bekend is. Zie bijvoorbeeld oertaal COBOL, die stamt uit 1959 en dienstdeed op de eerste mainframes. COBOL draait anno 2016 nog steeds, zij het niet bepaald voor sexy nieuwe projecten en consumentgerichte toepassingen. Alleen is er een hele generatie COBOL-programmeurs aan het wegvallen: door pensionering en overlijden. Opvolgers zijn relatief schaars doordat COBOL als achterhaald wordt gezien, waardoor niet veel developers zich op deze taal hebben gericht.
Het doel bepaalt de taal
Een mogelijke verdringer van C is het door Google ontwikkelde en gebruikte Go, oordeelt Van de Graaf. 'Een heel groot voordeel van Go is dat het kan compileren naar heel veel verschillende platformen.' Dit loopt uiteen van verschillende mobiele platformen tot webapplicaties.
Voor het web doet vaak programmeertaal JavaScript dienst, dat in de grote ranglijsten steevast een positie in de top tien heeft. Dankzij nieuwe ontwikkelingen als NodeJS 'ontsnapt' JavaScript aan zijn oorsprong van clientside programma's (op pc's en andere systemen van eindgebruikers) en dringt het door op servers.
Het doel is hoe dan ook bepalend voor welke taal meer of minder geschikt is: voor het web, voor mobiel gebruik, voor enterprise-systemen, of voor embedded elektronica? Daarbij is er plek voor sexy nieuwkomers en voor vertrouwde veteranen. Van de Graaf bevestigt: 'De bekende talen - Python, Ruby, Java, en ja, ook PHP - gaan zeker nog wel wat jaren mee.'
Waarom nieuwe wielen uitvinden? Apple maakt furore met zijn eigen programmeertaal Swift, waar onder meer softwarereus IBM op aanhaakt. Google heeft in de afgelopen jaren eigen programmeertalen als Dart en Go (golang) gemaakt. Waarom eigenlijk, want er zijn toch al zo veel programmeertalen? Klopt, maar deze en andere nieuwkomers voegen wat toe. Zo maken ze beter of gemakkelijker gebruik van multicore processors, netwerken van samenwerkende computers en nieuwe platformen zoals smartphones en IoT-apparaten. Van de Graaf: 'Andere talen, denk aan bijvoorbeeld Go, lossen een probleem van portability op een onconventionele manier op. NodeJS richt zich weer meer op parallelliteit. Allemaal dingen die in het verleden ook weleens zijn gedaan, maar er zitten (soms) toch wel degelijk grote verbeteringen tussen.'
Wat vind je prettig?
Het algemene advies van Van de Graaf is om in ieder geval één van die 'klassieke' talen te leren. Belangrijker dan wat er momenteel populair is, is volgens hem: 'Wat vind je prettig?' De beginnende developer zal hierbij moeten zoeken wat voor hem of haar het beste werkt. 'Als je eenmaal één taal goed beheerst (als in: kunt dromen), dan kun je een andere taal ook gemakkelijk oppakken. De basics zijn meestal hetzelfde, maar de finesses zijn het lastigst.'
Die finesses, zoals de verschillende notaties van bijvoorbeeld if/else-statements, zijn volgens Van de Graaf te vergelijken met de grammatica van een vreemde spreektaal. 'Maar de achterliggende logica is het moeilijkste deel.'
Het magazine voortaan gratis in de mail? Laat hieronder je e-mailadres achter!
