De schoonheid van bias

Voor een artistiek project had ik afbeeldingen nodig van uitgekauwde kauwgums. Ik wist dat de zoekmachine Bing een handige feature ‘Image Search Widget’ had, waarmee je een plaatje kunt uploaden en vervolgens een lijst met vergelijkbare afbeeldingen als resultaat terugkrijgt. Ik bood Bing een afbeelding met een kauwgum die ik op straat had gefotografeerd, maar tot mijn verbazing kwam dit Image Recognition- model met geen enkele afbeelding terug waarop een kauwgum stond. Wel werden er allerlei andere voorwerpen tevoorschijn getoverd zoals wormpjes, schelpen, hangertjes, witte bloempjes, kapotte eieren en pingpongballen:

Wat ik in feite te zien kreeg is de bias – ongewenste systematische afwijkingen in de resultaten van het model. Bing is niet getraind op dit soort amorfe objecten. Het kan niet meer dan het aanbieden van afbeeldingen die met een bepaalde mate van waarschijnlijkheid het dichtst bij het aangeboden plaatje liggen.

Het vertekend beeld

Bias heeft een negatieve connotatie en dat is voor een groot deel terecht. Steeds meer bedrijven en maatschappelijke organisaties maken gebruik van AI-technologie in hun serviceverlening en de internetgebruikers krijgen steeds meer apps aangereikt om er mee aan de slag te gaan. Nog te vaak wordt haast blindelings vertrouwd op de beslissingen of voorspellingen die AI-modellen verschaffen, terwijl de algoritmen gebaseerd zijn op statistische berekeningen en de uitkomsten slechts een bepaalde mate van waarschijnlijkheid hebben. Dankzij de nieuwe taalmodellen (zoals chatGPT) ogen de uitkomsten ook nog steeds geloofwaardiger. De gebruiker heeft te weinig notie dat deze AI-modellen weleens slecht of onvoldoende getraind kunnen zijn en daardoor desinformatie verspreiden of nog erger bevooroordeeld zijn en onrechtvaardige beslissingen nemen.  

Bias is inherent aan AI-modellen en verschaft ons in principe een vertekend beeld. Het is zaak om kritisch te blijven op de uitkomsten van AI-modellen. Het herkennen van de bias en deze goed onder de loep te nemen, helpt ons de AI-modellen betrouwbaarder te maken en de desinformatie te verkleinen. 

Onverwachte voorspellingen

Over het algemeen wordt een AI-model beschouwd als een black box, omdat het niet meteen duidelijk is hoe het model tot zijn voorspellingen of beslissingen is gekomen. Dit geldt vooral voor complexe modellen, zoals diepe neurale netwerken, die miljoenen parameters en lagen kunnen hebben die moeilijk te interpreteren zijn. 

Toch is het mogelijk om inzicht te krijgen in hoe een AI-model werkt, door het input-output gedrag te analyseren. Als voorbeeld kom ik terug op het experiment met het kauwgumpje. Als we nog eens naar de resultaten kijken en deze naast elkaar leggen, dan zien we een patroon: allen vertonen een klein wit object tegen een donkergrijze achtergrond. Wat blijkt, is dat Bings model slechts gebaseerd is op algoritmen die op pixelniveau opereren. Het vergelijkt alleen de mimetype, kleur en transparantie van de afbeeldingen in haar database.  

Datavisualisatie is een van de methodes die kan helpen bij het verminderen van bias. De methodes zijn: 

  • Identificeren van patronen: door data te visualiseren, kunnen patronen in de data worden geïdentificeerd die anders misschien niet zo duidelijk zouden zijn. Dit kan helpen bij het opsporen van mogelijke bias of onverwachte trends in de data. 
  • Identificeren van uitschieters: datavisualisatie kan helpen bij het identificeren van uitschieters of extreme waarden in de data, die mogelijk invloed hebben op de analyse en interpretatie van de resultaten. 
  • Inzicht in de data: datavisualisatie kan helpen bij het bieden van een visueel inzicht in de data, waardoor gebruikers de gegevens beter kunnen begrijpen en interpreteren. 
  • Vergelijkingen maken: met behulp van datavisualisatie kunnen verschillende datasets gemakkelijker met elkaar worden vergeleken, waardoor mogelijke bias in een dataset kunnen worden geïdentificeerd. 
  • Identificeren van inconsistenties: door data te visualiseren, kunnen inconsistenties in de data worden geïdentificeerd die anders over het hoofd zouden worden gezien. Dit kan helpen bij het opsporen van mogelijke fouten of problemen met de data. 

Onderzoek naar de bias kan tevens leiden tot nieuwe inzichten en creativiteit. Zouden we als een ontwerper naar het kauwgumpje kijken om te bezien welke vormen we, bij wijze van spreken, ermee zouden kneden, dan oogt het alsof Bing met suggesties komt. De statistische waarschijnlijkheden van de afbeeldingen lijken zich te vertalen naar mogelijkheden. 

AI heeft inmiddels haar intrede gedaan in de creatieve sector. Vera van der Burg is een designer die bij vormonderzoek gebruik maakt van AI-modellen, deze manipuleert en de bias gebruikt voor nieuwe ontwerpen. 

Een van haar eerste experimenten met een Image Recognition model was een dialoog die ze met het model, die ze Algo noemde, voerde. Ze bood in eerste instantie een afbeelding van een normale stoel aan, waarop het Algo terugkwam met een lijst van objecten zoals het model de afbeelding interpreteerde. De ‘stoel’ stond weliswaar hoog in de ranking, maar het AI-model zag ook allerlei andere voorwerpen in de ‘stoel’. Van der Burg gebruikte die bias vervolgens om de oorspronkelijke stoel aan te passen. Van het herontwerp maakte Van der Burg een foto en bood deze opnieuw aan het model. Deze iteratie voerde ze een aantal keren uit, zie de afbeeldingen hieronder. De bias leidde tot onorthodoxe nieuwe ontwerpen van de stoel.  

Bias is niet iets waar we zo snel mogelijk vanaf moeten komen of negeren, maar juist gebruik kan worden om het AI-model op zijn merites te beoordelen. Het mooie van bias is dat het nieuwe inzichten kan verschaffen en de creatieve geest kan prikkelen.  

Uit: ‘The Incredible story of ALGO AND I’ van Vera van der Burg 

Interessant voor jou? 

Etesian wil graag in contact treden met ontwerpbureaus en bedrijven in de creatieve sector om de mogelijkheden van deze nieuwe AI-technologie voor hun bedrijfsvoering af te tasten. 

Is je interesse gewekt? Neem dan contact met ons op: [email protected].

Kan Artificial Intelligence (AI) mysteries ontrafelen?

Een interessante vraag. Als het aan Jean Boumans ligt zou hij deze graag volmondig met ‘ja’ willen beantwoorden. Er worden namelijk grootse beloftes voor de toekomst gedaan door ontwikkelaars van kunstmatige intelligentie (of Artificial Intelligence (AI) in het Engels). Of je echt mysteries kunt ontrafelen met AI zal Jean verder voor je uitzoeken in dit artikel.

Monsterlijke voordelen van AI

