Lawrence

Twist again
posts - 73, comments - 168, trackbacks - 37

ironpython

IronPython in Action, considerazioni finali

Sono finalmente giunto alla fine del PDF beta del libro e devo dire che l'ho trovato davvero pieno di contenuti interessanti. È sicuramente uno splendido esempio di interazioni tra mondi che fino a non molto tempo fa si pensava completamente disconnessi. Ci sono vantaggi e svantaggi sia nel mondo dei linguaggi statici che in quello dei linguaggi dinamici (io preferisco questi ultimi) e non è questa la sede per affrontare questo discorso ma sicuramente questo libro mostra una serie di scenari non tradizionalmente contemplati che possono tornare molto utili soprattutto nella programmazione Windows lato desktop. I post di questa serie, oltre al...

posted @ Sunday, January 18, 2009 4:28 PM | Feedback (2) | Filed Under [ ironpython ]

IronPython in Action, embedding dell'IronPython engine

L’ultimo capitolo, il 15, riguarda l’embedding del runtime di IronPython all’interno di applicazioni C#/VB.NET e l’interazione con esso. I post precedenti sono: estendere IronPython, Silverlight, accesso ai dati e web services, ASP.NET, system administration, WPF, protocolli e metaprogrammazione, testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. L’embedding di IronPython è sicuramente un comodo modo per fornire un ambiente di scripting ad una applicazione esistente, estenderla con plugin o aumentare l’integrazione fra vari linguaggi. Ci sono vari modi per fare l’embedding di IronPython. Eseguibile custom È...

posted @ Sunday, January 18, 2009 4:09 PM | Feedback (0) | Filed Under [ ironpython ]

IronPython in Action, estendere IronPython

Con il capitolo 14 comincia la quarta e ultima parte del libro che va nei dettagli dell’interazione tra IronPython e il resto di .NET. Questo capitolo tratta l’estensione di IronPython tramite linguaggi come C# e VB.NET. I post precedenti sono: Silverlight, accesso ai dati e web services, ASP.NET, system administration, WPF, protocolli e metaprogrammazione, testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. IronPython è facilmente estendibile da C# e ci sono tecniche per esporre API Python friendly. Tecnicamente qualsiasi linguaggio della piattaforma .NET è...

posted @ Sunday, January 18, 2009 1:45 PM | Feedback (0) | Filed Under [ ironpython ]

IronPython in Action, Silverlight

Il capitolo 13 mostra come usare IronPython nel browser attraverso Silverlight. I post precedenti sono: accesso ai dati e web services, ASP.NET, system administration, WPF, protocolli e metaprogrammazione, testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. Le feature di Silverlight sono tutte utilizzabili da IronPython, l’unica cosa di cui si ha bisogno è il Silverlight Dynamic Languages SDK. All’interno dei package xap è possibile accedere ad altri moduli Python ed usare file() per caricare le risorse. Grazie al manifest file si può...

posted @ Sunday, January 18, 2009 12:46 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, accesso ai dati e webservice

Il capitolo 12 affronta l’accesso ai dati ed i web services (sia SOAP style che REST). I post precedenti sono: ASP.NET, system administration, WPF, protocolli e metaprogrammazione, testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. L’esempio sviluppato dal libro in questo capitolo sfrutta ADO.NET, il database opensource PostgreSQL e il data provider Npgsql. Personalmente mi sento di consigliarvi PostgreSQL che non ha nulla da invidiare a SQL Server e se lavorate con GIS è decisamente una figata. Quì dove lavoor io lo usiamo...

posted @ Monday, January 12, 2009 5:40 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, ASP.NET

Il capitolo 11 comincia con una introduzione ad ASP.NET per poi buttarsi nello sviluppo di un clone web dell’applicazione MultiDoc realizzata precedentemente sul framework Windows.Forms. I post precedenti sono: system administration, WPF, protocolli e metaprogrammazione, testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. Per usare IronPython con ASP.NET oltre Visual Web Developer Express o Visual Studio si ha bisogno anche di IronPython for ASP.NET disponibile sia per la versione classica (quella usata dal libro) che per la versione MVC di ASP.NET. I...

