ID.nl logo
Programmeertaal leren: Deze talen zijn nu het populairst
© Reshift Digital
Huis

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!

▼ Volgende artikel
Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)
© DC Studio
Huis

Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)

Je hebt net een klein fortuin uitgegeven aan een gloednieuwe 4K- of zelfs 8K-televisie. Je installeert hem, start je favoriete filmklassieker en zakt onderuit op de bank. Maar in plaats van een bioscoopervaring bekruipt je het gevoel dat je naar een goedkope soapserie of een homevideo zit te kijken. De acteurs bewegen vreemd soepel, de actiescènes lijken versneld en de magie is ver te zoeken. Geen zorgen, je televisie is niet stuk. Hij doet eigenlijk iets te goed zijn best.

Dit fenomeen is zo wijdverspreid dat er een officiële term voor is: het 'soap opera effect'. In technische kringen wordt dit ook wel bewegingsinterpolatie of 'motion smoothing' genoemd. Hoewel fabrikanten deze functie met de beste bedoelingen in hun televisies bouwen, is het voor filmfanaten vaak een doorn in het oog. Gelukkig is het eenvoudig op te lossen... als je tenminste weet waar je moet zoeken.

Nooit meer te veel betalen? Check
Kieskeurig.nl/prijsdalers!

Wat is het 'soap opera effect' precies?

Om te begrijpen wat er misgaat, moeten we kijken naar hoe films worden gemaakt. De meeste bioscoopfilms en veel dramaseries worden opgenomen met 24 beelden per seconde. Die snelheid geeft films hun karakteristieke, dromerige uitstraling. Een beetje bewegingsonscherpte hoort daarbij; dat is wat onze hersenen associëren met 'cinema'. Moderne televisies verversen hun beeld echter veel vaker: meestal 60 of zelfs 120 keer per seconde.

Om dat verschil te overbruggen, verzint je slimme televisie er zelf beelden bij. De software kijkt naar beeld A en beeld B, en berekent vervolgens hoe een tussenliggend beeld eruit zou moeten zien. Dit voegt de tv toe aan de stroom. Het resultaat is een supervloeiend beeld waarin elke hapering is gladgestreken.

Voor een voetbalwedstrijd of een live-uitzending is dat geweldig, omdat je de bal en spelers scherper kunt volgen. Maar bij een film zorgt die kunstmatige soepelheid ervoor dat het lijkt alsof je naar een achter de schermen-video zit te kijken, of dus naar een soapserie zoals Goede Tijden, Slechte Tijden, die traditioneel met een hogere beeldsnelheid werd opgenomen. De filmische illusie wordt hierdoor verbroken.

©ER | ID.nl

De winkelmodus is ook een boosdoener

Naast beweging is er nog een reden waarom het beeld er thuis soms onnatuurlijk uitziet: de beeldinstellingen staan nog op standje zonnebank. Veel televisies staan standaard in een modus die 'Levendig' of 'Dynamisch' heet. Deze stand is ontworpen om in een felverlichte winkel de aandacht te trekken met knallende, bijna neon-achtige kleuren en een extreem hoge helderheid. Bovendien is de kleurtemperatuur vaak nogal koel en blauw, omdat dat witter en frisser oogt onder tl-licht. In je sfeervol verlichte woonkamer zorgt dat echter voor een onrustig beeld waarbij huidtinten er onnatuurlijk uitzien en details in felle vlakken verloren gaan.

Hoe krijg je de magie terug?

Het goede nieuws is dat je deze 'verbeteringen' gewoon kunt uitzetten. De snelste manier om van het soap opera effect en de neonkleuren af te komen, is door in het menu van je televisie de beeldmodus te wijzigen. Zoek naar een instelling die Film, Movie, Cinema of Bioscoop heet. In deze modus worden de meeste kunstmatige bewerkingen, zoals bewegingsinterpolatie en overdreven kleurversterking, direct uitgeschakeld of geminimaliseerd. Het beeld wordt misschien iets donkerder en warmer van kleur, maar dat is veel dichter bij wat de regisseur voor ogen had.

