Le somiglianze fra Linux e Windows non devono trarre in inganno. I punti che li differenziano sono molteplici, soprattutto nell’ambito dello sviluppo di applicazioni native. Emerge, comunque, che creare software di produzione con l’Os libero non è più un problema.
Un argomento di discussione quando si parla di Linux è la sua diversità rispetto a Windows. Questa discussione spesso poggia su basi sbagliate in partenza, perché se Linux fosse uguale a Windows non avrebbe senso la sua stessa esistenza.
È innegabile però che, da indefessi utilizzatori di Windows, nel momento in cui proviamo un altro sistema operativo la prima impressione si basa proprio sulle somiglianze riscontrabili, anche se come approccio è un po superficiale. Volendo essere concreti, invece, dobbiamo scendere in profondità e capire a fondo i due sistemi operativi.
Dal punto di vista dellutente "da ufficio" i due sistemi operativi si somigliano parecchio, soprattutto se Linux è utilizzato per mezzo di una delle interfacce grafiche disponibili, per esempio, citando le più note, Gnome o Kde. Linterfaccia grafica di Windows, invece, è il frutto dellesperienza Microsoft derivata da anni di utilizzo e risulta abbastanza facile da usare, anche se alcuni aspetti sono criticabili, come il ritardo nella semplificazione della Gui. Stiamo facendo riferimento, per esempio, allottima interfaccia grafica a oggetti e multithread che offriva già diversi anni fa Ibm Os/2 Warp, la Workplace Shell.
Da par suo, Linux, con interfaccia nativa a carattere, permette di scegliere diverse filosofie. Lorganizzazione che si trova dietro a Gnome (www.gnome.org) ha come obiettivo di riprodurre in modalità grafica un caratteristico comportamento di Linux, quello dei pipe, che permette alloutput di un processo di passare a un diverso processo in qualità di input, e così allinfinito. Kde (www.kde.org), invece, si presenta più simile a Windows, anche se ci si accorge di alcune raffinatezze, non presenti in Windows.
Andar per differenze
Se analizziamo i due sistemi operativi dal punto di vista dello sviluppo di applicazioni native, ci si rende conto delle reali differenze tra i due mondi. Windows è ricco di strumenti di sviluppo visuali molto potenti e semplici da utilizzare, mentre Linux ha una ricca tradizione di compilatori a riga di comando, anche se le cose stanno migliorando. Il primo, poi, dispone di ununica Api per linterfaccia grafica.
Linux ne ha almeno due: la Gtk (www.gtk.org) utilizzata per Gnome e la Qt (www.trolltech.com), che poi è alla base di Kde. Si tenga presente, però, che sotto Gnome si possono eseguire applicazioni Kde e viceversa.
Il sistema applicativo di Microsoft propone sempre un unico modo per realizzare la funzione di un programma. Linux offre più possibilità per permettere di scegliere la migliore, o semplicemente quella che piace di più.
Proseguendo su questa strada, se Windows presenta dei buchi è necessario attendere luscita di un service pack. Linux, invece, è distribuito completo di sorgenti quindi si può intervenire in prima persona oppure cercare in Internet se qualcuno ha già trovato una soluzione.
Come è stato già accennato, le modalità di sviluppo per Linux stanno cambiando. LOs libero, infatti, dispone finalmente di strumenti di sviluppo visuali in perfetto stile Windows, come Kylix e JBuilder entrambi di Borland. Questultimo permette di sviluppare applicazioni in Java, mentre Kylix è praticamente Delphi per Linux. Tra i due il più interessante è sicuramente Kylix, in quanto permette di realizzare applicazioni native con tutti i vantaggi che questo comporta, e, inoltre, permette di trasferire abbastanza facilmente applicazioni scritte con Delphi da Windows a Linux. Nel caso si stia già utilizzando la versione 6, il porting richiede solo la ricompilazione a patto di non utilizzare tecnologie non presenti in entrambi i sistemi operativi.
Lapproccio proposto da Borland permette di programmare per Linux nello stesso identico modo utilizzato per Windows. Molti tecnici di Visual Basic non hanno la più pallida idea di come funzioni Windows eppure riescono a realizzare tranquillamente le applicazioni che desiderano. Lo stesso approccio si può adottare con Kylix sotto Linux con il vantaggio della possibilità di migrare/ritornare a Windows o viceversa. È ovvio che una buona conoscenza di base di Linux aiuti, ma per un po se ne può fare a meno.
Se poi pensiamo a Java, "portabile" per eccellenza, i problemi non si pongono del tutto. Si prende lapplicazione, la si dà in pasto a una macchina virtuale Java e questa funziona. Parlando di pagine Jsp unite a moduli Java, lapproccio non cambia perché si utilizzano Apache e Tomcat provando, caso mai, in un primo momento sotto Windows, per accrescere la familiarità con il sistema operativo, e poi passando a Linux. Sempre sul fronte Java non dimentichiamoci di Forte for Java di Sun, disponibile anche per Linux.
In caso di moduli Cgi le difficoltà sono diverse. Se scritto con Delphi, il porting è indolore (conviene procedere al test con Delphi 6 sotto Windows). Se, invece, è stato utilizzato il linguaggio C/C++ si deve verificare se sono stati utilizzati il sottoinsieme Ansi e librerie esterne non disponibili per Linux. Se entrambe le condizioni sono favorevoli è sufficiente ricompilare e testare.
Gli sviluppi futuri
Sempre da Borland arriverà alla fine di questanno, o al più tardi allinizio del prossimo, C++Builder per Linux. Oltre a portare le applicazioni scritte con C++Builder per Windows sotto Linux, gli sviluppatori Linux si troveranno ad avere un compilatore (utilizzabile anche da riga di comando) ottimizzato per Linux con prestazioni superiori al compilatore Gcc/Gpp.
Ma non è solo Borland a muoversi. Trolltech, per esempio, produttrice della libreria a oggetti Qt impiegata per la realizzazione dellinterfaccia grafica Kde, annuncia meraviglie in occasione della prossima versione tra cui un ambiente di sviluppo grafico visuale decisamente migliorato e più completo dellattuale. Si ricorda che la libreria Qt è disponibile anche per Windows.
Ibm, che di recente ha rinnovato e notevolmente ampliato i propri piani di sviluppo per Linux, ha rilasciato VisualAge Smalltalk Linux Preview, che permette di portare alcune parti dellambiente di sviluppo su Linux. VisualAge for Java, invece, per il momento rimane solo per Windows.
Sul fronte dellautomazione dufficio troviamo i progetti open source: KOffice (www.koffice.org), Gnome-Office (www.gnome.org/gnome-office) e OpenOffice (www.openoffice.org). I primi due sono gestiti dalle organizzazioni che seguono Kde e Gnome, lultimo è lex suite StarOffice di Sun che, dopo la versione 5.2, ha abbracciato questa filosofia.
Pmi come pioniere?
Come si è potuto vedere, dal punto di vista dello sviluppo non ci sono più motivi per non utilizzare Linux. Se, però, unazienda cercasse soluzioni commerciali già pronte, dovrebbe faticare un po per trovare risposte. Le prime applicazioni stanno uscendo ora e sono realizzate da piccole e medie software house per le esigenze delle Pmi. Il costo complessivo di una soluzione, infatti, è abbattuto di molto se si tiene conto che Linux, database e altri software di sistema sono gratis o quasi. Anche per le realtà aziendali più grosse si sta muovendo qualcosa, ma bisognerà attendere ancora un po. In questi casi, infatti, si utilizzano soprattutto grossi sistemi Unix o mainframe e serve ancora un po di tempo per abituarsi allidea di passare a Linux e relative soluzioni, ovviamente quando queste saranno disponibili. È dello scorso marzo un accordo Ibm/Sap per portare o iniziare a portare lErp di Sap sui server zSeries (i modelli top della linea eSeries) proprio sfruttando Linux.
Un discorso a parte, invece, deve essere fatto per le società che hanno scelto esclusivamente o quasi le tecnologie di Microsoft come strumenti aziendali. Anche queste potrebbero ottenere vantaggi dalladozione di Linux, ma le tecnologie sono tutte per Windows e per passare a Linux dovrebbero sceglierne altre, purtroppo bistrattare dalla società di Seattle. La sola possibilità è quella di sviluppare i nuovi moduli con tecnologie aperte oppure adottare database e server Web disponibili anche Linux.
Ununica conclusione a questo punto non esiste perché lapertura di Linux e del mondo che vi ruota intorno, offre ampi spazi di movimento in qualunque direzione si voglia seguire.