Programmeertaal leren: Deze talen zijn nu het populairst
De drempel voor programmeren ligt lager dan ooit. Niet alleen bestaan er allerlei no-codeplatformen, maar ook de code-editors en ontwikkelomgevingen worden steeds krachtiger. Alleen het kiezen wordt moeilijker. Er bestaat een breed gamma aan talen en frameworks. Wil je een programmeertaal leren, overweeg dan de volgende opties.
Python: (bijna) universele programmeertaal
Python blijft een heel populaire programmeertaal. Hij is eenvoudig om te leren, waardoor je snel resultaat bereikt. Bovendien bestaat er een groot aantal Python-bibliotheken in talloze domeinen. Vele daarvan installeer je eenvoudig via de pakketbeheerder PIP uit de Python Package Index, die meer dan 300.000 pakketten bevat.
Zelfs in gespecialiseerde domeinen, zoals data-analyse en machine learning, vind je talloze krachtige Python-frameworks, zoals Pandas, NumPy, Scikit-Learn, Keras en TensorFlow. Met MicroPython, een uitgeklede versie van de programmeertaal, kun je zelfs microcontrollers programmeren, zoals de BBC micro:bit of de Raspberry Pi Pico.
Een nadeel is dat Python-code niet zo snel is als bijvoorbeeld C- of Rust-programma’s. Python-code wordt immers niet gecompileerd, maar regel voor regel vertaald naar machinecode en uitgevoerd. Voor het ontwikkelen van mobiele apps en websites is Python ook niet zo populair.
Wil je zelf met Python aan de slag, dan raden we je deze Python-introductiecursus aan.
Arduino voor elektronica
Voor hobbyisten die elektronica willen programmeren, blijft het Arduino-platform dé oplossing. Terwijl Arduino zich in het begin beperkte tot kleine bordjes met Atmel-microcontroller zonder netwerkconnectiviteit, heeft het ecosysteem zich door de jaren heen enorm uitgebreid.
Arduino zelf heeft heel wat krachtiger bordjes uitgebracht, maar ook de populaire ESP8266, ESP32 en sinds kort de RP2040 van de Raspberry Pi Pico zijn via Arduino-cores ondersteund. Dat betekent dat je voor al deze bordjes kunt programmeren in dezelfde ontwikkelomgeving (de Arduino IDE) en met gebruik van dezelfde API’s (application programming interfaces).
De IDE ondersteunt ondertussen meer dan duizend microcontrollerbordjes. Er is ook een heel ecosysteem ontstaan van Arduino-bibliotheken die je eenvoudig in je programma’s kunt gebruiken. En versie 2.0 van de Arduino IDE, waarvan op moment van schrijven een bètaversie uit was, heeft heel wat krachtiger mogelijkheden toegevoegd, zoals automatisch aanvullen van variabelen en functies en een live debugger waardoor je geen Serial.println meer aan je code hoeft toe te voegen.
©PXimport
Mobiele apps ontwikkelen
De ontwikkeling van mobiele apps is de laatste jaren heel wat veranderd. Google raadt voor de ontwikkeling van Android-apps sinds twee jaar niet langer Java, maar Kotlin aan, een taal die minder code nodig heeft dan Java. Apple pusht zijn eigen programmeertaal Swift voor iOS-apps.
Tegelijk maken ook platformonafhankelijke frameworks hun opgang. Zo kun je met React Native (www.reactnative.dev) in JavaScript apps maken die zowel op Android als iOS draaien met gebruik van de native widgets. Ook Flutter, ontwikkeld door Google, realiseert hetzelfde, maar dan voor de programmeertaal Dart.
Webontwikkeling
Html, css en JavaScript vormen nog altijd de basis van webontwikkeling, maar je zult steeds vaker van frameworks gebruikmaken die je allerlei werk uit handen nemen. Met een framework zoals Bootstrap bouw je snel een responsieve website met uniforme lay-out. Voor taken zoals validatie van formulieren en gebruikersinteractie zijn Angular, React en Vue.js populair.
Op mobiele platformen vervaagt de grens tussen native apps en webapps ook meer en meer, dankzij progressive web apps (PWA’s). Die laden snel en werken ook offline. Daardoor hoef je geen native apps voor mobiele apparaten te ontwikkelen om bijna dezelfde gebruikerservaring te hebben.
Rust: veilig programmeren
Heel wat software wordt in programmeertalen ontwikkeld die de programmeur niet veel in de weg leggen en dus de mogelijkheid kennen om fundamentele fouten te maken die uit te buiten zijn. De programmeertaal Rust, oorspronkelijk ontwikkeld door Mozilla, wil dat verhelpen.
Rust ziet strikt toe op de toekenning van geheugen, waardoor er geen stack overflows, buffer overflows en niet-geïnitialiseerde geheugenblokken meer kunnen voorkomen. Daardoor moet de ontwikkelaar meer moeite doen om zijn code op een veilige manier te schrijven, maar zodra de Rust-compiler de code heeft gecompileerd, ben je er zeker van dat je programma een hele klasse van fouten niet bevat.
Google gebruikt voor nieuwe low-level code in Android waar nodig Rust in plaats van C en C++ en ook Microsoft is al delen van Windows in Rust aan het herschrijven.
©PXimport
Programmeren zonder code
Om software te ontwikkelen hoef je echter niet altijd te programmeren. Er bestaan talloze zogenoemde no-codeplatformen, die beloven om softwareontwikkeling even eenvoudig te maken als het gebruik van Word of PowerPoint. Vaak gaat het om visuele platformen, waarin je allerlei blokjes aan elkaar koppelt om je code te beschrijven. Diensten zoals IFTTT en Zapier zijn goede voorbeelden hiervan, evenals de automatisaties in het domoticaplatform Home Assistant.
Met Glide maak je mobiele apps op basis van spreadsheets. Een ander krachtig no-codeplatform is Node-RED. Daarmee start je op een Raspberry Pi of op je pc een server, waarna je in een gebruiksvriendelijke webinterface blokjes aan elkaar koppelt in een flow. Met die blokjes haal je informatie uit een webpagina, MQTT-boodschappen of een op je Raspberry Pi aangesloten knopje, en stuur je die informatie door naar bijvoorbeeld een dashboard.
Dit en nog veel meer komt ook aan bod in de basiscursus programmeren. Keuze genoeg, in elk geval!