Microsoft en de waarde van 4GL's
Rick van der LansMicrosoft introduceerde tijdens de Microsoft's Professional Developers Conference in Los Angeles hun nieuwe technologie om databases te benaderen, Language Integrated Query (LINQ).
Menigeen noemde het de meeste spannende annoncering, terwijl in datzelfde evenement de nadruk lag op de annoncering van het indrukwekkende Windows Vista (voorheen Longhorn) en het veelbelovende SQL Server 2005. LINQ ging niet verloren in al dat marketing geweld. Niet zo vreemd, als je bedenkt dat architect Aders Hejlsberg, ook hoofdarchitect van J++, de Windows Foundation Classes en meer recentelijk C#, door de Microsoft-wereld op handen wordt gedragen.Door de jaren heen heeft Microsoft vele api's geïntroduceerd om vanuit programmeertalen als C# en VisualBasic de database te benaderen. Eerst was daar ODBC, daarna OLE DB, nu is het ADO.NET en daartussen hebben we nog vele andere gehad. Voor elk api geldt dat de programmeur naast kennis over de programmeertaal moet begrijpen hoe de api werkt en hij moet ook weten wat er met SQL mogelijk is.
Het integreren van SQL met een programmeertaal geeft namelijk altijd conflicten. Deze talen gaan niet uit van dezelfde bouwstenen. SQL ondersteunt bijvoorbeeld null-waarden, maar de meeste programmeertalen niet. Ook de ondersteunde datatypes komen niet overeen, en SQL is set-oriented terwijl de programmeertalen dat niet zijn. Daarom moeten er allerlei bruggen gebouwd worden, die meestal niet uitblinken in elegantie.
Bij een taal die LINQ ondersteunt is de databasetaal onderdeel van de programmeertaal geworden. Constructies om gegevens te bevragen en te wijzigen zijn net zo goed onderdeel van de taal als 'if-then-else'-instructies, loops en klasse-declaraties. Er is geen api meer nodig. De datatypes komen overeen en het omgaan met sets is aan de programmeertaal toegevoegd.
Een additioneel voordeel is dat we met LINQ niet beperkt zijn tot het benaderen van tabellen in een database. Ook objecten in het geheugen kunnen geraadpleegd worden. Als er bijvoorbeeld een 'array' gedefinieerd is, kan deze met LINQ gebruikt worden alsof het een SQL-tabel is. Hiermee wordt de programmeertaal 'set-oriented'. Deze gegevens in geheugen kunnen zelfs gejoined worden met de databasegegevens. LINQ maakt het ook mogelijk XML-documenten te raadplegen.
Er wordt niet geheel terecht gesuggereerd dat met de komt van LINQ, de programmeur nog maar één taal hoeft te kennen: C# of VisualBasic. Omdat de SQL-instructies onderdeel van die taal zijn geworden is dat deels waar. Je moet echter nog steeds de principes van tabellen begrijpen en weten hoe je 'joins' en 'subqueries' moet schrijven. Kennis van SQL blijft dus wel een vereiste. Alleen is er een SQL-dialect bijgekomen, het dialect dat ondersteund wordt door de programmeertalen.
Vanuit het standpunt van een programmeertaal is dit een elegante oplossing. Programmacode wordt niet meer door lelijke api's verstoord. Uiteraard is dit geen overdraagbare technologie. Het werkt alleen in de .NET omgeving. Maar het zou niet erg zijn als de Java-wereld het idee kopieert.
Is het opnemen van SQL-instructies binnen een programmeertaal een nieuw idee? Niet helemaal. In de research wereld zijn er al varianten van programmeertalen geweest waarbij SQL volledig geïntegreerd werd. Pascal is in het verre verleden ooit met database-instructies uitgebreid. Maar waar we dit het sterkst gezien hebben, is uiteraard in de wereld van de klassieke 4GL's. De 4GL's haalden voor een groot deel hun kracht uit het feit dat ze goed geïntegreerd waren met de onderliggende databasetalen. Het heeft lang geduurd, maar het lijkt alsof Microsoft de waarde van dat concept eindelijk begrijpt.
Het is interessant om te zien dat 4GL's jarenlang persona non grata zijn geweest, maar dat we nu toch onze moderne talen weer op 4GL's laten lijken. Misschien moeten we C# en VisualBasic weer 4GL's gaan noemen?
Rick F. van der Lans is onafhankelijk adviseur, een internationaal bekend spreker en auteur van diverse boeken, tevens gespecialiseerd in softwareontwikkeling, datawarehousing en internet.
10-02 Van Vliet: Zonder internet geen welvaart
06-02 De kijk van Van Eijk: Sleutels weg
01-02 Spoelstra spreekt: Het is helemaal geen crisis
27-01 Van Vliet: Geen e-bank, geen bonus!
23-01 De kijk van Van Eijk: Technologie is een risico
18-01 Spoelstra spreekt: Flut hackers
15-01 Van Vliet: Uit het web
02-01 De kijk van Van Eijk: Onvermijdelijke vooruitgang
28-12 Spoelstra spreekt: Het verschil
23-12 Van Vliet: Politie.nl kent geen cybercrime
10-02 Tester Four Oaks in Israëlische handen
10-02 Nieuwe software brengt Vitens in problemen
08-02 Nokia verplaatst smartphoneproductie naar India
08-02 'ICT-afdeling is te traag voor ontwikkeling apps'
06-02 Banometer: Topstart vacaturemarkt krijgt vervolg
06-02 Duitse PMCS.helpLine neemt Leidse MCH+ over
03-02 Siemens PLM Software introduceert Jack 7.1
03-02 Itemis betreedt Nederlandse markt via Warmer IT
01-02 Microsoft-partner Asapnet zet IT-University op
01-02 Kwaliteitscontroleur is nog geen testprofessional
|
|
Gemeenten en ICT besparingen
Sommige gemeenten wijzigen hun autonome ICT omgeving in een samenwerkingsverband met als doel het verlagen van ICT......