“Het zal zeker bijdragen aan verbeterde efficiëntie: AI kan repetitieve taken automatiseren en optimaliseren, waardoor de efficiëntie en productiviteit van bedrijven en organisaties wordt verhoogd.  

Het zal leiden tot betere besluitvorming: AI kan enorme hoeveelheden gegevens snel verwerken en analyseren, waardoor betere beslissingen kunnen worden genomen op basis van feiten en trends.  

De nauwkeurigheid kan worden verhoogd: AI is in staat om nauwkeurigere voorspellingen en analyses te maken dan menselijke experts, omdat het in staat is om enorme hoeveelheden gegevens te verwerken en patronen te detecteren die anders misschien over het hoofd worden gezien.  

Genoeg data is onmisbaar 

Maar in deze beloftes zijn ook de grenzen van AI waar te nemen. We zijn in de uitkomsten die AI geeft afhankelijk van de gegevens waarover AI de beschikking heeft. AI kan geen juiste conclusies trekken over zaken waar het nauwelijks data over heeft. Bovendien zullen de nauwkeurigheid en kwaliteit van de gegevens die worden gebruikt om AI te trainen, invloed hebben op de prestaties van het model. Als de gegevens slecht zijn of niet representatief zijn voor de werkelijkheid, kan het AI-model verkeerde conclusies trekken en slechte voorspellingen doen. 

Het Monster van Loch Ness 

Om de vraagstelling te verifiëren heb ik, als klein experiment, de iconische afbeelding van het Monster van Loch Ness (gefotografeerd door Robert Wilson in 1934), genomen en aangeboden aan het Image Recognition programma van Clarifai. (Overigens bleek later dat deze foto een hoax was: een geknutselde imitatiekop op een speelgoedonderzeeër).  

Clarifai geeft als antwoord een lijst van mogelijke objecten, zie de tabel hierboven.

Dat het met hoge waarschijnlijkheid een vogel zou betreffen, komt overeen met de eerste theorieën over het monster.  Zou de database van Clarifai ook de berichtgeving en advertenties uit het noorden van Schotland van de vorige eeuw bevatten, dan zou ook de olifant als mogelijkheid geopperd zijn. In Schotland waren in de jaren ’30 veel rondtrekkende circussen en het zou zomaar kunnen dat een olifant verkoeling in Loch Ness had gezocht. 

We zien dat de verklaringen afhankelijk zijn van de databestanden waarop AI is getraind. AI weet niet meer dan wat het haar verteld is. 

‘Meten is weten’ 

Het is een cliché, maar geeft aan dat het meten van iets de enige manier is om het echt te begrijpen of te kennen.  

Het monster, liefkozend Nessie genoemd, is nooit meer gespot, hetgeen een team van onderzoekers begin deze eeuw bracht tot het verzamelen van andersoortig bewijsmateriaal. Ze hebben het meer onderzocht op DNA. Op verschillende plekken en diepten werden honderdtallen watermonsters genomen. Het water bevat veel genetisch materiaal van bijvoorbeeld de huid, vacht en urine van al het leven in Loch Ness. De meetdata werd vergeleken met een uitgebreide DNA-database. Dat leidde ertoe dat ze veel schepsels konden uitsluiten, zoals geschubde reptielen en meervallen. Verrassend was echter de grote hoeveelheden DNA van alen die ze in het meer vonden. Dit bracht de onderzoekers momenteel tot de meest plausibele theorie, namelijk dat het monster van Loch Ness een aal is. 

Kan AI nu mysteries ontrafelen? 

Een honderd procent ‘ja’ zullen we niet kunnen geven. Wel kunnen we de waarheid met deze nieuwe technologie nog beter benaderen. We dienen te zorgen dat AI getraind wordt met voldoende, gevarieerde en representatieve data en de juiste algoritmes kiezen.  

We zullen AI regelmatig moeten valideren en testen met nieuwe gegevens. Ook zal er goed nagedacht moeten worden welke kenmerken van de gegevens gebruikt gaan worden om de prestaties van het model zo goed mogelijk te krijgen en zogeheten overfitting zoveel mogelijk te voorkomen. 

Interessant voor jou? 

Etesian wil graag in contact treden met dienstverleners om de mogelijkheden van deze nieuwe AI-technologie voor hun bedrijfsvoering af te tasten. 

Ben jij een advies- en onderzoeksbureau en voer je inspecties uit of monitor je installaties ten behoeve van rapportages of kwaliteitsbewaking? En wil je jouw bedrijfsprocessen optimaliseren? Dan zullen deze nieuwe slimme technieken hier zeker aan gaan bijdragen. 

Is je interesse gewekt? Neem dan contact met ons op: [email protected] 

Scrum, a junior’s point of view

Stefano Farris is een junior ontwikkelaar in het Application Development-team. Een jonge professional op zoek naar de juiste en onjuiste antwoorden in het bestaan als consultant. Natuurlijk heb je technische kennis nodig, maar als junior moet je ook groeien in de processen die worden doorlopen tijdens development. Het eindresultaat is net zo belangrijk als de weg ernaartoe. 

“Wat ik in deze blogpost wil bespreken is hoe ik Scrum de afgelopen tijd heb ervaren en wat er door me heen gaat tijdens de verschillende Scrum-sessies. 

Sprintplanning – Aha, dit gaan we dus doen

Goed moment om inzicht te krijgen over wat er precies gaat gebeuren deze sprint! Hier worden de losse titels van de product backlog items (PBI) een stuk concreter.  Tijdens de refinement kan ik vragen stellen over de onderwerpen die tijdens een specifieke PBI aan bod komen. Hierbij beschouw ik iedere PBI die gerefinet wordt als iets dat ik zelf op ga pakken en wat ik daarvoor moet weten. 

Als er in de komende sprint gesproken wordt over deze PBI’s door andere mensen die deze hebben opgepakt zit het nog vers in mijn geheugen en kan ik makkelijker volgen waar het ook alweer over ging. 

Daily Scrum – afspraken maken met het team 

De Daily Scrum bereid ik voor mezelf altijd voor. Ik ga voor mezelf na wat ik de dag ervoor tijdens de stand-up heb verteld, wat er daadwerkelijk is gebeurd en wat ik plan om vandaag te gaan doen. Dat vat ik dan samen en waar nodig treed ik in detail. Het laatste doe ik vooral als ik met het team over een volgende actie of blokkade wil sparren. De Daily Stand-up is naar mijn mening ook een goed moment om hulp te vragen en een kort gesprek voor erna in te plannen. 

De Daily Stand-up zorgt voor de nodige transparantie naar je teamleden en het is ook een stukje verwachtingsmanagement. Na verloop van tijd zal ik steeds beter worden in het inschatten van de hoeveelheid tijd die ik nodig heb om mijn taken af te ronden. 

Mid Sprint Check-in – gaan we het sprintdoel halen?

Ik heb meestal een sprint van twee weken en de Mid Sprint Check-in valt hierin op de maandagmorgen van week 2 in de sprint. Kort gezegd brengt het mij in de ochtend na het weekend direct de nodige stress om zo snel mogelijk weer aan de slag te gaan. Er zijn uiteraard wat doelen die behaald moeten worden en daar hebben we de komende 5 dagen de tijd voor. Na de afschakeling van het weekend is het ook fijn om van iedereen een korte samenvatting te horen en te weten wat de huidige stand van zaken is voor de sprint en de daarop gebaseerde verwachtingen voor de komende week. 

