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
 
(11 versioni intermedie di 8 utenti non mostrate)
Riga 17:
 
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''[[Integrazione continua|build branch]]'' di Mono. Il DLR può anche essere utilizzato come una libreria di implementazioni. L'idea alla base dei linguaggi Iron* era di avere un ambiente di scripting per creare applicazioni personalizzabili via script, o per creare dei [[Domain-specific language|DSL]] interni.
 
== 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 50 ⟶ 51:
 
== Esempi ==
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.
 
<syntaxhighlight lang="python">
Line 59 ⟶ 60:
</syntaxhighlight>
 
In questo caso, supponiamo che [[.NET Framework|.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>{{citeCita booklibro|titletitolo=Learning Python, 5th Edition|authorautore=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>{{citecita 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>
| url = http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid
| title = Using .NET objects from IronPython in Resolver One
| access-date = 2008-11-18
| archive-url = https://web.archive.org/web/20090114131717/http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid
| archive-date = 2009-01-14
| url-status = dead
}}</ref>
 
Lo script seguente usa .NET Framework per creare un semplice messaggio Hello World.
Line 82 ⟶ 76:
</syntaxhighlight>
 
== ReferenzeNote ==
<references />
* {{cita web|https://blogs.msdn.com/b/hugunin/archive/2006/09/05/741605.aspx|Jim Hugunin's blog IronPython}}
 
* {{cita web|https://www.theregister.co.uk/2010/10/22/microsoft_kills_dynamic_languages_projects/|Microsoft cuts loose IronPython}}
== Bibliografia ==
* [https://ironpython.codeplex.com/wikipage?title=Differences&referringTitle=Home&ProjectName=ironpython http://ironpython.codeplex.com] Differenze tra versioni.
* {{cita web|https://blogs.msdn.com/b/hugunin/archive/2006/09/05/741605.aspx|Jim Hugunin's blog IronPython|lingua=en}}
* [https://ironpython.codeplex.com/wikipage?title=IP26RC1VsCPy26Perf&referringTitle=Home&ProjectName=ironpython http://ironpython.codeplex.com] Performance Report
* {{cita web|https://www.theregister.co.uk/2010/10/22/microsoft_kills_dynamic_languages_projects/|Microsoft cuts loose IronPython|lingua=en}}
* {{en}}[https://ironpython.codeplex.com/wikipage?title=Differences&referringTitle=Home&ProjectName=ironpython http://ironpython.codeplex.com] {{Webarchive|url=https://web.archive.org/web/20160304120110/http://ironpython.codeplex.com/wikipage?title=Differences&referringTitle=Home&ProjectName=ironpython |date=4 marzo 2016 }} Differenze tra versioni.
* {{en}}[https://ironpython.codeplex.com/wikipage?title=IP26RC1VsCPy26Perf&referringTitle=Home&ProjectName=ironpython http://ironpython.codeplex.com] {{Webarchive|url=https://web.archive.org/web/20160505230928/http://ironpython.codeplex.com/wikipage?title=IP26RC1VsCPy26Perf&referringTitle=Home&ProjectName=ironpython |date=5 maggio 2016 }} Performance Report
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Portale|informatica}}
 
[[Categoria:Python]]