IronPython: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Overlinking su giorni e mesi dell'anno; modifiche estetiche |
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 |
||
(26 versioni intermedie di 19 utenti non mostrate) | |||
Riga 1:
{{
|nome = IronPython
'''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]].▼
|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
▲IronPython è scritto interamente in [[C#]], soltanto una piccola parte del suo codice è generato automaticamente dal linguaggio [[python]].
▲Importante dire che IronPython è sostenuto dal [[DLR]] ovvero il Dynamic Language Runtime, ed ha una biblioteca che gira in [[Common Language Infrastructure]] che fornisce la tipizzazione dinamica e la spedizione del metodo dinamico.
▲La [[DLR]] è parte del [[Framework .NET]] ed è anche una parte del tronco build di Mono. Il DLR può anche essere utilizzato come una libreria di implementazioni.
== Versioni ==
La versione 2.0,
La versione 2.6,
La 2.7 è stata
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 [[
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 30 ⟶ 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:
|