Sprint Review (demo) – 10 minutes of Fame

De sprint review zie ik als een podium waar ik mijn team en andere belanghebbenden kan laten zien wat ik ontwikkeld heb en hoe het nou echt werkt. Ik hou er bij de voorbereiding rekening mee dat ik vragen kan krijgen over bepaalde keuzes die gemaakt zijn tijdens de ontwikkeling, maar je kunt niet voor alles plannen. En dat is ook maar goed want af en toe komen er vragen uit het niets die je opnieuw aan het denken zetten en uiteindelijk voor een beter eindresultaat zorgen. Ik hanteer zelf een presentatiestijl met “soepele” overgangen naar daadwerkelijke demonstraties, wellicht iets dat is blijven hangen van het presenteren tijdens mijn studie, maar ik vind het een fijne manier van voorbereiden/ informatie delen. 

Retrospective – wat heb je nu weer fout gedaan 

De retrospective zie ik als mijn persoonlijk getimeblockt reflectiemomentje, ook al gaat deze vooral over wat je als team beter wel of niet had kunnen doen en wat in de toekomst verbeterd kan worden… Stiekem is dit ook het moment waarop ik genadeloos naar mijn eigen bijdrage kijk. Door eerlijk te zijn kom je tijdens de retrospective het verste en het zorgt er ook voor dat je een diepere band schept met het team waarbij je “het aandurft om je gebreken bloot te leggen”. 

Als ik kritieke reflectiepunten van teamleden hoor, ga ik bij mezelf ook na of ik hetzelfde kan verbeteren (spoiler: meestal wel). 

Scrum en de sessies die erbij horen vind ik een hele fijne en geordende manier van werken. Het is flexibel genoeg om bijgesteld te worden aan nieuwe (plotselinge) informatie, maar geeft op hetzelfde moment ook houvast in je doen en laten. Als je hierbij ook nog tools als Azure Devops of Jira gebruikt die deze werkwijze ondersteunen, heb je veel handige dingen tot je beschikking waarbij ik langzaam denk dat ik niet meer zonder kan/ wil.  

Ik daag je uit om de komende Sprint vanuit mijn perspectief te bekijken. Ik hoor graag het resultaat!” 

ChatGPT als moodboard voor professionals

De marktintroductie van ChatGPT, het AI-taalmodel ontwikkeld door OpenAI, heeft veel onrust veroorzaakt in het onderwijs en de wetenschap. Maar ook bij dienstverleners als adviesbureaus, accountants- en juristenkantoren bestaat de angst dat ze overbodig raken. Elke leek kan in principe aan de hand van deze nieuwe technologie zijn eigen adviezen, pleidooien of bezwaarschriften opstellen.

Experts zijn onmisbaar

Deze angst is begrijpelijk maar niet terecht. Het is belangrijk om hetvolgende te onthouden: antwoorden die de chatbot geeft zijn afhankelijk van de gegevens die het heeft geleerd van de dataset waarop het is getraind. En dat deze gegevens soms onjuist of vooringenomen kunnen zijn. Er zullen dus nog altijd experts nodig zijn. Om kunstmatig gegenereerde documenten te valideren, te modereren en uiteindelijk goed te keuren. 

Professioneel moodboard

De verwachting is dat diverse dienstverleners juist deze nieuwe slimme technieken gaan omarmen. Ze kunnen hiermee de klantenservice verbeteren, routinetaken automatiseren en hun gegevensanalyse verbeteren. Om je van de laatste punten een beeld te schetsen, stel ik voor om de chatbot eens als een moodboard voor te stellen zoals je die wellicht kent van de crimi’s op TV.  

Een politierechercheur brengt op een bord materiaal (data) bijeen die mogelijk met de misdaad te maken hebben. Met rode draden worden voorzichtig de eerste verbanden uitgeprobeerd (algoritmes). De rechercheur dient vervolgens wel de feiten en de verbanden te bewijzen zodat hij vervolgens de casus kan voordragen aan de rechtbank. 

Chatbot als handige tool

De chatbot is namelijk een handige tool voor dienstverleners om een eerste voorlopige versie van een rapportage samen te stellen. Door de opgave in de chatbot in te voeren, wordt de nodige relevante gegevens voor je verzameld en een conceptrapportage samengesteld op basis van het taalmodel dat getraind is door bijvoorbeeld eerdere rapportages. De chatbot dient dan wel gekoppeld te worden aan eigen en externe gevalideerde kennisdatabanken. In het geval van advocatenbureaus zou dat bijvoorbeeld uit jurisprudenties kunnen bestaan. Net als bij een moodboard vormt de chatbot een verzameling van ideeën en informatie die de gebruiker kan verkennen en ontdekken.  

Interessant voor jou?

Etesian wil graag in contact treden met dienstverleners om de mogelijkheden van deze nieuwe AI-technologie voor hun bedrijfsvoering af te tasten.  

Is je interesse gewerkt? Neem dan contact met ons op: [email protected]

AI krijgt plekje in onze samenleving (een interview met ChatGPT)

Het is ‘all over the news’…. berichten over AI en dan voornamelijk ChatGPT (Conversational Generative Pre-training Transformer) van Open AI. Het ene nieuwsbericht is nog niet koud of er valt weer iets nieuws te lezen over ChatGPT. Vorige week werd bekend dat Microsoft 10 miljard dollar geïnvesteerd heeft in ChatGPT. Ze zijn dan ook van plan om functionaliteit van Open AI (o.a. ChatGPT en Dall E) in hun Office-pakket en Bing te integreren. En niet alleen Microsoft doet dit. Er zijn heel wat andere bedrijven die AI en functionaliteit van ChatGPT integreren in hun producten. Ook geinteresseerd in de mogelijkheden? Neem dan eens contact met ons op!

Wat is ChatGPT precies? Eigenlijk heb je mij niet nodig om je daar meer over te vertellen. Dat kan het zelf veel beter. Tijd voor een interview!

Wat kun je over jezelf vertellen?

“Ik ben ChatGPT, een grote taalmodel getraind door OpenAI. Mijn kennis snijdt af in 2021. Mijn doel is om zo nauwkeurig mogelijk te antwoorden op vragen die ik krijg over een breed scala van onderwerpen. Laat het me weten als er iets specifieks is waar u meer over wilt weten.

Ik wil graag meer weten over de werking van ChatGPT

ChatGPT is een taalgeneratie model dat is getraind op een grote hoeveelheid tekst. Het is gebaseerd op de transformer-architectuur, die zich richt op het begrijpen van de context van een tekst en het genereren van antwoorden. Bij het genereren van antwoorden, analyseert het model de inputtekst en gebruikt vervolgens zijn interne representatie van de taal om tekst te produceren die relevant is voor de input en grammaticaal correct is. De training van het model is gedaan met behulp van Machine learning waardoor het model steeds beter wordt in het begrijpen van de context en het genereren van antwoorden.

Betekent dit dan dat je het niet altijd bij het rechte eind hebt?

