De Tweakers Developers Summit 2023 nadert met rasse schreden. Op 12 september komen in DeFabrique in Utrecht programmeurs en developers bijeen om tal van workshops en talks te volgen. Daarnaast zijn onze partners aanwezig; denk aan bedrijven als NS, Logius, ASR, HR2day, KPN, Chipsoft, de nationale politie en DPG Media. Het event is dé plek om met elkaar van gedachten te wisselen, nieuwe inzichten te verzamelen en tips & tricks uit te wisselen.
Wil je zeker zijn dat je erbij bent, dan kun je hier kaarten kopen.
Elk jaar reizen tal van developers af naar Utrecht, stuk voor stuk met een specifieke achtergrond en skillset. Welke programmeertaal gebruiken ze, waarom is dat hun ‘weapon of choice’ en is het gras misschien groener aan de overkant? In dit artikel proberen we er antwoord op te geven.
Geschiedenis van programmeertalen, in vogelvlucht
De eerste generatie programmeertalen, zoals Assembly, werd geboren uit de noodzaak om machinetaal te abstraheren. Dit gebeurde met het doel ervoor te zorgen dat programmeurs in een iets menselijkere taal konden werken. Fortran (1957) was een van de eerste talen van hoger niveau en werd gevolgd door LISP (1958) en Cobol (1959). Deze talen waren respectievelijk bedoeld om te voldoen aan de eisen van wetenschappelijke berekeningen, symbolische redenering en zakelijke logica. In de jaren '70 en '80 kwam er een verschuiving naar gestructureerd programmeren, ook wel bekend als de Structured Programming Revolution, met de introductie van C, Pascal en Ada. Die talen stelden programmeurs in staat om efficiëntere, beter onderhoudbare code te schrijven door een sterkere controle op structuren zoals lussen en functies. In de jaren '90 kwam het zogenaamde objectgeoriënteerde paradigma op. Java en C++ werden populair, samen met talen zoals Python, die een hoge mate van flexibiliteit en gebruiksgemak boden.
Populaire programmeertalen van dit moment
Momenteel zijn vijf programmeertalen het populairst: Java, C#, PHP, Python en C++. Uiteraard doen we hier direct een aantal talen te kort; denk bijvoorbeeld aan JavaScript als meestgebruikte taal op het web, en ook serverside met behulp van Node.js is als platform een veelgebruikte taal. Toch houden we ons voor nu even aan deze vijfdeling. Verderop in het artikel komen nog meer talen aan bod.
Java
Van mainframedatacenters tot het gebruik van smartphones: Java's bereik is gigantisch. Dankzij de objectgeoriënteerde structuur is Java voor velen de gouden standaard geworden voor platformonafhankelijke applicaties. Deze veelzijdige taal wordt gebruikt voor het beheren van databases en het creëren van Android-apps, en als backendtaal voor web- en desktopapplicaties. Met de Java Virtual Machine als kerncomponent biedt hij een veilige en efficiënte manier om code op verschillende platforms te draaien. Java staat voor stabiliteit en betrouwbaarheid, en is en blijft enorm relevant.
Python
Python raast als een meteoor door de wereld van de programmeertalen en groeit sneller dan welke scripttaal dan ook. Deze gratis opensourcetaal blinkt uit in gebruiksvriendelijkheid, met leesbare syntax en uitgebreide moduleondersteuning. Bezig met machinelearning en data-analyse? Dan is Python je vriend. Met bibliotheken zoals TensorFlow en SciPy wordt de taal ook gebruikt in 2d-imaging, 3d-animaties, games en wetenschappelijke softwaretoepassingen.
PHP
Vóór de opkomst van talen zoals JavaScript en Ruby was PHP de motor achter bijna elke dynamische, interactieve website. Met de lamp-stack (Linux, Apache, MySQL, PHP) als ruggengraat was er weinig concurrentie. Hoewel het misschien zijn toppositie heeft verloren, blijft PHP een van de meestgebruikte programmeertalen ter wereld en is het nog steeds een krachtig instrument voor serverside-webdesign.
C#
C# is een van de krachtigste talen in het .NET-framework en een essentieel instrument voor het bouwen van toepassingen voor Windows, Android en iOS. Deze taal, die door Microsoft werd ontwikkeld, wordt gebruikt in de backend van grote websites zoals Bing, Dell en Visual Studio, en speelt ook een rol in de ontwikkeling van Unity-games.
C++
C++ kun je zien als de lijm voor het bij elkaar houden van uiteenlopende complexe systemen, van besturingssystemen tot de gebruikersinterface van browsers en games. Met zijn efficiënte geheugenbeheer en de mogelijkheid om rechtstreeks toegang te krijgen tot systeemhardware is C++ voor veel toepassingen onmisbaar. Met de toenemende populariteit van iot-apparaten en smartwatches met embedded systemen blijft deze taal essentieel, ook in de toekomst.
Indeling in categorieën
Uiteraard zijn er veel meer talen dan de vijf die we hierboven hebben benoemd. Een belangrijk gegeven is dat het handiger is om programmeertalen in te delen in categorieën dan op basis van populariteit. De volgende classificatie biedt een overzichtelijke indeling; sommige talen kunnen daarbij in meer dan één categorie vallen.
In algemene zin zijn er vijf hoofdcategorieën waarin talen kunnen worden ingedeeld:
- Procedurele programmeertalen werken met sequenties van commando's om uitvoer te creëren. Voorbeelden zijn C, C++, Java, Pascal en Basic.
- Functionele programmeertalen zijn gericht op het uitvoeren van wiskundige functies en evaluaties, waarbij elke functie een specifieke taak uitvoert. Populaire talen in deze categorie zijn Scala, Erlang, Haskell, Elixir, en F#.
- Objectgeoriënteerde programmeertalen behandelen programma's als groepen objecten, waardoor codehergebruik en schaalbaarheid worden vergemakkelijkt. Hier komen Java, Python, PHP, C# en Ruby van pas.
- Scripttalen worden gebruikt om repetitieve taken te automatiseren en dynamische webcontent te beheren. Veelvoorkomende scripttalen zijn PHP, Ruby, Python, bash, Perl en Node.js.
- Logische programmeertalen nemen beslissingen op basis van feiten en regels, in plaats van dat ze commando's uitvoeren. Voorbeelden zijn Prolog, Absys, Datalog en Alma-0.
Indeling op doeleinden en specifieke eisen
Een andere manier om programmeertalen te benaderen, krijg je wanneer ontwikkelaars en IT-professionals hun specifieke behoeften en projecteisen voorop stellen. Daarbij kom je al snel tot de volgende driedeling, met steeds twee onderscheidende karakteristieken.
- Frontend- versus backendtalen
Frontendtalen (zoals JavaScript) zijn verantwoordelijk voor de gebruikersinterface en alles wat de gebruiker ziet of waar hij of zij mee interacteert op een website of in een applicatie. Backendtalen (JavaScript, PHP, Java, Python, Ruby, C#) beheren op hun beurt de serverkant, inclusief dataopslag en
-manipulatie, en werken als het ware achter de schermen. - Highlevel- versus lowleveltalen
Highleveltalen zijn gebruiksvriendelijk maar minder geheugenefficiënt. Ze zijn gemakkelijker te schrijven en te onderhouden. Lowleveltalen zijn efficiënt in geheugengebruik maar moeilijk te begrijpen zonder speciale tools zoals een assembler. - Geïnterpreteerde versus gecompileerde talen
Geïnterpreteerde talen (Python, JavaScript, PHP, Ruby) worden regel voor regel uitgevoerd door een interpreter, wat ze flexibel en platformonafhankelijk maakt. Gecompileerde talen (C, C++, C#, Rust, Erlang) worden in hun geheel omgezet in machinetaal. Hoewel dit de uitvoering versnelt, moet bij elke wijziging het hele programma opnieuw worden gecompileerd.
Welke taal of talen beheers jij zelf? Wil je meer te weten komen over programmeertalen en in contact komen met Tweakers-bezoekers die dezelfde vakkennis hebben als jij? Kom dan naar de Tweakers Developers Summit 2023.
Kaarten winnen?
De komende tijd publiceren we in de aanloop naar de Tweakers Developers Summit meer van dit soort artikelen. Daarbij delen we steeds een aantal gratis kaarten voor het event uit. Bij dit artikel maak je via onderstaande poll kans op een van de vijf kaarten die we dit keer weggeven. Let ook bij de komende artikelen goed op de poll.
Wil jij kans maken op één van de vijf kaarten voor de Tweakers Developers Summit?
Algemene voorwaarden actie
- Je Tweakers-account moet voor 15 augustus 2023 geactiveerd zijn.
- Meedoen kan tot en met 21 augustus 2023, alleen via de poll. Je kunt één keer aan de poll deelnemen.
- Winnaars krijgen uiterlijk 25 augustus 2023 bericht via e-mail. Niet-winnaars ontvangen geen bericht.
- Winnaars worden at random geselecteerd. Over de uitslag wordt niet gecorrespondeerd.
- Minderjarigen mogen pas meedoen na voorafgaande toestemming van hun ouders of verzorgers.
- De kaarten zijn niet inwisselbaar voor geld of andere goederen.
- Medewerkers van Tweakers zijn uitgesloten van deelname.
- Deelnemers die niet voldoen aan bovengenoemde voorwaarden, kunnen worden uitgesloten van deelname.
- Klachten kunnen via klachten@tweakers.net worden ingediend.
Kaartverkoop, factuur, ‘3 halen 2 betalen’
Nog geen kaartjes voor hét developersevenement van het jaar? Regel dan nu razendsnel je kaarten. Reguliere tickets (299 euro) zijn nog beperkt beschikbaar. Goed om te weten: studenten betalen 75 euro voor een kaartje en overige bezoekers kunnen gebruikmaken van ‘3 halen 2 betalen’ (je betaalt dan 598 euro voor drie kaarten). Mocht je werkgever de tickets betalen, dan wordt uiteraard een factuur voor de administratie bijgevoegd. Persoonlijke gegevens worden niet gedeeld met partners.