posted @ Monday, January 12, 2009 5:17 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, WPF e IronPython

La terza parte del libro si butta intensamente sull’uso di IronPython negli scenari più disparati di .NET. Da WPF a PowerShell a ASP.NET a praticamente qualsiasi cosa sia usabile in .NET. Il capitolo 9 tratta Windows Presentation Foundation. I post precedenti sono: protocolli e metaprogrammazione, testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. Il capitolo parte con una introduzione a WPF e continua presentando un esempio di UI sviluppata in WPF via codice e un altro esempio sviluppato usando XAML (caricato via codice...

posted @ Sunday, January 11, 2009 2:38 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, protocolli, metaprogrammazione e altro

Il capitolo 8 si butta in profondità sui concetti di protocollo, metaprogrammazione e spiega l’interfacciamento di IronPython con .NET nei casi meno ovvi. I post precedenti sono: testing, proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. Personalmente direi che arrivati al capitolo 8 (approfondendo con la documentazione di Python) si possiede una buona base per essere autonomi. I protocolli, comunque, sono interfacce soft che funzionano tramite il duck typing senza alcun tipo di forzatura a compile time. Esistono dei pacchetti, come zope.interface, che aiutano a...

posted @ Friday, January 9, 2009 2:13 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, testing dinamico

Il capitolo 7 parla sostanzialmente di testing. L’autore, come ho già detto nel preambolo ha contribuito allo sviluppo di una applicazione IronPython che ha circa 40.000 righe e circa 150.000 di test… I post precedenti sono: proprietà, dialog e Visual Studio, first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. Il default nel mondo Python per il testing unitario è il modulo unittest, modello sul framework JUnit che tutti conosciamo. Il suo funzionamento in parole povere: il runner identifica i metodi che cominciano con ‘test’, li esegue e si...

posted @ Sunday, January 4, 2009 9:54 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, proprietà, dialog e Visual Studio

Il capitolo 6 introduce le proprietà in Python e l’uso di Visual Studio per estendere una applicazione IronPython creando una class library. I post precedenti sono: first class functions e xml, applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. L’idea dell’autore è quella di usare parzialmente l’observer pattern per mantenere sincronizzate le parti dell’applicazione. Per scatenare i vari side effect durante l’accesso degli attributi usa le proprietà. In Python, come ho detto nell’introduzione, esistono vari protocolli che definiscono alcune key feature del linguaggio. Le proprietà non sono altro che una implementazione del descriptor protocol,...

posted @ Sunday, January 4, 2009 2:35 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, first class functions e XML

Il capitolo 5 del libro continua lo sviluppo dell’applicazione MultiDoc introducendo il concetto di first class functions che verranno usate come callback per rispondere ad eventi (sia GUI che del parser XML ad eventi). Il libro si concentra anche sull’aggiunta delle funzionalità di caricamento e salvataggio di documenti multipagina in XML usando System.Xml. I post precedenti sono: applicazioni e design pattern, oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo First class function Le funzioni si definiscono più o meno first class se sono trattate come normali oggetti, ossia possono essere passate come argomenti ad altre funzioni o metodi, possono...

posted @ Tuesday, December 30, 2008 11:36 AM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, applicazioni e design pattern

Con il capitolo 4 comincia la seconda parte del libro che si snoda intorno allo sviluppo di una applicazione Windows Forms chiamata MultiDoc. I sorgenti dei vari capitoli sono disponibili online. Le puntate precedenti sono: oggetti .NET e IronPython, introduzione a Python, introduzione al libro e il preambolo. Il libro in questo capitolo mostra come struttura una applicazione MVC usando anche alcuni design pattern in Python. Modellazione dei dati e duck typing Python usa i protocol invece delle interfacce per creare ricche strutture dati o aggiungere funzionalità a strutture esistenti. Ad esempio l’interfaccia IList equivale al sequence protocol come l’interfaccia IDictionary equivale al mapping...

posted @ Monday, December 29, 2008 5:07 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, oggetti .NET e IronPython

Il terzo capitolo è sostanzialmente una spiegazione di come usare le classi .NET in IronPython, con un po’ di introduzione ad essere per chi arriva da Python.

I post precedenti sono: introduzione a Python, introduzione e il posted @ Monday, December 29, 2008 12:18 PM | Feedback (1) | Filed Under [ ironpython ]

IronPython In Action, introduzione a Python

Essendo IronPython un porting di Python una panoramica del linguaggio è doverosa. Suggerisco di arrivare comunque in fondo al tutorial di Python per capirne almeno le potenzialità (o anche per capire se piace o meno). Il libro introduce Python abbastanza velocemente, ma è anche giusto così. Si impara facendo, inutile studiarsi a memoria tutta la sintassi e le funzionalità al primo colpo. Gli articoli precedenti sono l’introduzione a IronPython e il preambolo. Questi post son scritti in TextMate usando Markdown e poi convertiti in HTML. Ho scoperto che ci metto decisamente meno che scrivendo nell’editor Web. Python è un linguaggio piuttosto semplice da imparare....

posted @ Sunday, December 28, 2008 2:56 PM | Feedback (3) | Filed Under [ ironpython ]

IronPython In Action, introduzione

Questo è il primo post di una serie sul libro IronPython In Action (qui il preambolo). Cercherò di essere organico anche se probabilmente finirà con l’essere un braindump di considerazioni mie e informazioni tratte dal libro. Introduzione a IronPython IronPython è un cittadino a tutti gli effetti del magico mondo di .NET. Questo per sfatare ogni mito su toy language o che. IronPython (d’ora in poi IP) è supportato da VisualStudio, ASP.NET, Silverlight, XNA, Microsoft Robotics Kit, Volta e quant’altro. Python è un linguaggio multipurpose e supporta vari paradigmi di programmazione: procedurale, funzionale, object-oriented, meta programmazione, ecc. ecc. Riporto alcune parti dello zen di python...

posted @ Friday, December 26, 2008 12:30 PM | Feedback (9) | Filed Under [ ironpython ]

IronPython In Action, preambolo

Sono raramente su questi lidi ma recentemente sono stato contattato dalla Manning Publications per fare una revisione del libro IronPython in Action scritto da Michael Foord (noto Pythonista, MVP Microsoft e dipendente di Resolver Systems, un'azienda che produce uno spreadsheet scritto in IronPython e C# con un po' di marce in più). Il libro spazia dall'introduzione a Python e .NET all'estensione di IronPython tramite C#/VB.NET e l'embedding dell'engine di IronPython passando per: XML, VisualStudio, testing, metaprogramming e caratteristiche tipiche di Python, WPF, amministrazione di sistema, ASP.NET, database, webservices e Silverlight. Un pdf di 429 pagine, decisamente succoso eheh La mia idea...

posted @ Friday, December 19, 2008 7:42 PM | Feedback (3) | Filed Under [ ironpython ]

PyCon Due

Anche quest'anno gli intrepidi organizzatori della prima (e unica per ora) conferenza Python italiana, http://www.pycon.it, hanno pubblicato lo schedule della stessa. La conferenza, PyCon Due, si terra` il 9, 10 e 11 maggio a Firenze. Premetto che io sono uno degli organizzatori (e membro fondatore dell'associazione Python Italia APS), quindi sono ovviamente biased. Mi permetto di rompere il mio prolungatissimo silenzio in questi lidi e parlare di questa conferenza perche` penso che possa interessare anche a non Pythonisti (anche in conseguenza del fatto che terremo un talk su IronPython nel mondo reale) Grazie a un culo tremendo (o meglio: alla persistenza di alcuni...

posted @ Thursday, April 10, 2008 3:45 PM | Feedback (5) | Filed Under [ offtopic ironpython ]

Pillole di vita quotidiana nell'opensource

Second Mini-Anecdote: Pretty much every new release of IronPython has exposed limitations in our runtime, our class libraries or our compilers. IronPython has really helped Mono become a better runtime. da Mono and C# 3.0 di Miguel de Icaza ps. entro l'autunno dovrebbe essere pronto il primo libro su IronPython, scritto da un noto Pythonista che lavora in una startup londinese basata su IronPython, .NET e C#

posted @ Thursday, January 11, 2007 7:22 PM | Feedback (7) | Filed Under [ ironpython csharp3 ]

IronPython 1.0 è uscito

Ecco l'annuncio sul newsgroup internazionale di Python (se vi interessa anche un pò di background del progetto): IronPython 1.0 released today! e qui il sito ufficiale: http://www.codeplex.com/IronPython. ps. IronPython si può usare anche con XNA, anche se per ora non sulla XBox, ma ho sentito che in MS potrebbero rimediare al problema Happy Python :-)

posted @ Tuesday, September 5, 2006 10:46 PM | Feedback (0) | Filed Under [ ironpython ]

Programming Avalon (WPF) with IronPython

Questo è il titolo del talk a cui sono stato oggi. Uno dei tanti ovviamente :-) Vi risparmio la parte Python della giornata (cioè tutto dato che è un EUROpython :-)). Qui al CERN è tutto una figata. La wifi non da alcun segno di cedimento. Quasi tutti i Pythonisti che vedo in giro sono anche utenti Mac. Comunque... ..il talk è stato molto interessante. Lo speaker ha fatto vedere come usare IronPython per sviluppare con WPF tipo: import clr clr.AddReferenceByPartialName("PresentationFramework") from System.Windows import Application, Window app = Application() window = Window() window.Title = "Hello world" window.Height = 300 window.Width = 300 app.Run(window) Ok questo è l'hello world però potete farvi...

posted @ Tuesday, July 4, 2006 2:15 AM | Feedback (0) | Filed Under [ ironpython ]

[OT] Svizzera, arrivo!

Salve gente, da domani fino al 9 luglio io e il mio laptop ci trasferiamo in Svizzera. La motivazione principale è l'annuale conferenza EuroPython che quest'anno si tiene a Ginevra, più precisamente al CERN. Sarò però a Zurigo per un paio di giorni a rompere le palle ad un amico che lavora li per Google :-) Tra le infinite sessioni ce n'è una intitolata Programming Avalon with IronPython che magari riuscirò a seguire e vi posterò le mie impressioni. Questo è il contenuto: This talk will use a simple (but useful) example application to demonstrate how Windows Presentation Foundation (WPF) applications can be...

posted @ Friday, June 30, 2006 11:13 AM | Feedback (3) | Filed Under [ offtopic ironpython programmazione ]

Stato attuale di IronPython

Come ben sapete mesi fa Jim Hugunin ha rilasciato alle masse il suo "toy project" per mettere le basi a quello che in futuro potrebbe diventare l'ennesimo porting di Python su una nuova piattaforma (in questo caso .NET). Hugunin è piuttosto famoso nella comunità Java per aver progettato AspectJ un tool per l'AOP in Java ma soprattutto per aver dato inizio al progetto Jython, un porting di Python su piattaforma Java. Vi risparmio i pregressi della novella IronPython perchè sono abbastanza futili ai fini del post (l'erronea convinzione che su .NET un linguaggio dinamico non potesse girarci, la sua personale...

posted @ Friday, September 17, 2004 5:00 PM | Feedback (3) | Filed Under [ ironpython ]

Powered by:
Powered By Subtext Powered By ASP.NET