Volg Software Zaken

Trends in programmeertalen en technieken

| Sieuwert van Otterloo | Agile Security Software

Het is voor alle IT-professionals om zich te blijven scholen in nieuwe technieken omdat de techniek zich blijft ontwikkelen. Wat een paar jaar geleden nog hoog risicovol was kan inmiddels volwassen zijn en andersom. De beroepsvereniging NVBI heeft daarom een tweedaagse workshop georganiseerd over de belangrijkste trends: ecosystemen, complexiteit, nieuwe apparaten, nieuwe disciplines en nieuwe juridische aspecten.

De keuze van bepaalde programmeertalen en technieken is een belangrijk keuze-moment voor organisaties: omdat systemen jaren meegaan zit de organisatie voor lange tijd vast aan de gemaakte keuzes. Bij een juiste keuze heeft men een aantal jaren voordeel, bij een verkeerde keuze zijn er meerdere jaren problemen, risico’s en bijkomende kosten. Voor alle IT-ers die bij de besluitvorming over IT betrokken zijn is het daarom belangrijk om op de hoogte te zijn van alle beschikbare technologie, om de juiste keuze te kunnen maken. Veel leden van beroepsvereniging NVBI zijn betrokken bij dit soort keuzes en daarom organiseert de NVBI om de paar jaar een workshop waarin de laatste stand van zaken wordt gepresenteerd. In maart en april 2015 is deze workshop gegeven door Softwarezaken-docenten Geert Jonker (lead developer en data scientist), Joost Schalken-Pinkster (docent software-engineering) en Sieuwert van Otterloo (IT-expert en zelf NVBI-lid). In deze cursus zijn een aantal overkoepelende trends naar voren gekomen:

  • Het belang van ecosystemen
  • Nieuwe complexiteit van architectuur
  • Nieuwe diversiteit in apparaten
  • Nieuwe disciplines
  • Juridische ontwikkelingen

In dit artikel zijn deze trends samengevat. Wie meer wil weten of bij de cursus was kan de presentaties opvragen, en bij genoeg belangstelling wordt de cursus nogmaals gegeven.

Het belang van ecosystemen

Bij de bespreking van de nieuwe programmeertalen kwam naar voren dat er twee aspecten belangrijk zijn van programmeertalen: de technische geschiktheid van een taal en de omvang van het ecosysteem. Als een taal namelijk geen sterk ecosysteem heeft, is het lastig om partijen of ontwikkelaars te vinden voor onderhoud of doorontwikkeling.

technology-curve-softwarezaken

De twee aspecten kunnen gecombineerd worden in een curve. Dit is een variant van de Gartner-hypecurve, maar met een belangrijk verschil: niet voor elke taal is er een plateau van productiviteit. Het kan gebeuren dat een taal in de laatste fase komt en het niet verstandig meer is om de taal te kiezen. In de cursus is vooral gekeken naar nieuwe of opkomende talen, onder andere Scala, Javascript, Ruby, Go.

Nieuwe complexiteit

De architectuur van nieuwe IT-systemen is complexer dan de architectuur van systemen van tien jaar geleden. De reden is dat moderne systemen geen hoofdtaal meer hebben waarin alles gebeurt. Systemen hebben nog steeds een hoofdtaal waarin de meeste functionaliteit zit. Dit is echter nog maar een klein deel van het systeem, en er is een grote schil van randtechnologie en configuratiebestanden. Voorbeelden van hulptechnologie zijn nieuwe databases als memcache, development-tools en installatie-scripts (zie devOps verderop), contentbestanden met bijvoorbeeld iconen of geluiden, en frontend-code (html, css en javascript).

moderne-architectuur-softwarezaken

Voor het auditen van systemen betekent dit dat er meer vragen gesteld moeten worden. Niet alleen de hoofdtaal moet bekeken worden, maar ook de randtechnologie.

Nieuwe diversiteit van apparaten

