IronPython

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

IronPython představuje implementaci programovacího jazyka Python v prostředí .NET a Mono. Autorem je Jim Hugunin, který je rovněž původním tvůrcem javovské implementace jazyka Python zvané Jython (historicky starší, než IronPython). IronPython je napsán celý v programovacím jazyce C#. Souvislost mezi zmíněnými dvěma implementacemi pravděpodobně vyplývá i ze syntaktické podobnosti jazyků Java a C#.

Implementaci IronPython autor vyvíjí pro firmu Microsoft, která je tvůrcem platformy .NET i jazyka C#. Verze IronPython 2.0 byla uvolněna 10. prosince 2008 a funkčně realizuje vlastnosti Python verze 2.5. Jinými slovy to znamená, že IronPython dosáhl vlastností hlavní implementace Pythonu. Verze IronPython 2.7 byla uvolněna 12. března 2011 a implementuje všechny vlastnosti jazyka Python 2.7, což je poslední plánovaná hlavní verze série Python 2.x. Verze Python 2.6 a 2.7 vznikly jako přechodové verze mezi Python 2.x a Python 3.x. Ve svém důsledku to znamená, že IronPython 2.7 implementuje celou řadu syntaktických konstrukcí a dalších vlastností z jazyka Python 3.x (Python 2.7.1 byl uvolněn v listopadu 2010, Python 3.2 v únoru 2011).

Licence byla změněna na Microsoft Public License. Proti dřívějším licencím se jeví jako příklon k Open Source.

Rozšiřovatelnost rozhraní[editovat | editovat zdroj]

Jedna z klíčových výhod, kterou IronPython přináší, spočívá v možnosti jeho využití v roli vrstvy pro rozšiřování funkčnosti aplikačního rámce (application framework) napsaného v nějakém jazyce prostředí .NET. Interpret jazyka IronPython může být poměrně jednoduše zabudován do existujícího aplikačního rámce .NET. Jakmile tomu tak je, mohou koncoví vývojáři používat pro interakci s objekty aplikačního rámce .NET skripty, které jsou napsány v IronPythonu. Tím lze rozšiřovat funkčnost rozhraní aplikačního rámce aniž bychom museli měnit základní kód .NET.

IronPython široce využívá takzvané reflexe. Jakmile získáme odkaz na .NETový objekt, dojde k automatickému importu typů a metod, které má tento objekt k dispozici. Díky tomu se s .NETovými objekty pracuje v IronPythonovských skriptech velmi intuitivně.

Externí odkazy[editovat | editovat zdroj]