Sinds kort hebben veel moderne televisies ook de zogeheten Filmmaker-modus. Dat is de heilige graal voor puristen. Als je deze modus activeert, zet de tv met één druk op de knop alle onnodige nabewerkingen uit en respecteert hij de originele beeldsnelheid, kleuren en beeldverhouding van de film.

Wil je de beeldmodus niet volledig veranderen, maar alleen dat vreemde, soepele effect kwijt? Dan moet je in de geavanceerde instellingen duiken. Elke fabrikant geeft het beestje een andere naam. Bij Samsung zoek je naar Auto Motion Plus of Picture Clarity, bij LG-televisies ga je naar TruMotion, bij Sony naar Motionflow en bij Philips naar Perfect Natural Motion. Door deze functies uit te schakelen of op de laagste stand te zetten, verdwijnt het goedkope video-effect en krijgt je film zijn bioscoopwaardige uitstraling weer terug.

▼ Volgende artikel
Chrome Remote Desktop: ideaal voor ondersteuning op afstand
© ER | ID.nl
Huis

Chrome Remote Desktop: ideaal voor ondersteuning op afstand

Een apparaat op afstand bedienen hoeft geen geld te kosten en is verrassend eenvoudig. Of je nu bestanden wilt openen, technische problemen wilt oplossen of meerdere toestellen wilt beheren: met Chrome Remote Desktop kan het allemaal, gratis en zonder gedoe.

De helper begint

Een groot voordeel van Chrome Remote Desktop is de brede compatibiliteit: het werkt met Windows, macOS, Linux en ChromeOS. Bovendien is het veilig – verbindingen worden versleuteld – en je hebt alleen een Chrome-browser nodig. We beginnen aan de kant van degene die op afstand toegang wilt tot een andere computer, degene die ondersteuning biedt vanaf computer A. Op computer A opent de gebruiker Chrome en surft naar https://remotedesktop.google.com. Daar verschijnen twee opties: Dit scherm delen en Verbinding maken met een andere computer. Omdat computer A support wil geven aan een extern apparaat, kiest de gebruiker voor de tweede optie. In dat scherm verschijnt een veld om een toegangscode in te geven, de code volgt zo meteen.

Degene die support geeft, gebruikt het onderste vak.

Acties voor de hulpvrager

Op computer B, de computer die toegang zal verlenen, moet de gebruiker ook in Chrome surfen naar dezelfde website. Daar kiest hij voor de optie Dit scherm delen. Voordat dat mogelijk is, moet Chrome Remote Desktop eerst worden gedownload en geïnstalleerd. De gebruiker klikt daarvoor op de ronde blauwe knop met het witte downloadpijltje. Hiermee wordt een Chrome-extensie geïnstalleerd. Na de installatie verschijnt in het vak Dit scherm delen een blauwe knop met de tekst Code genereren. Wanneer de gebruiker daarop klikt, wordt een toegangscode van 12 cijfers aangemaakt. Die code geeft hij of zij door aan gebruiker A.

Wie support krijgt, moet de code via een berichtje of telefoontje doorgeven.

Scherm delen

Op computer A geeft de gebruiker de code op in Chrome Remote Desktop. Vervolgens wacht hij tot gebruiker B bevestigt dat A toegang mag krijgen tot zijn scherm. Zodra dat is gebeurd, verschijnt het volledige bureaublad van computer B in een nieuw Chrome-venster op computer A. Door dit venster schermvullend weer te geven, kan A probleemloos handelingen uitvoeren op de pc van B. Voor de veiligheid beschikken beide gebruikers over een knop om de sessie op elk moment te beëindigen. Uiteraard is een stabiele internetverbinding noodzakelijk. Daarnaast krijgen beide partijen de melding dat ze klembordsynchronisatie kunnen inschakelen. Hiermee wordt het mogelijk om eenvoudig tekst of bestanden te kopiëren en te plakken tussen beide apparaten.

Gebruiker A krijgt het volledige scherm van B in een Chrome-venster te zien.