No-coding gereedschappen
Iedereen in de informatiewereld kent Ada Lovelace die rond 1850 de basis legde voor de moderne informatica. De informatica waar helaas nog steeds te weinig vrouwen werken, maar die ooit door vrouwen is gecreëerd en groot is gemaakt. Ik heb hier eerder een artikel over geschreven: ‘Waarom werken er nog steeds zo weinig vrouwen in de IT?’.
Ada vertaalde de memoires van mathematicus Luigi Menabrea over de nieuwste uitvinding van de eveneens mathematicus, maar vooral werktuigbouwkundig ingenieur Charles Babbage’s: de analytische machine. Deze mechanische machine kan met recht de eerste programmeerbare (mechanische) machine worden genoemd.
De bijdrage van Ada Lovelace was, dat zij bij de vertaling allerlei aantekeningen maakte over hoe je die machine zou kunnen gaan programmeren. In het bijzonder hoe je Bernoilli numbers zou kunnen berekenen, de basis van de wiskunde van het werken met gehele getallen. Die beschrijvingen van Ada kunnen als het eerste gepubliceerde computerprogramma worden beschouwd. Ze schreef programma’s om symbolen volgens vaste regels te manipuleren met de machine die Babbage op dat moment nog moest maken. Zij zag dat dat computers meer dingen zouden kunnen dan simpel rekenkundige berekeningen.
Programmeren
De eerste ‘hogere’ programmeertalen ontstonden pas een eeuw later toen de elektrische (buizen) en later elektronische (transistor) computers hun intrede deden. De eerste commercieel beschikbare programmeertaal was FORTAN (FORmula TRANslation) die rond 1955 bij IBM door computer geleerde John Backus werd ontwikkeld. Men was eerst wantrouwend over deze methodiek omdat men vond dat ze inefficiënter was dan direct in machinecode geschreven programma’s. Toch wist FORTRAN uiteindelijk het vertrouwen te wekken dat hogere programmeertalen betrouwbaar en veel efficiënter waren dan machinecode.
De jaren daarna kwamen er varianten en nieuwe programmeertalen op de markt waarvan Algol 58 (1958), Lisp (1958), Cobol (1959) en Basic (1964) de bekendste waren. De talen CPL en BCPL uit 1967 waren de voorlopers van de bekende taal C die in de jaren zeventig populair werd en bij Bell Laboratories voor de nieuwe operating system UNIX was ontwikkeld. In 1989 werd C door de zowel ANSI en de ISO gestandaardiseerd waardoor het tegenwoordig nog steeds een van de wijdst verspreide programmeertalen is. In de jaren tachtig vond er een consolidatie plaats van alle varianten en soorten talen die wereldwijd waren ontwikkeld.
Modules
Een belangrijke nieuwe trend was een toenemende focus op het gebruiken van modules om large-scale systemen te programmeren. Door het gebruik van parametriseerbare modules kon men sneller programma’s bouwen. In dat kader spreekt men over polymorfisme, waarbij een bepaalde functie verschillende specificaties kan hebben. Het is een van de vier pijlers in het object-georiënteerde paradigma om in een abstracte klasse functionaliteit te definiëren en object georiënteerd programmeren mogelijk maakte.
De ontwikkeling van het internet maakte nieuwe talen populair zoals Visual Basic (1991) en Ruby, Ada 95, Java en PHP (allemaal 1995). Ze werden Rapid Application Development (RAD) talen genoemd die sneller programmeren mogelijk maakten en allemaal object georiënteerd waren. Een andere ontwikkeling was dat de ontwikkeling en het in productie nemen van software dichter bij elkaar werd gebracht om de communicatiekloof tussen ontwikkelaars en operationele teams te verkleinen. Sindsdien spreekt men steeds vaker over DevOps. Ik vergelijk het soms met de integratie in de fysieke ontwerp- en productiewereld van Computer Aided Design en Computer Aided Manufacturing tot geïntegreerde CAD/CAM-systemen. Met de gedachte van ‘design for manufacturing and sustainability’; de ontwerper moet naast functionaliteit ook aandacht hebben voor de maakbaarheid en instandhouding van de software. DevOps is het CAD/CAM voor de informatiefabriek.
Minder coderen
Een intrigerende trend de afgelopen jaren is de ontwikkeling van low-code en zelfs no-code gereedschappen en platformen. Low-code is de ontwikkeling waarbij tijd consumerende handmatige processen worden geautomatiseerd en geïntegreerde, web-gebaseerde ontwikkelomgevingen (IDE) worden gebruikt die toegankelijk zijn via een browser. Bij low-coding is ondanks automatisering en werken met bouwstenen nog steeds handmatige codeervaardigheid nodig.
Anders is het bij de nieuwe no-coding gereedschappen. Net zoals low-code platformen gebruiken no-code platformen visuele applicatie systemen, maar nu om gebruikers zonder enige codeer-activiteit in staat te stellen apps te ontwikkelen. Hierdoor kunnen gebruikers zonder codeer-vaardigheden al snel simpele programma’s schrijven. Maar met de nieuwe generatie no-code platformen kunnen steeds ingewikkelder applicaties worden gemaakt.
Low-code en no-code ontwikkelplatformen zijn oorspronkelijk ontwikkeld om de lichtvoetigheid en efficiency van de organisatie te vergroten. Om ‘leken’ ook enige programmeer-vaardigheid te geven. Maar nu breekt het besef door dat ze voor de business eigenlijk heel interessant zijn. Mede met de komst van IaaS en SaaS platformen die informatievoorziening tot een nutsvoorziening heeft gemaakt, is een serieus no-code gereedschap in combinatie met een geïntegreerde PaaS-omgeving een interessant programmeer-gereedschap voor de business zelf geworden.
Informaticus 3.0
In een eerdere blog heb ik al eens de evolutie van de informaticus 1.0 naar de ontwikkeling van de informaticus 3.0 uitgelegd. De eerste informatici 1.0 zoals ik zelf, waren informatie geïnteresseerden die vanuit het businessproces de wereld van informatie opzochten en ontdekten. Mede omdat zij de (jonge) informatietechniek wilden inzetten om hun eigen businessprocessen te verbeteren. Denk aan de eerste MRP-toepassingen, CAD-systemen, boekhoud-programma’s. Daarna werd informatica gecompliceerder en dus een apart vak. Met eigen opleidingen die weliswaar de vakbekwaamheid enorm verbeterden, maar de omissie hadden dat die professionals steeds minder van de business-processen kenden. Met de komst van de informaticus 2.0 ontstond de bekende kloof tussen de business en IT.
Met de komst van echte no-code gereedschappen en platformen krijgt de business professional de kans om (weer) zelf zijn informatiestromen te organiseren, eigen applicaties te ontwikkelen en te onderhouden zonder échte software-opleiding en ervaring. Een nieuwe informatie professional 3.0 die midden in de business kan blijven staan en de informatiebehoefte van zijn collega’s en management met eigen gereedschappen en platformen kan bedienen. No-code platformen zoals WEM blijken disruptief en voldoen aan een steeds grotere bedrijfsbehoefte: snel eigen processen modelleren, informatiseren en onderhouden. De kern om succesvol te worden in de eigen digitale transformatie.
Zoals Forbes als schrijft, zal no-coding meer disruptief worden dan de meesten denken. Zeker in relatie met nieuwe technieken als AI, IoT en blockchain. Digitale vaardigheid is een noodzaak voor elke medewerker, no-coding platformen maken het mogelijk dat die medewerker daadwerkelijk zijn eigen informatieprocessen kan opbouwen, beheren en onderhouden. In de wereld van Software Defined Everything (SDX) wordt de informaticus 3.0 eindelijk een feit . . .
Photo by hitesh choudhary from Pexels