Als taalmodel ben ik getraind op een grote hoeveelheid tekst en kan ik informatie geven die relevant is voor de input en grammaticaal correct is. Echter, zoals elk model, kan ik ook fouten maken of onvolledig antwoord geven. Soms kan het antwoord gebaseerd zijn op een oudere versie van de informatie, of de informatie kan verouderd zijn. Het is altijd aanbevolen om de informatie die ik geef te verifiëren met betrouwbare bronnen.

Wat zijn dan betrouwbare bronnen volgens jou?

Betrouwbare bronnen zijn degene die informatie verstrekken die geverifieerd is door experts in een bepaald vakgebied en die worden onderhouden door organisaties met een goede reputatie. Voorbeelden hiervan zijn wetenschappelijke tijdschriften, overheidswebsites, universiteiten en andere erkende organisaties. Ook kranten, tijdschriften en boeken die zijn geschreven door experts in hun veld of geverifieerd door experts kunnen betrouwbaar zijn. Het is altijd aanbevolen om de informatie te verifiëren met meerdere betrouwbare bronnen om ervoor te zorgen dat de informatie juist is.

Hoe ben je precies getraind?

Ik ben getraind met behulp van Machine learning, en meer specifiek met behulp van een techniek genaamd “unsupervised learning”. Dit betekent dat ik ben getraind op een grote hoeveelheid tekst zonder specifieke instructies of labels. Tijdens het trainingsproces heeft het model geleerd hoe tekst te analyseren en hoe tekst te genereren die relevant is voor de input en grammaticaal correct is.

De training is gedaan door het model te voeden met een grote hoeveelheid tekst data, zoals artikelen, boeken, verhalen, etc. Van deze data heeft het model geleerd hoe taal werkt, hoe woorden samenhangen en hoe grammatica en syntaxis functioneren. Dit maakt dat het model zich beter kan aanpassen aan de context en kan antwoorden geven die relevanter zijn voor de input.

Het trainingsproces is een iteratief proces en na verloop van tijd wordt het model steeds beter in het begrijpen van de context en het genereren van antwoorden.

Krijg je dagelijks veel nieuwe input?

Als taalmodel ben ik getraind op een grote hoeveelheid tekst en heb ik kennis opgedaan die afsnijdt in 2021. Na de training, word ik niet dagelijks bijgewerkt met nieuwe informatie. Dit betekent dat sommige informatie die ik geef mogelijk verouderd of niet meer actueel is. OpenAI streeft er wel naar om periodiek updates te geven aan de model om de kennis up-to-date te houden. Ook zijn er andere varianten van GPT zoals GPT-3 die op dit moment meer recent zijn getraind, met meer recente data.

Waar ik benieuwd naar ben is of we ons zorgen moeten maken over AI in de toekomst

AI, of kunstmatige intelligentie, is een snel groeiend en complex gebied. Er zijn vele voordelen van AI, zoals verbetering van efficiëntie, automatisering van taken en het ontdekken van nieuwe inzichten. Echter, er zijn ook bepaalde zorgen en uitdagingen waarmee rekening gehouden moet worden, zoals de impact op banen, privacy en ethiek.

Een van de grootste zorgen is de impact op banen. AI-systemen kunnen taken overnemen die voorheen door mensen werden uitgevoerd, waardoor mensen hun baan kunnen verliezen. Dit kan leiden tot economische problemen en sociale ongelijkheid.

Daarnaast zijn er zorgen over privacyschending. AI-systemen kunnen grote hoeveelheden persoonlijke gegevens verzamelen, analyseren en gebruiken. Dit kan leiden tot bezorgdheid over hoe deze gegevens worden gebruikt en beschermd.

Tot slot zijn er zorgen over ethische kwesties. AI-systemen kunnen bijvoorbeeld worden gebruikt voor onethische doeleinden, zoals discriminatie of surveillance. Er moeten daarom regels en wetgeving worden opgesteld om de ontwikkeling van AI te reguleren en te waarborgen dat deze wordt gebruikt voor het algemeen belang.

Het is belangrijk om deze zorgen serieus te nemen en er werk van te maken om ervoor te zorgen dat AI veilig, verantwoordelijk en ethisch wordt gebruikt. Er wordt dan ook veel onderzoek gedaan op dit gebied, om de ontwikkeling van AI te reguleren en ervoor te zorgen dat deze wordt gebruikt voor het algemeen belang.

Inderdaad. Hoe kunnen we voorkomen dat bijvoorbeeld leerlingen hun huiswerk door ChatGPT laten maken?

Er zijn verschillende manieren om te voorkomen dat leerlingen hun huiswerk door ChatGPT of andere taalmodellen laten maken:

  1. Gebruik van plagiaat software: Er zijn verschillende softwareprogramma’s die beschikbaar zijn die kunnen detecteren of een stuk tekst is overgenomen van internet. Deze software kan worden gebruikt om te controleren of leerlingen hun huiswerk echt zelf hebben geschreven.
  2. Handmatige controle: Docenten kunnen ook handmatig de huiswerk controleren en op zoek gaan naar tekenen van plagiaat. Dit kan bijvoorbeeld door te zoeken naar specifieke zinnen of woorden die voorkomen in het huiswerk en ook voorkomen in andere bronnen.
  3. Educatie: Docenten kunnen ook leerlingen educatie geven over de gevaren van plagiaat en hen aanmoedigen om hun eigen werk te doen. Leerlingen kunnen zo leren over de waarde van eerlijkheid en integriteit in hun werk.
  4. Technologische oplossing: Er zijn ook technologische oplossing zoals Turnitin, Grammarly, etc die kunnen helpen bij het detecteren van plagiaat. Deze software analyseert tekst op basis van specifieke regels en kan op deze manier plagiaat detecteren.

Het is belangrijk om te onthouden dat het voorkomen van plagiaat een gezamenlijke verantwoordelijkheid is van zowel docenten als leerlingen. Door samen te werken, kunnen we ervoor zorgen dat leerlingen hun eigen werk doen en zo de waarde van eerlijkheid en integriteit in het onderwijs behouden.

Gegenereerd door Dall-E: “A shiba inu developing a website”

En hoe gaan we dan met copyright om met gegenereerde afbeeldingen van bijvoorbeeld Dall E?

Het gebruik van gegenereerde afbeeldingen, zoals die gemaakt zijn door DALL-E of andere kunstmatige intelligentie-systemen, kan complex zijn als het gaat om auteursrecht. Er zijn een aantal factoren waarmee rekening moet worden gehouden:

  1. Auteursrecht op de input: Als de afbeelding is gemaakt door een AI-systeem dat gebruikmaakt van bestaande afbeeldingen als input, kan het auteursrecht van deze afbeeldingen van toepassing zijn.
  2. Originaliteit: In sommige landen, zoals de Verenigde Staten, moet een werk origineel zijn om auteursrechtelijk beschermd te zijn. Als een afbeelding is gemaakt door een AI-systeem en geen menselijke creativiteit bevat, kan het niet auteursrechtelijk beschermd zijn.
  3. Transformatie: In sommige gevallen kan een afbeelding die is gemaakt door een AI-systeem auteursrechtelijk beschermd zijn als het een significante transformatie bevat van de oorspronkelijke afbeelding.
  4. Fair use: In sommige gevallen kan het gebruik van een afbeelding die is gemaakt door een AI-systeem toegestaan zijn onder de fair use doctrine, die toestaat dat bepaalde gebruiken van beschermd materiaal zonder toestemming van de rechthebbende zijn toegestaan.

