ZBC Kennisbank

Leren programmeren is nutteloos

 

Het is verbazingwekkend, dat steeds wordt geroepen dat we mensen moeten leren programmeren om beter voorbereid te zijn op de toekomst. Zo beweerde onlangs Tim Cook, de ceo van Apple, dat leren programmeren zelfs belangrijker is dan Engels leren als tweede taal! 

Ook in Nederland zijn er experts die vinden dat kinderen al vroeg op school moeten leren programmeren. Leren programmeren echter, legt de nadruk op de details, en de essentie van hoe computers, software en netwerken werken raakt zo buiten beeld.De essentie van informatica is de theorie van het berekenen. Iets wat nu wel ‘computational thinking’ of, in engere zin, algoritmiek wordt genoemd. Dat je dit vervolgens uitwerkt in een programma, is eigenlijk bijzaak. Het gaat er om te begrijpen hoe de digitale wereld waarin wij leven, werkt en wat de mogelijkheden en onmogelijkheden zijn.

Programmeren is dom werk

Laten we eerlijk zijn. Programmeren is vervelend. Je leert een programmeertaal, met al zijn eigenaardigheden (die vaak volstrekt niet logisch zijn). Je moet dan een simpel programma in die taal schrijven, zonder één fout, anders begrijpt de computer het niet. Een komma vergeten is al fataal. Na heel veel moeite heb je dan een programma geschreven dat ‘Hello World’ op het scherm van je smartphone afbeeldt. Gefeliciteerd! Maar je hebt ondertussen niets geleerd over de gigantische complexiteit van hoe echte software in elkaar zit, en hoe die in de praktijk geschreven wordt.Ook heb je zo wellicht het, misplaatste, gevoel gekregen dat door te programmeren je de volledige controle hebt gekregen over de computer.Dat is natuurlijk onzin: jouw programmeerkunst verandert niets aan hoe de software werkt die op jouw computer draait en dus op wat die computer doet. Je hebt hem alleen een extra kunstje geleerd, dat totaal irrelevant is voor het gedrag van je computer, smartphone of ander ‘slim’ apparaat.

Inzicht in hoe computers werken

Veel belangrijker is het om kinderen (en volwassenen) het bredere kader uit te leggen: hoe computers werken, hoe netwerken werken en hoe om te gaan met asynchronie (het verschijnsel dat niet alle computers in een netwerk even snel zijn, en dat berichten die je over een netwerk verstuurt ook niet of zwaar vertraagd kunnen aankomen). Uit te leggen wat de voor- en nadelen van centralistische oplossingen zijn, en hoe dat zit met gedistribueerde, peer-to-peer benaderingen. Te laten zien hoe je een bepaald (maatschappelijk) probleem kunt proberen op te lossen door computers, door het probleem in kleinere delen op te splitsen. En duidelijk te maken wat de beperkingen zijn van deze ‘computationele methode’.De echte inzichten in de informatica zitten hierin verborgen. Bijvoorbeeld hoe slimme algoritmen en protocollen, soms door verrassende keuzes te maken, een bepaald complex probleem toch snel en efficiënt (in rekentijd, geheugengebruik of netwerkbelasting) weten op te lossen. Of hoe het ontwerp van een protocol extreem veel invloed kan hebben op de controle die individuele gebruikers op het systeem hebben. Zo is het internet in de basis zo ontworpen dat iedereen, zonder medewerking van derden, daar een eigen dienst bovenop kan bouwen. Dat komt door het ontbreken van een duidelijk centraal controlepunt. Aan de andere kant zijn commerciële diensten als Facebook en WhatsApp zo ontworpen dat andere diensten daar niet zomaar op aan kunnen sluiten: als je een andere berichtendienst dan WhatsApp gebruikt, kun je je vrienden op WhatsApp niet bereiken.
Het is essentieel juist dit soort inzichten aan zoveel mogelijk mensen duidelijk te maken. Dan krijgen we weer controle over de digitale wereld waarin we leven. 

Niet de mens maar de angst regeert

Wat je niet begrijpt kun je ook niet besturen. Helaas wordt dagelijks door politici, bestuurders, media enzovoort aangetoond, dat men geen flauw idee heeft hoe de wereld werkt. Er worden geen adequate maatregelen genomen, maar ieder incident leidt weer tot een paniekreactie, die steevast vergezeld gaat van de boodschap dat het heel erg is. Kijk naar de reacties op cybercrime, IoT, zelfrijdende auto’s en robots. Eigenlijk is de boodschap, dat de verantwoordelijken zelf geen flauw idee hebben hoe om te gaan met de problemen van morgen en de verdere toekomst. Ze kiezen voor oplossingen die uit de vorige eeuw stammen zoals meer regelgeving, meer toezicht en hogere boetes. Dat de praktijk intussen allang heeft bewezen, dat deze niet meer werken, daarvoor sluiten ze de ogen en omdat de media meehuilen met de wolven in het bos, komen ze hier mee weg. (Zie ook ‘Het failliet van rule-based opvattingen’.) Wat resteert is onzekerheid voor de gewone man, opgezweept door media en zelfbenoemde experts, die de onzekerheid laten uitgroeien tot angst voor de toekomst.

De totale aanpak bestaat niet

We hebben het wel vaker gezegd, honderd procent veiligheid bestaat niet. Er zullen altijd risico’s blijven en het is aan ons om te beoordelen welke risico’s we willen accepteren en welke risico’s aangepakt worden. Maar dan moet wel een eerlijk antwoord gegeven worden op de vraag: “Is dat erg”.  Ook als we zelf onvoldoende inzicht hebben om de risico’s voor onszelf en voor onze organisatie te bepalen. Angst is een slechte raadgever en je wordt er niet wijzer van. En laat vooral niemand de illusie hebben, dat hij de complete oplossing heeft, ook al willen politici en grote adviesbureaus u dat wel laten geloven. Ze dienen slechts hun eigenbelang en willen graag daadkrachtig overkomen. In werkelijkheid verdoezelen ze echter het echte probleem. Zoals bijvoorbeeld bij cybersecurity. Zo ingewikkeld is dan niet als je snapt waar je mee bezig bent. (Zie ook ‘Informatiebeveiliging is helemaal niet zo moeilijk’.) Niets voor niets zegt men vaak: Vandaag heb je een goed idee, morgen heb je een beter idee maar het beste idee krijg je nooit. Kies daarom voor een aanpak op grond van de inzichten van vandaag. En verbeter deze op basis van voortschrijdend inzicht. Want als je dit wilt, stopt voortschrijdend inzicht nooit. Zoek je weg door het moeras. Niet door een diepgaande kennis van het moeras, maar door kennis van de paadjes en hoe je die moet vinden. (Zie ook ‘Je weg vinden door het moeras van privacy en informatiebeveiliging’.) In het moeras duiken is niet nodig om verder te komen. Klim in een boom,  dan zie je veel meer.

Bron: Jaap-Henk Hoepman, ‘ Leren programmeren is zinloos’. In: het Financieel Dagblad. 21 oktober 2017.
DownloadDownload artikel als MS Word document Download artikel als PDF document Print deze pagina Verstuur deze pagina naar een vriend (email)
Auteur(s): Wiebe Zijlstra | 6 november 2017


Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *