Microsoft Research werkt in zijn laboratorium aan een uitbreiding op de programmeertaal C#. De nieuwe taal draagt de codenaam Xen en is een selectieve combinatie van de eigenschappen van CLR (Common Language Runtime), XML en SQL. Voor de ontwikkeling van de taal werkt Microsoft samen met de Universiteit van Cambridge in Engeland.
De softwarereus was al eerder bezig met de ontwikkeling van een XML-ontwikkeltaal die X# werd genoemd. Toen dat nieuws bekend werd, vielen de berichten rondom X# direct stil. Sommigen waren ervan overtuigd dat Microsoft het project gestopt had, maar de taal blijkt springlevend en gaat verder onder de naam Xen. "We vonden dat de naam X# teveel verwarring opleverde met C#", aldus Erik Meijer, technisch directeur van de Webdata-group bij het softwarebedrijf. Daar werkt hij momenteel aan de ontwikkeling van programmeertalen en systemen voor data-integratie in die talen. Voordat hij bij Microsoft in dienst kwam, was hij professor aan de Universiteit van Utrecht.
Cirkels, driehoeken en rechthoeken
Xen brengt drie aparte, maar integrale componenten van ontwikkeling bij elkaar in .Net. De ontwikkelaars van de nieuwe programmeertaal gebruiken een geometrische metafoor om dit duidelijk te maken: "Het is een middel om te programmeren met cirkels, driehoeken en rechthoeken." De cirkel stelt het opjectgeoriënteerd programmeren voor. In .Net zijn dat C# en de CLR. De CLR zorgt ervoor dat de code wordt uitgevoerd, of die nu in C#, VB of F# is geschreven. De driehoek stelt de data in een hiërarchische structuur voor, namelijk XML. Programmeren met XML in C# is nu nog vrij omslachtig. De api’s die nodig zijn om de datastructuren van XML te benaderen maken de code verwarrend en kunnen leiden tot veiligheidslekken en logische problemen. De rechthoek staat voor relationele data, of data die is opgeslagen in tabellen in een database. De huidige code is vaak doorspekt met vage ‘strings’ die SQL bevatten en overbodige ADO. Net api-aanroepen. Volgens Microsoft bevat Xen dergelijke constructies om relationele data te manipuleren direct in de taal.
De taal experimenteert met verschillende manieren om de dreigende wanverhouding tussen relationeel, objectgeorienteerd en XML (ROX) ontwikkelen te ondervangen door concepten en ‘operators’ uit de relationele en XML-wereld (vooral W3C XML Schema – gedeelde woordenlijsten, vastgesteld door het World Wide Web Consortium) toe te voegen aan een objectgeoriënteerde programmeertaal (zie kader voor voorbeeld).
Volgens de ontwikkelaars van de taal moet het gebruik van Xen leiden tot simpeler ontwikkelen en verhoogde productiviteit. De programmeertaal is nog steeds in het stadium van ontwikkeling in de onderzoekslaboratoria van Microsoft en de Universiteit van Cambridge.
Later dit jaar brengt Microsoft een vernieuwde versie uit van C# met zijn Whidbey Visual Studio, maar het lijkt niet aannemelijk dat daar al elementen uit Xen in worden opgenomen. Het is nog niet duidelijk wanneer de nieuwe programmeertaal algemeen beschikbaar komt.< BR>