Managed hosting door True

Microsoft breidt C# uit

Xen en de kunst van het programmeren

 

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.

  
Microsoft's COM- en Soap-pionier Don Box lichtte in zijn presentatie op de XML-conferentie in Philadelphia afgelopen december voor het eerst een tipje van de sluier op over Xen. "Talen moeten zich ontwikkelen of verdwijnen", aldus Box. "Bij XML en webdiensten verdwijnt datamanipulatie in het gewone programmeren, maar de huidige talen zijn geoptimaliseerd voor objecten, niet voor data." Hij zei ook: "als webdiensten er net zo uit gaan zien als Corba (Common Object Request Broker Architecture - de tegenhanger van Microsofts eigen Component Object Model-technologie), missen we een grote kans. De ontwikkeling van een op data georiënteerde ontwikkeltaal is een van de interessantste innovatiegebieden van de komende vijf jaar."
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>

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/1419022). © Jaarbeurs IT Media.

?


Lees meer over


 
Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×