Microsoft DevDays 2008 special

Videoreportage: Sfeerimpressie DevDays 2008

Hier had een filmpje kunnen staan maar je browser heeft blijkbaar geen flash-support of javascript is uitgeschakeld...

Achtergrondartikel: F# wordt geen mainstream taal

 

Een uur bleek te weinig om een eerste blik te gunnen op de mogelijkheden van F#, de functionele taal waaraan Microsoft werkt. Toch heeft Thomas Huijer van Oosterkamp Training wel weten over te brengen dat sommige, vooral mathematische opdrachten, veel eleganter in F# zijn te programmeren dan in C#.

Een volle bak; blijkbaar zijn de bezoekers van DevDays nieuwsgierig naar die nieuwe programmeertaal waaraan Microsoft werkt. Halverwege haken sommigen alweer af; het praktisch nut blijft nog te lang in de kristallen bol hangen.
Huijer waarschuwt al dat het een project is van Microsoft om te bekijken of beginselen uit deze functionele taal zijn te gebruiken in de iteratieve talen C# of Visual Studio. “Je kunt het downloaden op Microsoft Research. Maar ga er wel van uit dat je bijvoorbeeld syntax errors krijgt en nog onvolledige compilers tegen komt. Toch is het goed om ermee kennis te maken, want functioneel programmeren vereist een heel andere manier van denken dan objectgeoriënteerd programmeren.”
Een computer voert berekeningen uit in kleine, sequentiële stapjes. Hij werkt een waslijstje met opdrachten in volgorde af. Een iteratief programma beschrijft al die opdrachten. Dat is bij een functioneel programma niet het geval. Hier is aan te geven dat het programma een bepaalde functie moet uitvoeren. “En een bepaalde functie kan samengesteld zijn uit andere functies. Het is zelfs mogelijk broncode uit een ander programma in een functie op te nemen. Eigenlijk werk je niet meer met waarden. De toepassing zie ik het meest in programma's waar heel veel moet worden gerekend. Functioneel programmeren heeft dan ook een wiskundige achtergrond. Denk aan paralle computing en het parsen van data”, aldus Huijer.

Sterke compiler
Hoe mooi een functioneel programma ook is, uiteindelijk moet het toch leiden tot opdrachten die de computer tot een goed einde weet te brengen. Omdat F# op een hoger niveau werkt, vraagt het nogal wat van de compiler om het geheel om te zetten naar IL-code (Intermediate Language). Dit roept bij het publiek de vraag op of dit gevolgen heeft voor de performance, maar volgens Huijer lijden de prestaties niet onder een functioneel programma.
Huijer ziet in F# een aantal sterke punten die niet of nauwelijks aanwezig zijn in bijvoorbeeld C#. “Neem het schrijven van DSL's. Dat is in C# veel moeilijker te programmeren. Ik denk dat uiteindelijk de pluspunten van F# terecht komen in C# en Visual Studio, zodat je daar een mix krijgt van mogelijkheden. Je kunt bijvoorbeeld veel makkelijker interfaces definiëren. F# op zichzelf wordt geen mainstream taal.”
Op dat moment komt de vrouwelijke 'zaalwachter' naar hem toe om hem de mond te snoeren; zijn tijd is al ruimschoots opgebruikt. Het publiek tast na afloop nog in het duister: wat kun je er nou mee en is dat beter dan in C#?
Dit onderwerp zal ongetwijfeld nog vaker aan bod komen.

 

 

 

VNU Media logo Hosted by True

© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van: