Welke programmeertalen leiden tot innovatie?
Eisen voor WBSO subsidie aangescherpt
De subsidie Wet bevordering speur- en ontwikkelingswerk (WBSO) voor ICT staat onder druk. Het nationale WBSO budget is al jaren ongeveer gelijk met circa € 1,2 miljard. Toch neemt de aangevraagde hoeveelheid jaarlijks toe, waarbij ICT- en programmatuurontwikkeling een steeds groter aandeel vormt. Elk jaar legt men restricties op om het aantal aanvragen in te perken. De Rijksdienst voor Ondernemend Nederland (RVO) lijkt dit jaar extra streng, met meer afwijzingen als gevolg.
Nieuw vereiste: formele programmeertaal
WBSO subsidie is bedoeld om werkgevers te stimuleren research en development te doen. Voorheen was voor veel ontwikkeling WBSO aan te vragen. Er is echter een strengere wind gaan waaien, waardoor veel aanvragers bot vangen. Zo konden bijvoorbeeld directeurs met een eigen holding die niet mee programmeerden, maar wel intiem betrokken waren bij het ontwikkeltraject, voorheen subsidie krijgen. Daarnaast was het voorheen geen eis dat je programmeerde; de Nederlandse Spoorwegen won hierover nog een belangrijke rechtszaak in 2015.
Naar aanleiding van die verloren rechtszaak, besloot het ministerie van Economische Zaken de WBSO wetgeving aan te passen. Dit heeft geleid tot de vereiste dat programmatuur in een ‘formele programmeertaal’ moet worden vastgelegd. Dan rijst gelijk de vraag: wat is een formele programmeertaal? Hier is geen officiële definitie voor; deze wordt ook nergens gegeven. Het lijkt erop dat hoe abstracter een taal is, hoe minder het in aanmerking komt als programmeertaal. Maar is dat wel van deze tijd?
Neem contact op
Of bel direct naar: 088 495 20 00
Tijdmachine
Ik neem je graag mee in de tijdmachine voor een lesje historie. In het begin van het computertijdperk programmeerden we in binaire code (iets wat in de zeventiende eeuw al is bedacht ), nullen en ééntjes, ook wel bekend als machinetaal. Dit is in principe onleesbaar voor mensen. Daarna, in de jaren vijftig, bedachten we de assembleertaal (assembly). Deze assembleertaal is een meer leesbare variant van de machinetaal, maar nog steeds bewerkelijk. Vervolgens, eind jaren 50, volgden modernere talen als Fortran, C, C++ en later nog talen als C# en Java. Momenteel zitten we in het tijdperk van Javascript, PHP, Python en bijvoorbeeld Swift. Al deze talen komen nog steeds voorbij in meerdere of mindere mate. Vaak is de afweging afhankelijk van de controle en efficiëntie (oudere talen als C of C++) en de productiviteit (moderne talen als Javascript en Python).
Een belangrijke ontwikkeling binnen de programmeertaal is dat er bij de moderniseringsslag steeds meer door taal wordt opgepakt , en steeds minder door de programmeur. Hierdoor kunnen er in een kortere tijd en met meer standaardlibraries veel meer functionaliteiten worden gecreëerd.
Glijdende schaal
In talen als C++ en Java is er nauwelijks discussie, maar in een moderne abstractere taal als Swift komen geregeld bezwaren naar voren. Zo wordt er onder andere aangedragen dat het onmogelijk zou zijn om technisch nieuwe software te realiseren, aangezien deze moderne abstractere talen al veel functionaliteiten bevatten. Is het een vereiste dat je met ‘oudere’ programmeertalen werkt? En past dit wel bij de term ‘innovatie’, die juist bedoeld is voor het opzoeken en oprekken van de huidige stand der techniek en het realiseren van vernieuwing?
Nog nieuwer is het model driven development, waarbij een softwareontwikkelaar met behulp van een grafische interface softwareapplicaties kan bouwen. Hiermee kun je codes genereren zonder dat je zelf daadwerkelijk moet coderen. Dergelijke driven development modellen ziet RVO al helemaal niet als een formele programmeertaal, terwijl hiermee juist het snelst nieuwe software is te generen.
Het wiel opnieuw uitvinden
Er ontstaat hierdoor een paradoxale situatie, waarin verouderde technologie nodig is om in aanmerking te komen van innovatiesubsidies. Het wiel opnieuw uitvinden krijgt opeens een nieuwe betekenis, waarbij de analogie is dat de nieuwste rubbers en kunststoffen veel te goed werken, waardoor het voor de innovatie noodzakelijk is met ongeschikte oudere materialen en gereedschappen te werken. Hoewel dit in technische zin begrijpelijkerwijs tot een hoop kopzorgen leidt, kan dit toch redelijkerwijs niet het criterium van innovatie zijn?
Overleg met een expert
Of bel direct naar: 088 495 20 00