In de praktijk kan het lastig zijn om te bepalen of een afbeelding die is gemaakt door een AI-systeem auteursrechtelijk beschermd is of niet. Dit is een complex onderwerp waar juridische experts op dit gebied over moeten adviseren. Het is daarom verstandig om toestemming te vragen of juridisch advies in te winnen alvorens een afbeelding die is gemaakt door een AI-systeem te gebruiken.

Er hangt dus veel af van nieuwe regelgeving die nog gemaakt moet gaan worden?

Ja, dat klopt. Er is momenteel nog geen specifieke regelgeving voor het gebruik van afbeeldingen die zijn gemaakt door kunstmatige intelligentie-systemen. Dit betekent dat de huidige auteursrechtelijke regels moeten worden toegepast op deze situaties. Maar deze regels zijn vaak ontworpen met de veronderstelling dat het werk is gemaakt door een menselijke maker, dus ze kunnen soms niet volledig passend zijn voor afbeeldingen die zijn gemaakt door AI-systemen. Er zal waarschijnlijk toekomstige regelgeving nodig zijn om deze situaties beter te behandelen.

Daarnaast is er ook veel discussie over ethische en maatschappelijke implicaties van kunstmatige intelligentie en hoe deze kunnen worden aangepakt, zoals bijvoorbeeld de verantwoordelijkheid voor de acties van AI-systemen en de bescherming van privacy. Dit zijn complexe vraagstukken waarover nog veel overleg en regelgeving nodig zal zijn.

Hartstikke bedankt voor de antwoorden. Wil je nog iets kwijt?

Graag gedaan! Als je nog meer vragen hebt, aarzel dan niet om ze te stellen. Houd er wel rekening mee dat ik als AI-model geen mening heb en alleen informatie verstrek die ik heb geleerd tijdens mijn training. Dus als u vragen heeft over mijn trainingsgegevens of als u zich zorgen maakt over de toekomst van AI, aarzel dan niet om me te vragen.”


Gegenereerd door Dall-E: Microsoft Clippy standing on piece of paper

Geloof het op niet: het bovenstaande interview is 1-op-1 met ChatGPT gevoerd. Als het de eerste keer is dat je hiermee in aanraking komt, is het bijna eng hoe goed en samenhangend de AI antwoord kan geven op mijn vragen. Ik vind het zelf ook nog altijd indrukwekkend.

Samenleving en regelgeving

AI gaat de komende jaren alleen maar belangrijker worden en de vraag zal voorlopig blijven hoe we hier als samenleving mee om zullen gaan.

Ook de regelgeving loopt nu al achter en met name voor bepaalde beroepen is met name dat geen goed nieuws. Waar liggen de rechten van de gegenereerde afbeeldingen? En hoe gaan we hiermee om op school of universiteit?

Hoe helpt ChatGPT developers?

ChatGPT kan developers helpen met sneller ontwikkelen. Het kan code aanvullen en zelfs genereren om bepaalde functioniteit te ondersteunen. Volledige applicaties zal het echter nog niet in elkaar steken, maar wie weet waar we over 10 jaar staan. Uiteindelijk is creativiteit en het menselijke brein een stuk complexer

AI is voorlopig Microsoft’s Clippy die het eindelijk doet. De integratie met Office is dus nog niet eens zo raar. Ook zal deze vorm van AI zo maar eens heel snel bij veel helpdesks geïmplementeerd kunnen worden. Vragen over hoe je je modem aan moet sluiten, die zouden toch beantwoord moeten kunnen worden.

Kortom, we hebben nog tijd, maar we moeten vroeg of laat AI echt een plek geven in onze samenleving.

Gebruik jij ook nog typemachines in je bedrijf? 

Cedric Liesnard, onze Business Productivity Consultant, neemt je mee in een interessant stuk over de ‘impact’ van technologie versus technologie als een sociaal proces tussen verschillende mensen.

Technology marches in seven-league boots from one ruthless, revolutionary conquest to another, tearing down old factories and industries, flinging up new processes with terrifying rapidity.” – Charles A. Beard, 1927

Het kan vaak lijken alsof ontwikkelingen in de techniek als een stoomwals over ons heenkomen. Alsof er geen menselijke bestuurder meer op de stoel zit die de richting of snelheid van de wals kan beïnvloeden laat staan beheersen.

Voor veel mensen kan het ook lijken alsof dat gevoel iets nieuws is. Iets van de laatste paar decennia. Of in ieder geval iets van de tijd sinds zij zelf volwassen geworden zijn. Dit gevoel gaat echter veel verder terug dan je misschien zou denken. Binnen de sociologie van wetenschap en techniek staat dit idee – dat de sociale structuur van onze maatschappij voortvloeit uit een onbeheersbare technologische vooruitgang – bekend als technologisch determinisme.

‘De ‘impact’ van technologie

Dit technologisch determinisme is verleidelijk. Het is immers fijn om over technologie te denken alsof het een constante stroom van verbetering en vooruitgang betreft. Alsof de geschiedenis van technologische ontwikkeling een ordelijk en rationeel pad gevolgd heeft en de wereld om ons heen precies het doel was waar alle beslissingen sinds het begin der tijden naartoe gewerkt hebben.

Deze illusie wordt verder gevoed door onze obsessie met goede resultaten en successen. Maar als je je alleen richt op de zaken die achteraf succesvol blijken, kan je belangrijke en leerzame lessen makkelijk missen of negeren. Daarom ontstond in de sociologie eind vorige eeuw een theorie die recht tegen dit determinisme indruiste: sociaal constructivisme van technologie.

Sociaal constructivisme

Binnen dit raamwerk worden technologische ontwikkelingen gezien als product van een sociaal proces tussen verschillende mensen. Niet per se de (achteraf gezien) “beste” oplossing overleeft dus het innovatieproces, maar juist de oplossing die de meeste stakeholders over de streep trekt. Dit zou meteen vragen moeten oproepen: hoe kunnen we leren van fouten in plaats van ons te richten op successen? En waarom kan een “inferieur” product of proces als winnaar uit de bus komen?

Successen en mislukkingen

Om te beginnen dienen we successen en mislukkingen met hetzelfde gewicht te behandelen. Dit symmetrieprincipe voorkomt dat we successen uitleggen met de cyclische redenering “het is een succes geworden omdat het de beste oplossing was, en het was duidelijk de beste oplossing omdat het nu een succes is”. Als we dit symmetrieprincipe in gedachten houden blijkt vaak dat technologie die we nu als vanzelfsprekend of als intrinsiek de beste oplossing zien in werkelijkheid beïnvloed is door een enorm scala aan factoren waaronder cultuur, geschiedenis, identiteit, moraliteit, machtsverhoudingen, alsook willekeur en geluk.

Context is belangrijk

We vinden het vanzelfsprekend dat computers digitaal en in de basis gebaseerd op Booleaanse algebra zijn. Maar de eerste computers waren analoge machines, die op basis van elektrische, mechanische of hydraulische kwantiteiten een modeloplossing voor een probleem genereerden (zie bijvoorbeeld Deltar: Delta Getij Analogon Rekenmachine, gebruikt voor de Deltawerken).

