Le mie esperienze lavorative di programmazione sono iniziate con software proprietari Microsoft (Fox, Visual Fox, Visual Basic 6), e sono giunte al software Open Source, e nello specifico utilizzo Java in ambienti JEE (vari design pattern, Hibernate, Struts, Struts2, Spring, ...).
Il software open mi permette di sfruttare al 100% il mio sistema operativo preferito: GNU/Linux!
Ho iniziato provando un pò quasi tutte le maggioni distribuzioni.
Il percorso (formativo) dell'ambiente GNU/Linux, tralasciando le distro minori, è il seguente:
- RedHat (prima dell'uscita di Fedora)
- Fedora
- Sabayon
- Gentoo (KDE completo partendo dallo stage3)
- Ubuntu
- KUbuntu
- FreeBSD (test...)
- Arch Linux (anche per lavoro!)
Devo ringraziare la comunità Open Source (da Richard Stallman, Linus Torvalds ... e qualche altra miglionata di persone), perchè grazie alla passione ed al tempo libero di molti, GNU/Linux ha raggiunto una maturità tale da poter essere utilizzato praticamente per qualsiasi esigenza, anche nell'ambiente desktop (in ambito server è da molti anni, una realtà consolidata).
Considero fondamentale per un utente/sistemista GNU/Linux, la piena padronanza della console, in quanto GNU/Linux è, e secondo me dovrà rimanere così, un sistema basato su script e file di configurazione in formato testo.
Nonostante ciò, ogni buon programmatore è anche pigro (per questo motivo si creano utility e applicazioni che tendono a semplificare l'operatività), e l'utilizzo grafico può velocizzare e semplificare le normali attività. Tenete conto che se un sistema operativo si basa esclusivamente su interfacce grafiche per le impostazioni critiche del sistema, un bug dell'interfaccia grafica precluderebbe al sistemista di operare, mentre un'alternativa da console, permette di tenere sempre tutto sotto controllo (... e poi quale delle due si può considerare alternativa? La console o l'interfaccia grafica?).
Senza tralasciare il livello di sicurezza e stabilità che si può ottenere, sopratutto in ambito server potendo omettere tutte le librerie che non sono indispensabili per i compiti che si devono svolgere: si ottengono così sistemi più leggeri e si limitano i possibili bug, fonte di ispirazione per eventuali intrusi.
Le distribuzioni attuali rendono GNU/Linux accessibile anche per chi non è programmatore o sistemista (o smanettone!).
Per chi non vuole sbattere la testa, ogni qualvolta si verifica qualche errore oppure un aggiornamento necessita di apportare rettifiche manuali al sistema, la comunità offre molti strumenti di comunicazione per dare una mano: forum, articoli, HOW-TO...
Per qualcuno la soluzione più semplice rimane quella di affidarsi ad un amico "esperto" (oggigiorno sono sempre più numerose le persone che si giostrano con facilità nel mondo del Pinguino).
Da un pò di anni GNU/Linux è diventato il principale sistema operativo sul mio portatile. Dalla programmazione, ai documenti di ufficio (Libre Office, Calligra, ...), alle appicazioni multimediali (visualizzazione ed editing video, fotoritocco, gestione file musicali, ecc...) è possibile oramai fare qualsiasi cosa.
Buon Open Source a tutti!
Ciao,
Roby