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 |
||
(31 versioni intermedie di 22 utenti non mostrate) | |||
Riga 1:
{{Linguaggio di programmazione
'''IronPython''' è un'implementazione del linguaggio di programmazione [[Python]] intenta a promuovere il [[Framework .NET]] e [[Mono]] . [[Jim Hugunin]] quando ha creato il progetto ed ha contribuito attivamente fino alla versione 1.0 che è stata rilasciata il [[5 settembre]] [[2006]].▼
|nome = IronPython
|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, rilasciata 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]].▼
▲== Versioni ==
La versione 2.6, rilasciata l' 11 dicembre 2009 e aggiornato il 12 aprile 2010, si rivolge soltanto al CPython 2.6. Mentre la versione di IronPython 2.6.1 è compatibile a livello binario solo con [[Framework.NET 4.0]]. Però IronPython 2.6.1 deve essere compilato dai sorgenti per funzionare su [[Framework.NET 3.0]]. Iron Python 2.6.2, rilasciata a metà ottobre 2010, anch'essa è compatibile a livello binario ma con entrambi [[Framework.NET 3.0]] e [[Framework.NET 4.0]].▼
▲La versione 2.0,
▲La versione 2.6,
La 2.7 è stata rilasciata a metà marzo 2011 e si rivolge CPython 2.7., anche la 2.7.1 è stata rilasciata il 21 ottobre 2011 e si rivolge anch'essa a CPython 2.7..▼
▲La 2.7 è stata
Quest'ultima versione 2.7.2.1 è stata rilasciata il 13 marzo 2012, ed ha il supporto per le librerie in formato zip e gli eseguibili compilati.▼
▲Quest'ultima versione 2.7.2.1 è stata
==Silverlight==▼
IronPython, supportato in [[Silverlight]], può essere utilizzato come un motore di scripting nel browser proprio come [[javascript]].▼
▲== Silverlight ==
Gli script IronPython, vengono passati come un semplice [[script]] in Javascript, ecco come: <script> -tag. In più è anche possibile modificarne il marckup [[XAML]].▼
▲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]].
▲<source lang="javascript">
//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]]
== Licenze ==
Fino alla versione 0.6 IronPython è stato
== Esempi ==
* [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.
* [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 ==
▲*
▲*
▲* {{en}}[
▲* {{en}}[
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Portale|informatica}}
[[Categoria:Python
[[Categoria:Linguaggi di programmazione]]
|