> MENU
sidux2.png

Guida all’installazione di Sidux 2007-04

terminal1.png

Top 25: il The Best Of dei comandi utilizzati...

10 dicembre 2007 Visualizzazioni: 744 Focus

Corso su Mono: introduzione

Nel tempo, Il mondo dell’informatica ha visto una crescente attenzione verso le soluzioni open e anche i linguaggi e gli ambienti di programmazione non si sono sottratti a questa tendenza. Tutti coloro che seguono le vicissitudini legate al mondo di Linux, e più in generale all’Open Source, sanno cosa si nasconde dietro nomi come Perl, PHP, Python, Ruby che nel tempo si sono affiancati con pari dignità a nomi più blasonati quali C, C++ o Java.

mono-logothumbnail1.png

Spesso i linguaggi di questo tipo nascono dall’impegno e la buona volontà di membri del vasto mondo open source ma in certi casi non è così. Mono è un progetto nato nel 2001, ma il primo rilascio stabile risale al 2004, che ha come scopo quello di creare una piattaforma open basata sul Framework .Net di Microsoft, ovvero un insieme di tecnologie e linguaggi destinati a coprire la gran parte delle moderne esigenze di sviluppo software. La bella notizia è che tutto questo insieme di tecnologie è stato rilasciato con standard aperti, condizione fondamentale per l’esistenza stessa di Mono.

Con il nome di Microsoft .Net Framework si identificano tre entità distinte:

  • Un ambiente di esecuzione definito CLR (Common Language Runtime)
  • Una libreria di classi
  • I compilatori per i principali linguaggi supportati dall’ambiente

Volendo essere molto sintetici possiamo pensare al CLR come un equivalente della JVM di Java, anche in questo caso si tratta di un’astrazione (o macchina virtuale) in grado di interpretare un suo linguaggio nativo definito IL (Intermediate Language). La libreria di classi .Net è un’insieme assai vasto progettato per gestire le più disparate esigenze dello sviluppatore, si va da classi per la gestione dei tipi (String, Int, etc.) fino ad elementi molto complessi per interagire ad esempio con le comunicazioni di rete. Infine ci sono i compilatori; in particolare ci soffermeremo su C#, linguaggio principe dell’ambiente .Net.

Viste a grandi linee quelle che sono le componenti del Framework .Net, e di conseguenza di Mono, il passo successivo consiste nell’avvicinarsi al linguaggio C# per poter sviluppare applicazioni che potranno essere eseguite indifferentemente su Linux, Windows, FreeBSD o Mac OS X senza necessità di essere ricompilate.

Non ci soffermeremo sulle fasi necessarie ad installare Mono su Linux perché nella maggioranza dei casi sono disponibili i pacchetti pronti in funzione della distribuzione che si utilizza e l’operazione diventa estremamente semplice. Le varie lezioni del corso si svilupperanno in modo da fornire una panoramica con un approccio “bottom-up”, ovvero partendo dalle operazioni basilari sul linguaggio fino a costruire semplici applicazioni che sfruttino alcune delle peculiarità dell’ambiente.

Che dire, continuate a seguirci!

di Fabrizio Guglielmino - TuxJournal.net

twittergoogle_pluslinkedinmail
  • http://www.byteliberi.org Paolo

    Ma perché perdere tempo con una tecnologia che aiuta micro$oft ?
    Infatti i seguaci di m$ potranno dire: “Visto ? Anche noi siamo aperti e cross-platform”
    In realtà .net nasconde sottili differenze nell’architettura del framework, per legare il programma alla piattaforma winzozz.

    Non è così ricco di interfacce standard come Java, quindi è difficile sostituire i componenti, questo perché m$ vuole che si usino i suoi strumenti e non sia facile sostituirli con gli altri.

    Mi auguro che la comunità Open Source non abbocchi e ignori Mono e .net

  • http://www.tuxjournal.net guglielmino

    Può anche essere vero ciò che dici ma, considerato che la piattaforma Desktop più diffusa ad oggi è Windows, ogni tecnologia che permette un rapido porting delle applicazioni esistenti a Linux è solo di vantaggio per la diffusione del pinguino.
    La base di codice prodotto con tecnologia .Net è ampia, inoltre è importante considerare l’integrazione tra piattaforme che è notevolmente semplificata da ambienti come Mono.

  • http://mavimo.netsons.org Mavimo

    IMHO C# != da M$, e se anche fosse, è un buon prodotto, quindi perchè non usarlo? E cmq si parla di Mono, che è cross platform, con le GTK# anchesse che possono essere usate sui divversi OS.

  • Andy

    @ Paolo
    Winzozz - Micro$oft -M$ … siamo ancora a questo?

  • zuffolo79

    Il vero problema di mono si chiama Monodevelop.
    Quando la IDE di sviluppo sarà solo lontanamente paragonabile ad Eclipse od a NetBeans, allora potrà realmente essere preso in considerazione.