Software-ontwikkeling is niet meer beperkt tot PC’s. Er wordt steeds meer software gebruikt in alternatieve apparaten. De trend is begonnen met telefoons waarvoor heel veel apps beschikbaar zijn. Echter ook voor thermostaten, auto’s camera’s en andere smart devices kan tegenwoordig software ontwikkeld worden. Anders dan traditionele embedded software, die eenmaal op een apparaat gezet werd, kan de software vaak nog aangepast worden, soms zelfs door gebruikers. In de cursus is er vooral gekeken naar de platformen die dit soort ontwikkeling voor iedereen toegankelijk maken: Arduino en Raspberry Pi.

smart-devices

Nieuwe disciplines DevOps en Data Science

De veranderingen in software-ontwikkeling leiden ook tot nieuwe rollen. Twee ontwikkelingen zijn het meest invloedrijk: DevOps en Data Science.

DevOps is het samengaan van development en operations. Het is een verzamelnaam van een aantal ontwikkelingen, waaronder het automatiseren van infrastructuurinrichting, het samenvoegen van teams, het ontstaan van de gecombineerde developer-systeembeheerder-rol en het streven om de ontwikkelomgevingen en productie-omgevingen exact gelijk te krijgen. Er is inmiddels een hele reeks tools ontstaan om dit allemaal te ondersteunen, zoals docker, puppet en vagrant.

Data science is een nieuwe discipline gericht op het ontdekken van informatie in beschikbare data. Data science is gerelateerd aan Big Data. Big Data gaat vooral over de technische uitdaging van het opslaan van zo veel mogelijk data, data science gaat over wat je met de data doet. In de gegeven cursus hebben we bewust de focus gelegd op data science en niet big data, omdat we denken dat dit uiteindelijk het zinvolste gebied is. Wie meer wil weten over data science moet zich verdiepen in tools als Mahout en R.

Juridische ontwikkelingen

De bovenstaande technische ontwikkelingen hebben ook gevolgen voor de juridische vragen over IT. De nieuwe complexiteit en de vele tools van DevOps hebben bijvoorbeeld gevolgen voor auteursrecht. De meeste tools mogen namelijk gratis gebruikt worden maar hier zitten wel voorwaarden aan verbonden, die vastgelegd zijn in open source licenties. De belangrijkste smaken zijn GPL en LGPL, en met name het gebruik van componenten met een GPL-licentie kan verstrekkende gevolgen hebben .

Een andere interessante ontwikkeling van de laatste jaren is de opkomst van Creative Commons. Dit zijn open-source-achtige licenties maar dan voor ander materiaal: beeld, geluid, tekst en andere content. Zeker voor app-development en front-end development is het handig om een gratis en toch legale manier te hebben voor content.

Een andere besproken ontwikkeling is de wet bescherming persoonsgegevens en wat deze betekent voor met name security. Steeds meer gegevens zijn herleidbaar naar personen en dus persoonsgegevens en in dat geval moeten er voldaan worden aan de eisen van de wet, inclusief afdoende beveiliging. Het heeft voor veel organisaties zin om een speciale functionaris persoonsgegevens aan te stellen die zich hiermee bezighoudt.

Vervolg

Deze workshop was eenmalig, speciaal voor de NVBI. Voor wie de NVBI niet kent: De NVBI is een kleine maar belangrijke beroepsvereniging voor IT. Om als expert door een rechter ingeschakeld te kunnen worden, moet men lid zijn van een beroepsvereniging die zorgt dat experts hun kennis bijhouden. De NVBI is de enige beroepsvereniging op het gebied van IT die hiervoor zorgt. Deze cursus was onderdeel van het programma van de NVBI dat aan de leden aangeboden wordt om de kennis bij te houden.

Het materiaal van de workshop is in pdf beschikbaar in twee zipfiles: bestanden-nvbi-cursus-dag1 en bestanden-nvbi-cursus-dag2. Bij voldoende belangstelling kan de workshop worden herhaald. Neem hiervoor contact op.

 

Author: Sieuwert van Otterloo
Dr. Sieuwert van Otterloo (CISA, CIPP/E) is IT-deskundige met kennis van software-kwaliteit, IT-strategie, projectmanagement, privacy, en verantwoord gebruik van AI. Hij geeft les aan de VU, doet onderzoek aan de HU en geeft advies en doet reviews bij organisaties door heel Nederland. Hij oprichter en directeur van ICT Institute.