Even een uitstapje naar een echte technische sessie. Alex Turner gaf een lezing over het gebruik van de Dynamic Language Runtime die (obviously) aan dynamic binding doet tijdens runtime in tegenstelling tot de CLR die aan static binding doet tijdens compileren.
Nu is C# een static language, waarom dan toch Dynamics (ala Python of Ruby) in C#. Het antwoord van Alex omvat drie redenen:
- om dynamische talen als Python en Ruby te kunnen gebruiken in .NET omgevingen
- om eenvoudiger te kunnen omgaan met dynamic object models zoals HTML DOM
- en om een meer natuurlijke interop met COM interfaces te hebben
Goede redenen lijkt me. Vervolgens kregen we een opsomming van hoe je Dynamic objecten in een statische taal zou kunnen embedden. Bij de vierde optie kregen we een happy face en dat is het dus geworden:
Dynamic d = GetDynamicObject();
string s = d[d.length – 1];
Hierbij zijn s en ‘1’ static elementen en d die als Dynamic wordt gedeclareerd een dynamisch object dat dus pas in runtime de binding krijgt. Het object kan dus van alles zijn hierin.
Voor wie geinteresseerd is in meer informatie. Stuur me even een berichtje voor de slides van deze sessie.
Geen opmerkingen:
Een reactie posten