Con cosa programmare???
Sono un programmatore niubbo, figlio di una generazione a cavallo tra il Cobol testuale e l’Eldorado degli strumenti visuali di papà Bill. Ovviamente discepolo di quel Visual Basic 6 che mi ha dato la soddisfazione di “vendere” delle soluzioni software graficamente belle, ma non troppo robuste. In ogni caso dalla portabilità nulla. Schiavo di Windows. Da un po’ mi sono avvicinato al mondo dell’Open Source e tra le mille prova fatte sul pinguino mi sono anche posto la fondamentale domanda: ma adesso con cosa scrivo i miei programmi? Visual Basic Net? mmm… Prima la risposta era si, ora… non so. Adesso però in testa ho pochi e precisi punti: Multipiattaforma, Linguaggio Standard, Programmazione ad Oggetti, Strumento di Sviluppo Visuale. L’ultimo punto è frutto della mia pigrizia e del mio poco tempo da dedicare a questo fantastico hobby, il penultimo è ovviamente un Must dal quale non si può più prescindere. Per quanto riguarda il concetto di Multipiattaforma… beh.. basta guardare Firefox. Quanto bello non è aprire Windows e trovare l’icona della volpe? e poi la stessa su qualsiasi distro Linux? E su Mac? Scrivere un programma che gira solo su una piattaforma è per me ormai fuori discussione. O Multi o niente. Linguaggio aperto? Ho introdotto questo punto solo per chiarire a tutti quelli che hanno una competenza informatica (il mio amico Simo, P5, Mark e Rodega) il perché alla fine di questo discorso io non abbia detto la parolina magica: Java. Java è di Sun. Punto, fine, nessuna standardizzazione, nessuna possibilità di moficarlo, migliorarlo o aggiornarlo. Sun, closed source e fine. Sembra strano, ma zio Bill l’ha fatta bella. Ha fatto con C# quello che Sun NON ha fatto con Java. Lo ha reso standard e lo ha dato in pasto alla comunità di affamati sviluppatori open source. Qualche anno e C# è decisamente sulla cresta dell’onda, pieno di forum, risorse, codice ed esempi. Manuali e corsi, conferenze e discussioni. Sul web e non. Ed eccolo lì, pronto a supportare ogni libreria, ogni connettore, ogni Framework. A questo punto spenderei due paroline su Mono. Progetto magnifico, fantastico, ma… come ho ben visto.. non solo porting. Mono è già completo di tutte le librerie grafiche Gtk multipiattaforma, non ha certo bisogno di aspettare Windows.Form. E questa non è cosa da poco. In ogni caso ho fatto un paio di prove, ho installato un server MySql 5 su una macchina WinXP, sulla quale ho scritto con SharpDevelop un piccolo programmino in C# che apre semplicemente una connessione al database. Lo stesso programmino, così com’era, l’ho copiato con la Dll di MySql sotto una cartella condivisa di una macchina Linux Suse 10.1 Gnome collegata in rete. Da riga di comando ho lanciato mono , e si è aperto lo stesso programma che girava su Win, e che ha aperto un’altra connessione.
Esempio banale, ma per me più che sufficiente per capire in che direzione mi conviene andare. Studierò C#.