IronPython

IronPython
Logo języka IronPython
Logo języka
Pojawienie się

5 września 2006[1]

Paradygmat

wieloparadygmatowy (obiektowy, imperatywny, funkcyjny)

Typowanie

dynamiczne

Aktualna wersja stabilna

3.4.2
(20 grudnia 2024) [±]

Twórca

Jim Hugunin

Licencja

Apache License[2]

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

wieloplatformowy

Strona internetowa

IronPython – dynamiczny język programowania napisany w języku C# i stworzony na platformie programistycznej .NET Framework 2.0. Jest to pełnoprawna implementacja języka Python stworzona na bazie specyfikacji Common Language Infrastructure (CLI) i wykonywana pod kontrolą środowiska uruchomieniowego Common Language Runtime (CLR). Jego twórcą jest Jim Hugunin, który jest również twórcą implementacji Jython, napisanej w języku Java i uruchamianej pod kontrolą maszyny wirtualnej Javy.

Do najważniejszych cech implementacji IronPython należy zaliczyć jej pełną integrację z platformą .NET Framework, co wiąże się z możliwością wykorzystania olbrzymiej ilości standardowych i zewnętrznych bibliotek stworzonych dla tej platformy, przy zachowaniu pełnej zgodności z samym językiem Python. Implementacja ta odznacza się dodatkowo doskonałą wydajnością oraz posiada zaimplementowaną w kodzie zarządzanym większą część bibliotek standardowych dostarczanych wraz z językiem Python. IronPython posiada również wsparcie w sztandarowym środowisku programistycznym firmy Microsoft, czyli Visual Studio. Implementację IronPython można wykorzystywać również, tworząc rozwiązania w technologii internetowej Silverlight.

Rozwój implementacji IronPython przyczynił się do powstania uniwersalnego środowiska uruchomieniowego dla dynamicznych języków programowania o nazwie Dynamic Language Runtime (DLR), który stał się zarówno integralną częścią platformy .NET Framework 4.0, jak i samodzielnym, otwartym dla społeczności, projektem typu Open Source. Innym znanym projektem stworzonym na bazie środowiska DLR jest IronRuby, będący implementacja języka Ruby.

IronPython – przykłady integracji z platformą .NET Framework

[edytuj | edytuj kod]

Poniższe przykłady ilustruję specyficzne dla implementacji IronPython przykłady użycia języka.

Rozszerzanie funkcjonalności języka

[edytuj | edytuj kod]

W implementacji IronPython, własne metody, klasy, czy komponenty tworzy się tak samo łatwo jak w każdym innym, wspieranym przez tę platformę, języku programowania. Innymi słowy, każdy komponent stworzony np. w języku C# da się wykorzystać z poziomu języka IronPython bez najmniejszego problemu, a w dodatku bez żadnych dodatkowych warstw pośredniczących, czy konwersji typów danych, co ma bardzo pozytywny wpływ na wydajność i łatwość ich tworzenia.

Kod prostego komponentu w języku C#:

using System;  namespace CSharpLib {     public class SampleClass     {         public string SayHello(string name)         {             return String.Format("Hello, {0}!", name);         }     } } 

Przykład użycia powyższego komponentu z poziomu języka IronPython:

import clr clr.AddReference("CSharpLib.dll") from CSharpLib import SampleClass  sc = SampleClass() print sc.SayHello("IronPython") 

Wykorzystanie bibliotek standardowych platformy .NET

[edytuj | edytuj kod]

IronPython umożliwia łatwe wykorzystanie bibliotek standardowych dostarczanych wraz z platformą programistyczną .NET Framework.

Przykład:

import clr clr.AddReference('System.Windows.Forms') from System.Windows.Forms import (Application, Form)  form = Form( Text = 'Hello, Windows Forms!' ) Application.Run(form) 

Osadzanie języka IronPython

[edytuj | edytuj kod]

Implementacja IronPython dostarcza również wiele mechanizmów umożliwiających osadzanie i wykonywanie tego języka we własnych programach i aplikacjach.

Przykład:

using IronPython.Hosting;  namespace PythonHostingSamples {     class Program     {         static void Main(string[] args)         {             var engine = Python.CreateEngine();             engine.CreateScriptSourceFromString("print 'hello IronPython'"). Execute();         }     } } 

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. IronPython – Download: 1.0.0 [online], ironpython.codeplex.com [dostęp 2017-11-24] (ang.).
  2. Apache License, v2.0. [dostęp 2011-01-11]. [zarchiwizowane z tego adresu (2011-07-08)].

Linki zewnętrzne

[edytuj | edytuj kod]