IronPython: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(22 versioni intermedie di 18 utenti non mostrate) | |||
Riga 1:
{{
|nome = IronPython
'''IronPython''' è un'implementazione del linguaggio di programmazione [[Python]] che mira a promuovere il [[Framework .NET]] e [[Mono]]. [[Jim Hugunin]] ha creato il progetto ed ha contribuito attivamente ad esso fino alla versione 1.0 che è stata distribuita il 5 settembre [[2006]].▼
|immagine = ironpython-logo.png
|autore = [[Jim Hugunin]]
|data = 5 settembre 2006
|versione = 2.7.5
|utilizzo = Scripting
|paradigmi = Procedurale, Funzionale, Oggetti
|tipizzazione = Forte
|sistema_operativo = Windows, Linux
|lingua = inglese
|licenza = Apache License 2.0
|sito_web = https://github.com/IronLanguages/ironpython2
}}
▲'''IronPython''' è un'implementazione del linguaggio di programmazione [[Python]]
Successivamente il progetto è stato sostenuto da un piccolo team di [[Microsoft]] che ha prodotto nel dicembre 2008 la versione 2.0 e lo ha portato avanti fino al rilascio della versione 2.7 Beta 1 nel novembre del 2010. Attualmente è gestito da un gruppo di volontari nel repository open-source CodePlex di Microsoft.
IronPython è scritto interamente in [[C#]], soltanto una piccola parte del suo codice è generato automaticamente dal linguaggio [[
Importante dire che IronPython è sostenuto dal
La
== Versioni ==
La versione 2.0, distribuita a dicembre [[2008]], e aggiornata 2.0.3 il 23 ottobre 2009, si rivolge [[CPython 2,5]]. IronPython 2.0.3 è compatibile fino al [[Framework.NET 3.0]].
Line 16 ⟶ 30:
== Silverlight ==
IronPython, supportato in [[Silverlight]], può essere utilizzato come un motore di scripting nel browser proprio come [[
Gli script IronPython, vengono passati come un semplice [[script]] in
Questa tecnologia è chiamata [[Gestalt]].
<
//DLR initiation script.
<script src="http://gestalt.ironpython.net/dlr-latest.js" type="text/javascript"></script>
Line 29 ⟶ 43:
window.Alert("Hello from Python")
</script>
</syntaxhighlight>
Lo stesso vale per [[IronRuby]]
Line 35 ⟶ 49:
== Licenze ==
Fino alla versione 0.6 IronPython è stato distribuito sotto la [[Licenza Creative Commons]], in seguito nel mese di agosto del [[2004]], IronPython è stato assorbito da [[Microsoft]] quindi è cambiata licenza. Con la versione 2.0 alpha la licenza è stata ancora una volta cambiata. Le ultime versioni sono state distribuite sotto [[licenza Apache 2.0]].
== Esempi ==
* {{cita web|http://blogs.msdn.com/b/hugunin/archive/2006/09/05/741605.aspx|Jim Hugunin's blog IronPython}}▼
Il seguente script IronPython manipola gli oggetti .NET Framework. Questo script può essere fornito da uno sviluppatore di applicazioni [[lato client]] di terze parti e passato al framework [[lato server]] tramite un'interfaccia. Si noti che né l'interfaccia né il codice lato server vengono modificati per supportare l'analisi richiesta dall'applicazione client.
* {{cita web|http://www.theregister.co.uk/2010/10/22/microsoft_kills_dynamic_languages_projects/|Microsoft cuts loose IronPython}}▼
* [http://ironpython.codeplex.com/wikipage?title=Differences&referringTitle=Home&ProjectName=ironpython http://ironpython.codeplex.com] Differenze tra versioni.▼
<syntaxhighlight lang="python">
* [http://ironpython.codeplex.com/wikipage?title=IP26RC1VsCPy26Perf&referringTitle=Home&ProjectName=ironpython http://ironpython.codeplex.com] Performance Report▼
from BookService import BookDictionary
booksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()
if "Booker Prize" in book.Author.MajorAwards]
</syntaxhighlight>
In questo caso, supponiamo che [[.NET Framework]] implementi una classe, BookDictionary, in un modulo chiamato BookService e pubblichi un'interfaccia in cui è possibile inviare ed eseguire gli script IronPython.<ref>{{Cita libro|titolo=Learning Python, 5th Edition|autore=Mark Lutz|ISBN=978-1449355739|url=https://python.engineering/learning-python-5th-edition/|lingua=en|accesso=8 novembre 2021|dataarchivio=8 ottobre 2021|urlarchivio=https://web.archive.org/web/20211008150419/https://python.engineering/learning-python-5th-edition/|urlmorto=sì}}</ref>
Questo script, quando inviato a quell'interfaccia, scorrerà l'intero elenco di libri gestiti dal framework e selezionerà quelli scritti dagli autori vincitori del Booker Prize.
La cosa interessante è che la responsabilità di scrivere l'analisi effettiva risiede nello sviluppatore lato client. Le richieste per lo sviluppatore lato server sono minime, essenzialmente fornendo solo l'accesso ai dati mantenuti dal server. Questo modello di progettazione semplifica notevolmente la distribuzione e la manutenzione di framework applicativi complessi.<ref name=dot-net-example>{{cita web|url = http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid|titolo=Using .NET objects from IronPython in Resolver One|lingua=en|accesso=18 novembre 2008|urlarchivio=https://web.archive.org/web/20090114131717/http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid|urlmorto=si}}</ref>
Lo script seguente usa .NET Framework per creare un semplice messaggio Hello World.
<syntaxhighlight lang="python">
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")
</syntaxhighlight>
== Note ==
<references />
== Bibliografia ==
▲* {{cita web|
▲* {{cita web|
▲* {{en}}[
▲* {{en}}[
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Portale|informatica}}
[[Categoria:Python]]
[[Categoria:
|