Digitaal versus analoog?

Deze manier van werken bleek echter onhandig voor precieze berekeningen en niet geschikt voor gegeneraliseerde computers gebaseerd op het model van de Turingmachine. Als we hier niet verder over nadenken is de conclusie duidelijk: digitale computers zijn inherent beter dan analoge computers en dus overleefde de digitale computer en verdween de analoge.

Tegenwoordig is analoog echter aan een comeback bezig, dankzij de enorme groei van artificial intelligence waar gebruik gemaakt wordt van deep neural networks. Analoog was dus zeker geen slechte technologie, maar een waar door de relevante actoren binnen de computerwereld een tijd lang geen grote waarde aan werd toegekend. Als men deze “gefaalde” techniek dus had weggezet als “verdwenen, dus slecht en niet bruikbaar” zou er nu een potentiële oplossing voor een nieuw probleem ontbreken.

Reflectie is ook belangrijk

Wat is dan een voorbeeld van een “inferieur” product dat dankzij sociale processen een winnaar is? Neem het toetsenbord waarmee ik dit stuk geschreven heb. Dikke kans dat je toetsenbord, net als het mijne, een QWERTY-layout heeft (misschien AZERTY als je dit vanuit België leest). Is QWERTY dan de “beste” layout om Nederlands mee te schrijven? Je gokt het al: natuurlijk niet. Maar men was gewend aan QWERTY op de typemachines en dus werd deze overgeheveld naar toetsenborden voor computers.

Ga eens praten met iemand die de Dvorak-layout gebruikt en je bent al snel genezen van het idee dat QWERTY overleeft omdat iedereen het de “beste” layout vindt. Soms overleven bepaalde technologieën wel omdat ze beter geschikt zijn voor hun doel, maar dit moeten we niet beschouwen als een gesloten hoofdstuk of als een afgeronde stap in de technologieboom zoals die vaak in strategy games te vinden is.

Hoe zit het binnen jouw bedrijf?

Laat je successen dus eens voor wat ze zijn en ga als bedrijf na: wat kunnen we leren van onze “fouten” en “mislukkingen”? Wie weet heb je gewoon nog een oplossing liggen voor een probleem dat je in het verleden niet voorzien had. En vraag je eens af waarom je bepaalde processen hanteert zoals ze zijn. Is dat echt omdat het zo’n goede logische processen zijn? Of ben je uit gemakzucht met een eeuwenoude typemachine aan het werken?

Goed opdrachtgeverschap is een vak

Wat is ‘Opdrachtgeverschap’? En specifieker nog: wat is ‘Goed opdrachtgeverschap’? Onze senior projectmanager Edwin Fokker gaat je hierin meenemen. Niet omdat hij een uitgebreid wetenschappelijk onderzoek heeft uitgevoerd of bestudeerd, maar vanuit zijn eigen 25 jaar ervaring als projectmanager. Goed opdrachtgeverschap is een vak. Je doet dat er niet zo maar even bij!

“Dit artikel gaat met name over jou als opdrachtgever, diegene die eindverantwoordelijk is voor business ICT-projecten.   

Goed opdrachtgeverschap is kort samengevat:

  • je houding
  • je gedrag
  • en actie in jouw rol als opdrachtgever.

Jij bent eindverantwoordelijk voor het initiëren, sturen, laten uitvoeren en implementeren van veranderingen die projectmatig worden uitgevoerd. Jij krijgt, of beter, neemt eindverantwoordelijkheid voor deze verandering.

Dit is nogal wat. Je wilt ‘iets’ veranderen en/of verbeteren in je dienstverlening naar je klanten, afnemers en/of de interne organisatie. 

Jij als goede opdrachtgever:  

  1. Bent de eigenaar van het project
    Jij voelt dat zo en gedraagt je er ook naar. Jij wilt de resultaten van het project hebben en implementeren in jouw organisatie. Goed opdrachtgeverschap staat of valt met eigenaarschap. 
  1. Speelt een actieve en beslissende rol in de formulering van de projectkenmerken
    Bestaande uit de doelstelling, business case, scope en niet te vergeten de out of scope, de requirements, de op te leveren producten, de project- en exploitatiekosten, de planning en de governance. Dit zijn de kaders en richtlijnen van jouw project, waarop je actieve sturing geeft bij de uitvoering. 
  1. Bent volledig en juist geïnformeerd tijdens jouw project
    Over de status van de op te leveren producten, de financiën, de issues en risico’s en besluit over de te nemen maatregelen om de kans op succes te vergroten. 
  1. Hebt een luisterend oor
    Voor de adviezen van de (vertegenwoordiging van de) gebruikers van je organisatie en betrokken leveranciers die allen aangestoken door jouw enthousiasme een actieve rol vervullen in jouw project. 
  1. Hebt een open en eerlijke relatie met de projectmanager van jouw project
    De projectmanager faciliteert jouw feestje en ondersteunt jou, net als je Stuurgroep, in de besluitvorming tijdens jouw project. 
  1. Stapt op de zeepkist bij het vieren van succesjes
    Met de direct betrokkenen tijdens je project en je vraagt om extra aandacht en inzet voor je project als het ‘even’ tegenzit.  
  1. Stopt het project
    Als de business case niet meer valide is of te krijgen is en als je geen goed gevoel meer hebt over de slagingskans en terugverdientijd van jouw project. 

Jij als opdrachtgever wilt ‘iets’ hebben. Jij wilt profijt hebben van de resultaten en op te leveren producten van het project. De business case, die up-to-date wordt gehouden tijdens het project en de vooraf gedefinieerde exploitatiefase erna, ondersteunt je daarbij. De tijd is echt voorbij dat de business case van het project tijdens initiatie- of opstartfase eenmalig wordt vastgelegd en doorgerekend.  

Als jij je (deels) herkent in dit betoog, maar toch nog vragen, opmerkingen en/of je bedenkingen hebt, dan hoor ik dat graag. Je bent van harte welkom om samen met mij in gesprek te gaan, zodat we van elkaars kennis en ervaringen kunnen leren.”

  

“Your connection is not private!”

Een geldig certificaat plaatsen op je testomgeving in minder dan 5 minuten tijd? Het kan. En Alain de Klerk, een van onze Managing Directors & SharePoint Architect, legt het je snel uit:

“Bij de ontwikkeling van een nieuw IT-product of -oplossing maken we vaak van tevoren een proof-of-concept, een testomgeving en/of een acceptatie-omgeving. Op die manier kunnen we gebruikers al in een vroeg stadium betrekken bij het ontwikkelingsproces en hen om hun mening vragen.

In veel gevallen zie ik dat men aan gebruikers vraagt om de ‘SSL warning’ (of SSL-waarschuwing) te negeren op de testomgeving bij het testen van een webapplicatie. De ontwikkelaar of beheerder heeft simpelweg nog geen certificaat geïnstalleerd of gebruikt een zogenaamd self-signed certificate. En ik moet eerlijk bekennen dat ik zelf hier ook schuldig aan was.

