Zum Inhalt springen

„IronPython“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Änderungen von 87.138.131.150 (Diskussion) auf die letzte Version von 77.56.53.183 zurückgesetzt
Weblinks: nicht existierende Links entfernt
 
(24 dazwischenliegende Versionen von 20 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Programmiersprache
{{Infobox Programmiersprache
| Name = IronPython
| Name =
| Logo =
| Logo = [[Datei:IronPython 3 logo.svg|64px]]<br />[[Datei:Ironpython-logo.png|200px]]
| Beschreibung =
| Beschreibung =
| Paradigma =
| Paradigma =
| Erscheinungsjahr = 2006
| Erscheinungsjahr = <!-- Wikidata -->
| Entwickler = Jim Hugunin, [[Microsoft]]
| Entwickler = Jim Hugunin, [[Microsoft]]
| AktuelleVersion = 2.7.5<ref>[http://ironpython.codeplex.com/releases/view/169382 - Release: 2.7.5]</ref>
| AktuelleVersion = <!-- Wikidata -->
| AktuelleVersionFreigabeDatum = 6. Dezember 2014
| AktuelleVersionFreigabeDatum = <!-- Wikidata -->
| AktuelleVorabVersion = 3.4.0-beta1<ref>[https://github.com/IronLanguages/ironpython3/releases/tag/v3.4.0-beta1 Release 3.4.0-beta1] auf github.com</ref>
| Typisierung =
| AktuelleVorabVersionFreigabeDatum = 01. Mai 2022
| Beeinflusst_von =
| Betriebssystem = [[Plattformunabhängigkeit|Plattformunabhängig]]
| Typisierung =
| Lizenz = [[Apache-Lizenz|Apache-Lizenz 2.0]]
| Beeinflusst_von =
| Website = [http://ironpython.net/ ironpython.net]
| Betriebssystem = [[Plattformunabhängigkeit|Plattformunabhängig]]
| Lizenz = [[Apache-Lizenz|Apache-Lizenz 2.0]]
| Website = [http://ironpython.net/ ironpython.net]
}}
}}


'''IronPython''' ist eine Implementierung der Programmiersprache [[Python (Programmiersprache)|Python]] für die [[Common Language Infrastructure]] (CLI) bzw. damit kompatible [[Laufzeitumgebung]]en wie z.&nbsp;B. [[Mono-Projekt|Mono]].
'''IronPython''' ist eine Implementierung der Programmiersprache [[Python (Programmiersprache)|Python]] für die [[Common Language Infrastructure]] (CLI) bzw. damit kompatible [[Laufzeitumgebung]]en wie z.&nbsp;B. [[Mono (Software)|Mono]].


IronPython ist vollständig in [[C-Sharp|C#]] geschrieben und wird im Rahmen der [[Apache-Lizenz|Apache-Lizenz 2.0]] bereitgestellt. IronPython ist im Sprachumfang kompatibel zu [[CPython]] 2.7, wird aber ohne die Python-Standard-Bibliothek (siehe Weblinks) ausgeliefert. Es lassen sich jedoch sämtliche Module einer CPython-Installation laden, solange diese keine kompilierte Bibliotheken benötigen. Zugriff auf [[.NET]]-Assemblies ist uneingeschränkt möglich.
IronPython ist vollständig in [[C-Sharp|C#]] geschrieben und wird im Rahmen der [[Apache-Lizenz|Apache-Lizenz 2.0]] bereitgestellt. IronPython ist im Sprachumfang kompatibel zu [[CPython]] 2.7, wird aber ohne die Python-Standard-Bibliothek ausgeliefert. Es lassen sich jedoch sämtliche Module einer CPython-Installation laden, solange diese keine kompilierten Bibliotheken benötigen. Zugriff auf [[.Net-Framework|.NET]]-Assemblies ist uneingeschränkt möglich.


In IronPython erstellte Programme lassen sich sowohl [[Interpreter|interpretieren]] als auch [[Just-in-time-Compilierung|just-in-time]] in ausführbare Dateien übersetzen. Wie in .NET üblich, kann man mit IronPython auf Bibliotheken zugreifen die in anderen .NET-Sprachen geschrieben wurden, ebenso wie diese mit Einschränkungen auf in IronPython geschriebene Bibliotheken zugreifen können.
In IronPython erstellte Programme lassen sich sowohl [[Interpreter|interpretieren]] als auch [[Just-in-time-Kompilierung|just-in-time]] in ausführbare Dateien übersetzen. Wie in .NET üblich, kann man mit IronPython auf Bibliotheken zugreifen, die in anderen .NET-Sprachen geschrieben wurden, ebenso wie diese mit Einschränkungen auf in IronPython geschriebene Bibliotheken zugreifen können.


Die IronPython-Umgebung kann als eine Skriptsprache zum Automatisieren einer .NET-Anwendung genutzt werden. Dabei wird die Laufzeitumgebung in die .NET-Anwendung eingebunden. Es können beliebige Objekte an das Skript übergeben werden, was z.&nbsp;B. für Spieleerweiterungen oder [[Plug-in]]-Entwicklungen sinnvoll ist.
Die IronPython-Umgebung kann als eine Skriptsprache zum Automatisieren einer .NET-Anwendung genutzt werden. Dabei wird die Laufzeitumgebung in die .NET-Anwendung eingebunden. Es können beliebige Objekte an das Skript übergeben werden, was z.&nbsp;B. für Spieleerweiterungen oder [[Plug-in]]-Entwicklungen sinnvoll ist.
Zeile 91: Zeile 93:
== Weblinks ==
== Weblinks ==
* [http://ironpython.net/ Offizielle Website]
* [http://ironpython.net/ Offizielle Website]
* [http://ironpython.codeplex.com/ IronPython] auf [[Codeplex]]
* [https://github.com/IronLanguages/ironpython2 IronPython] auf [[GitHub]]
* [http://www.ironpython.info IronPython Cookbook] (englisch)
* [http://www.voidspace.org.uk/ironpython/winforms/index.shtml Tutorial Serie über IronPython und Windows Forms] (englisch)
* [http://www.freiesmagazin.de/mobil/freiesMagazin-2012-07-bilder.html#12_07_ironpython Artikel über IronPython im freiesMagazin 07/2012] (deutsch)
* [http://www.freiesmagazin.de/mobil/freiesMagazin-2012-07-bilder.html#12_07_ironpython Artikel über IronPython im freiesMagazin 07/2012] (deutsch)
* [http://docs.python.org/library/ The Python Standard Library]
* [http://docs.python.org/library/ The Python Standard Library]

Aktuelle Version vom 2. April 2024, 21:42 Uhr

IronPython

Basisdaten
Erscheinungsjahr: 5. September 2006
Designer: Jim Hugunin
Entwickler: Jim Hugunin, Microsoft
Aktuelle Version 3.4.2[1] (20. Dezember 2024)
Aktuelle Vorabversion: 3.4.0-beta1[2]  (01. Mai 2022)
Betriebssystem: Plattformunabhängig
Lizenz: Apache-Lizenz 2.0
ironpython.net

IronPython ist eine Implementierung der Programmiersprache Python für die Common Language Infrastructure (CLI) bzw. damit kompatible Laufzeitumgebungen wie z. B. Mono.

IronPython ist vollständig in C# geschrieben und wird im Rahmen der Apache-Lizenz 2.0 bereitgestellt. IronPython ist im Sprachumfang kompatibel zu CPython 2.7, wird aber ohne die Python-Standard-Bibliothek ausgeliefert. Es lassen sich jedoch sämtliche Module einer CPython-Installation laden, solange diese keine kompilierten Bibliotheken benötigen. Zugriff auf .NET-Assemblies ist uneingeschränkt möglich.

In IronPython erstellte Programme lassen sich sowohl interpretieren als auch just-in-time in ausführbare Dateien übersetzen. Wie in .NET üblich, kann man mit IronPython auf Bibliotheken zugreifen, die in anderen .NET-Sprachen geschrieben wurden, ebenso wie diese mit Einschränkungen auf in IronPython geschriebene Bibliotheken zugreifen können.

Die IronPython-Umgebung kann als eine Skriptsprache zum Automatisieren einer .NET-Anwendung genutzt werden. Dabei wird die Laufzeitumgebung in die .NET-Anwendung eingebunden. Es können beliebige Objekte an das Skript übergeben werden, was z. B. für Spieleerweiterungen oder Plug-in-Entwicklungen sinnvoll ist.

Eine Ausgabe ohne .NET-Bibliothek:

print "Hallo Welt!"

Das gleiche Beispiel, diesmal mit einer „internen“ .NET-Bibliothek:

from System import Console

Console.WriteLine("Hallo Welt!")

Und einmal mit Hilfe einer „externen“ .NET-Bibliothek, wobei die MyLib.dll in einer beliebigen anderen .NET-Sprache (z. B. C#, Visual Basic .NET oder C++/CLI) geschrieben sein kann:

import clr
clr.AddReferenceToFile("MyLib.dll")
from MyLib import Out

Out.Print("Hallo Welt!")

IronPython in C# einbinden (z. B. als Taschenrechner):

using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

public class Eval
{
    public static void Main(string[] args)
    {
        ScriptEngine se = Python.CreateEngine();
        Console.WriteLine(se.Execute(args[0]));
    }
}

Angenommen das C#-Programm liegt als eval.exe kompiliert vor und die IronPython-Laufzeitbibliotheken IronPython.dll und IronMath.dll (z. B. in demselben Verzeichnis) sind vorhanden, können beliebige Python-Ausdrücke ausgewertet werden:

 C:\> eval.exe 2+2
 4

 C:\> eval.exe 2**3
 8

 C:\> eval.exe 5%3
 2

In einem Tutorial, das mit dem IronPython-Paket mitgeliefert wird, ist ein Beispiel zu sehen, wie IronPython als Skriptsprache für C# benutzt werden kann.

  • Python, die Programmiersprache Python
  • Jython, Java-Implementierung der Programmiersprache Python
  • PyPy, Implementierung der Programmiersprache Python in Python selbst
  • Boo, Implementierung der Python-ähnlichen Programmiersprache Boo für .NET

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release 3.4.2. 20. Dezember 2024 (abgerufen am 24. Dezember 2024).
  2. Release 3.4.0-beta1 auf github.com