IronPython

 
11 november 2007

Het afgelopen weekend even zitten spelen met IronPython. Dat Python een leuke en krachtige taal is dat wist ik. Wat mij bijzonder positief verraste was het werk dat Microsoft rondom IronPython heeft verzet. Dat is kortweg erg oké te noemen.

Met IronPython krijg je de kracht en luxe van een dynamische taal en daar bovenop het .NET framework. Daarmee is IronPython een volwaardige taal op het .NET platform geworden. Om je een gevoel te geven van de integratie heb ik hieronder een klein voorbeeld toegevoegd. Het eerste wat ik heb gedaan is IronPython gedownload vanaf CodePlex. Je krijgt dan ook de interactieve omgeving van IronPython. Om direct met de deur in huis te vallen heb ik direct de “CLR” module geimporteerd. Via de CLR kunnen de classes uit het framework worden benaderd. In onderstaande code heb ik simpel met het framework zitten spelen :-)

 IronPython

Het resultaat is dat direct het venster getoond wordt. Je bent dus echt interactief met het framework aan het spelen.

image

Dit is natuurlijk een zeer simpel voorbeeld. Laat je fantasie gaan en dan snap je direct wat je met deze taal kunt doen in bijvoorbeeld prototyping. Je schrijft een domeinmodel. Vervolgens ga je direct met het model werken door letterlijk met de objecten uit het model te communiceren.

Natuurlijk heeft Microsoft IronPython niet alleen ontwikkeld om te prototypen. De taal is ontwikkeld om te werken op het nieuwe platform Silverlight. Afgelopen week sprak Mahesh Prakriya op de TechEd. Hij gaf duidelijk aan dat de combinatie IronPython en Silverlight Microsoft’s antwoord is op Ruby Onrails . Wat dat betreft is het in ieder geval een zeer interessant alternatief.


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Development

Tags: ,


Reactie

  • Gerard Braad schreef:

    Helaas wordt in het hierboven getoonde voorbeeld de GUI thread geblokkeerd door de console command callback. Dit probleem is simpel op te lossen door een aparte thread op te starten met daarin het form en dan alle functies als invoke uit te voeren op dat venster via de ConsoleCommandDispatcher (namespace IronPython.Hosting.PythonEngine).

    De nieuwe release van IronPython 2.0 zal gebaseerd zijn op de DLR (Dynamic Language Runtime). De Alpha 6 hiervan is beschikbaar… plus dat dit in Silverlight 2.0 Alpha als een van de dynamic talen wordt gebruikt.

    Persoonlijk maak ik veel gebruik van IronPython om domeinmodellen te testen en aan te passen op logisch gebruik. Zeker als testen vind ik het nu een onmisbare tool.

    Geplaatst op 21 november 2007 om 10:47 Permalink