Echter leren we gebruikers op deze manier een gedrag aan om waarschuwingen te negeren; die waarschuwing is er natuurlijk niet voor niets. Daarom laat ik zien dat je in 5 minuten, zonder kosten, een valide certificaat kan aanvragen bij een legitieme Certificate Authority. Dit gaan we doen met PowerShell en ACME; PoSh-ACME (https://poshac.me/docs/v4/).

De eerste stap is om een API Token aan te maken in Cloudflare. Wanneer je nog geen Cloudflare account hebt dan kan je deze gratis aanmaken.

De precieze stappen om een API Token aan te maken staan hier beschreven. Naast Cloudflare worden er ook tal van andere DNS-aanbieders ondersteund. De volledige lijst vind je hier

Vervolgens openen we een Microsoft PowerShell-venster en voeren we de volgende commando’s uit:

Het laatste commando opent de Windows Verkenner en toont de locatie waarin het certificaat is opgeslagen. Dit certificaat kun je vervolgens gebruiken om de applicatie in je testomgeving te beveiligen. En voilà… een valide certificaat op je testomgeving in minder dan 5 minuten tijd!”

Verdwijnt de ICT-afdeling met de self-service PowerBI tool?

Dat is de vraag die BI Consultant en Data analist Roger Persoon zich stelt. Het antwoord lees je hieronder:

“Microsoft Power BI is een interactieve tool voor het visualiseren van data. Het doel is om gegevens om te zetten naar informatie en dit beschikbaar te maken voor de eindgebruiker.

Risico’s van self-service tools

Power BI is ontwikkeld om een self-service BI-tool te zijn. Self-service BI is heel populair op dit moment. Daarmee verzamelen medewerkers data die ze vervolgens rapporteren in bijvoorbeeld dashboards. Niet meer afhankelijk zijn van de ICT-afdeling lijkt ideaal, maar brengt ook een aantal risico’s met zich mee.

Hieronder een van de risico’s die ik niet vaak genoemd zie als ik de moeilijkheden opzoek voor invoering van PowerBI. Als je dit googelt gaat het voornamelijk over de moeilijkheden van PowerBI zelf: de tool dus en welke kennis je hiervoor nodig hebt. Niet wat voor effect het heeft op de werkvloer.

Want even serieus: is het echt een optie om aan medewerkers die tot dan toe alleen wat Excel-sheets kant-en-klaar krijgen voorgeschoteld met hierop data die hen moet ondersteunen in hun werkzaamheden na een korte introductie een aantal datasets te geven en te zeggen: ga hier maar mee aan de slag. Succes ermee! 

Allereerst wordt hiermee vergeten dat dit veelal niet tot hun kernactiviteit behoort maar een middel is om te controleren dan wel te rapporteren over hun dagelijkse werkzaamheden. 

Van papier naar digitaal

Tijdens mijn werkzame leven heb ik veelal gewerkt voor softwarebedrijven die bij lokale overheden documentmanagementsystemen implementeerden. Dit allemaal in het kader van ondersteuning van de medewerkers. Hiervoor moesten de meeste medewerkers hun werkwijze, die ze soms al jaren hanteerden, veranderen. Documenten moesten niet meer in de kast worden opgeborgen met kleurcodes op alfabet worden opgeborgen maar geregistreerd en geclassificeerd. En niet te vergeten: digitaal. Ook uitgaande post wordt niet meer via de brievenbus bezorgd: alles gaat via de BerichtenBox van Mijn Overheid.

Dit zou dan het einde van de postkamer worden: iedereen doet dit zelf (self-service dus).

Stapsgewijze invoering

Veelal ging dit geschetste toekomstbeeld voor de medewerkers te vlug. De gevolgen waren dat ze hun eigen papieren archief creëerden en het systeem links lieten liggen. Beter ging het dan ook als je de invoering stapsgewijs uitvoerde.

Allereerst laat je de postkamer ‘digitaliseren’. Papier wordt vervangen door digitale opslag (wat in de praktijk betekende het scannen van inkomende post en het printen van uitgaand post). Maar intern worden de documenten alleen nog beschikbaar gesteld via het documentmanagementsysteem.

Daarna ga je stapsgewijs verder: e-mails registreren door medewerkers, communicatie naar de burgers toe via de berichtenbox van Mijn Overheid totdat je uiteindelijk toch het geschetste en gewenste toekomstbeeld hebt bereikt. Nog makkelijker gaat dit proces als je de medewerkers kunt prikkelen zodat de veranderingen zelf vragen: “Waarom kan ik mijn e-mail niet zelf registreren?” of “Waarom moet ik de vergunning via de postkamer versturen?”.  

‘Klant en kok ineen’

Als ik mijn ervaring hierin projecteer naar PowerBI als self-service BI tool zie ik wel enige overeenkomsten. Het concept van self-service is namelijk eenvoudig: de klant bedient zichzelf. Voorheen gebeurde dat door het personeel. Denk bijvoorbeeld aan tankstations, warenhuizen of een zelfbedieningsrestaurant. De klant redt zichzelf prima en het personeel is alleen nog aanwezig voor ondersteunende taken. Dit zou echter betekenen in het geval van PowerBI t.o.v. het zelfbedieningsrestaurant: je bent ook nog de kok.  

Implementatie van PowerBI als self-service tool

Mijns inziens kan dit ook beter stapsgewijs. Begin allereerst met de rapporten en dashboards via PowerBI te delen. En ja, dit zal nog steeds door de ICT-afdeling gebeuren (beter nog: hier heb je genoeg specialisten voor). De organisatie raakt vertrouwd met de presentatie van de gegevens via deze weg. Kunnen ze al een beetje spelen met filters en in- en uitzoomen op de data (drillen).

Op deze manier creëer je vanzelf een vraag bij de afdelingen en medewerkers die meer willen. Die inderdaad zelf de dashboards willen maken en via verschillende invalshoeken de data willen bekijken om direct een trendbreuk te kunnen constateren. Of alleen de data die voor de medewerker/afdeling zelf relevant is willen weergeven. Ook hier kun je nog als tussenstap kiezen dat er een aanvraag wordt gedaan om een dataset beschikbaar te stellen die die data bevat waarmee aan de slag kan worden gegaan binnen PowerBI om het te visualiseren: ook weer een rol voor de ICT-afdeling.

Onderhoud en controle blijft belangrijk

Om een wildgroei aan rapporten te voorkomen zal er verder ook nog enige controle moeten worden uitgevoerd op de rapporten/dashboards. Er is een kans dat meerdere medewerkers – gedeeltelijk – hetzelfde rapport maken en dan loop je het risico dat de gemaakte rapporten andere definities bevatten dan centraal is afgesproken. Ook hierin zou de ICT-afdeling een rol in kunnen spelen: onderhoud en controle blijft een belangrijke factor.

Self-service BI kan werken, maar…

Self-service BI klinkt aanlokkelijk, maar zal niet voor iedereen werken en zou stap voor stap moeten ingevoerd. Zie het niet als kans om de ICT-afdeling uit het proces te halen maar geef ze meer een ondersteunende en controlerende rol. Ook zullen er genoeg afdelingen en medewerkers zijn die niet aan self-service BI willen. Probeer ze dat dan ook niet op te dringen: als ze zelf niet de meerwaarde ervan inzien is invoering gedoemd te mislukken.”

Gebruik van C# in web development?

Onze software developer Nino van Laar vraagt zich af waarom de programmeertaal C# niet vaker wordt gebruikt bij het ontwikkelen van webapplicaties. Hij neemt je tijdens zijn zoektocht mee naar het antwoord: 

“Een analyse van alle openbare GitHub repositories toont aan dat C# al enkele jaren een stabiele lijn toont op het percentage van gebruik binnen de repositories, variërend tussen 3 en 4% (Zapponi, 2022). Ontwikkelaars gebruiken C# voor een breed scala aan projecten zoals Windowsapplicaties, games en web development.  

Weinig websites gebouwd in C# 

Aangezien C# meer dan 20 jaar bestaat, is er veel documentatie en expertise aanwezig die geraadpleegd kan worden voor snelle en adequate ontwikkeling. Desondanks is het percentage websites wat gebruik maakt van C# als ontwikkelcode slechts 8% (W3Techs, 2022). De meeste websites blijven geprogrammeerd in PHP waardoor deze bij uitstek de populairste code is om te gebruiken in webdevelopment.

Hierbij rijst dan ook de volgende vraag: ‘Waarom wordt C# nog niet grootschalig ingezet voor de ontwikkeling van webapplicaties?’ 

Ontwikkelen van webapplicaties

C# is een moderne, object georiënteerde programmeertaal ontwikkeld door Microsoft. Het stelt ontwikkelaars in staat om veilige en robuuste applicaties te ontwikkelen onder het .NET platform. De ontwikkeling van webapplicaties in C# gebeurt doorgaans in het ASP.NET framework, welke is gebouwd op het bekende .NET framework. ASP.NET voegt enkele belangrijke functionaliteiten toe aan .NET die nodig zijn voor het ontwikkelen van webapplicaties, zoals:

  • Een basis framework voor het verwerken van web requests in C# 
  • Een web-page templating syntax, beter bekend als Razor, waarmee dynamische webpagina’s kunnen worden gebouwd door het gebruik van C#
  • Libraries voor veelvoorkomende websites zoals een model, view, controller (MVC) 
  • Een authenticatiesysteem waarin libraries, een database en templatepagina’s zijn opgenomen voor het verwerken van logins. Hiernaast is het eenvoudig om multifactorauthenticatie en externe authenticatie in te stellen 
  • Editor extensions om eenvoudig syntax highlighting, code completion en andere specifieke functionaliteiten in de IDE naar keuze te krijgen

C# steeds populairder 

Langzaam maar zeker wint C# aan populariteit bij ontwikkelaars voor web development. Dit komt mede door het openstellen van de framework code op Github. Iedereen kan de code nu inzien, reviewen, aanpassen en/of aanvulling doorvoeren op de bestaande code.  

Hierdoor groeit er een community die steeds actiever wordt in de doorontwikkeling van ASP.net. Verbeteringen en bugfixes laten daardoor minder lang op zicht wachten en worden regelmatige vrijgegeven. 

Support op meerdere platforms

Een ander speerpunt om C# te gebruiken is de cross-platform support. Het framework is gebouwd om alleen op Windows te werken maar applicaties en hulpmiddelen ontwikkeld met behulp van .NET kunnen eenvoudig op andere platforms werken zoals macOS en Linux. Visual Studio, de IDE ontwikkeld door Microsoft, geeft gebruikers hierdoor de kans webapplicaties op elk operating system te ontwikkelen en in gebruik te nemen.  

Aangezien ASP.NET verder gebouwd is op .NET hebben ontwikkelaars ook direct voordelen bij onder andere: 

  • Automatisch geheugenmanagement 
  • Cross-platform architectuur 
  • Package management
  • Garbage collection 
  • Asynchroon programmeren 
  • Eenvoudige ontwikkeling van MVC-webapplicaties en RESTful API’s 

Razor syntax: makkelijk te leren

ASP.NET maakt gebruik van zijn eigen markup syntax voor het embedden van .NET code in webpagina’s. Hiervoor gebruiken zij de Razor syntax. Deze syntax, ontwikkeld in 2010, is een vereenvoudigde syntax die eenvoudig te leren is als beginner en meer productiviteit brengt bij een expert. Een Razor webpagina bestaat uit HTML en Razor code. Wanneer een server een request krijgt om een pagina te laden zal eerst de Razor code uitgevoerd worden om vervolgens de HTML aan te genereren en terug te sturen naar de gebruiker.  

Er is hierbij een grote overeenkomst te vinden met PHP, waarbij PHP-pagina’s bestaan uit PHP en HTML en op dezelfde manier op de server worden gegenereerd. Ontwikkelaars met C# ervaring zullen dan ook eerder uit te voeten kunnen met de Razor syntax dan de PHP-syntax.

PHP blijft koploper

PHP vertoont ontzettend veel overeenkomsten met ASP.NET in combinatie met Razor bestanden. Beide programmeertalen kunnen embedded worden in de HTML-code, zijn cross platform in te zetten en zijn op basis van performance aan elkaar gewaagd.  

Toch blijft PHP de koploper in de strijd om populairste programmeertaal voor webapplicaties. Dit komt met name door onderstaande punten: 

  • Vanwege de populariteit is er een enorme community ontstaan waarbij veel ontwikkelaars zich hebben opgewerkt tot specialist 
  • Er is een grote database vol referenties en educatief materiaal 
  • PHP ondersteunt vrijwel iedere database 
  • Er is een grote collectie aan open-source add-ons 
  • De hosting van een PHP-website is doorgaans goedkoop 
  • PHP is eenvoudig te leren

Voor zowel PHP als C# zijn er dus voor- en nadelen die het ontwikkelproces dan wel vereenvoudigen als bemoeilijken. Maar waarom heeft C#, en in het bijzonder ASP.NET, nog zo’n kleine marktwaarde in de websites?

Overstap naar ASP.NET

Het antwoord hierop lijkt vrij voor de hand liggend. Tot nog toe was ASP.NET een framework dat enkel gericht was op het ontwikkelen van webapplicaties voor een Windows machine. Sinds 2016 is ASP.NET Core uitgekomen waarmee deze restrictie van Windows verdween. Het lijkt er dan ook op dat het grote publiek nog niet de overstap heeft gemaakt naar C# vanuit de meer populaire webontwikkelmethodes zoals PHP. De verwachting is dat steeds meer bedrijven, zeker vanwege de release van ASP.NET Core, de overstap naar ASP.NET overwegen en zullen nemen.

PHP versus C#

Persoonlijk heb ik in zowel PHP als C# geprogrammeerd. Als beginnend programmeur is PHP een ontzettend eenvoudige taal om te leren. Simpele websites kunnen op deze manier in een handomdraai worden gemaakt. Het leren van C# vergt wat meer inspanning en duurt dan ook langer om daadwerkelijk te kunnen gebruiken.  

Vanwege de object georiënteerde structuur binnen .NET is het eenvoudiger om code te differentiëren dan in PHP. Een persoonlijke voorkeur gaat hiervoor dan ook uit naar C#. Waar PHP zich behoudt tot een programmeertaal voor webapplicaties kan het leren van C# de horizon verbreden en de stap naar andere ontwikkelmethodes binnen .NET vereenvoudigen.”