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

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

Rozszerzanie funkcjonalności języka

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

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

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ż

Przypisy

  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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya