[MontelLUG] Vista funziona! E anche bene!
Alessandro Galli
alessandro.galli a gmail.com
Gio 16 Ago 2007 13:53:57 CEST
Alle mercoledì 15 agosto 2007, Samuele Zanin ha scritto:
> Adesso scateniamo un bel flame :-).
Bene, accendo il lancia fiamme e mi butto nella mischia.
> Penso che non riusciremo a sfuggire a Vista e ci toccherà abituarci.
Sono d'accordo. Non vedo possibile che M$ passi dal 99,7% del mercato desktop
a 0% sforando un SO.
Il tono del discorso però è diverso. Winzozz e Linux non possono mai essere
confrontati sullo stesso piano. Sono due cose profondamente diverse e quindi
anche i giudizi dovranno essere pesati in base alle specifiche
caratteristiche del so.
Esempio:
Linux è open source, quindi il suo codice è stato sicuramente rivisto da molte
più persone di quello Winzozz, c'è meno riserbo nello spiegare il
funzionamento delle sue parti componenti e molte persone hanno libertà nel
decidere cosa includere nel SO etc.
Winzozz è un prodotto proprietario di un'unica azienda che cerca quindi di
indirizzare lo sviluppo su alcune funzionalità rispetto ad altre creando un
sistema omogeneo.
Quindi quando confronto i due sistemi devo tenere in considerazione che per M$
è più problematico essere innovativo, mentre per Linux basta che qualcuno non
abbia nulla da fare per due mesi e magari inventa un programma nuovo mai
visto.
D'altro canto quando installo Linux è ovvio che abbia la sensazione di
un'accozzaglia di programmi non omogenei (alcuni in qt, alcuni in gtk, alcuni
tcl/tk etc.).
Rimangono quindi due cose diverse, ognuna delle quali si comporta meglio in
alcune condizioni rispetto ad altre.
E' innegabile però che Linux porta vantaggi all'umanità (in termini di
innovazione e libertà) mentre M$ porta vantaggi alla M$. Questa non è una
questione morale ma è insito nell'essere di questi due SO.
> Fino ad adesso, ho sentito nel corso degli anni spesso parlare che le
> difficoltà nell'introduzione di Linux erano legate al fatto che
> l'interfaccia non fosse inizialmente user friendly, alla difficoltà di
> installazione e ai problemi dei driver.
> A parte il problema dei driver, gli altri vedo sono stati superati
> brillantemente.
Il problema dei driver è duplice. Ci sono ambiti, tipo quello server high end,
dove i driver in genere sono disponibili.
Per il lato destkop sicuramente l'unica soluzione è guadagnare quote di
mercato.
> Quello che sento che invece limita il passaggio a linux è il discorso della
> mancanza di software o meglio di gente che sviluppi per linux (sia closed
> che open source).
Secondo me è falso. Il fatto principale è la mancanza di investimenti su
linux. Diciamocelo, i programmatori programmano su quello che il Technology
Manager decide, almeno in aziende di una certa dimensione.
Se ti offrono un lavoro ti frega veramente in che linguaggio devi programmare
o ti importa più l'ingaggio, le ferie, il contatto etc.?
Se domani ti offro un lavoro a pari condizioni di quello attuale ma ti dò 100€
in più mi chiedi in cosa programmo?
> Per me un passo importante sarebbe quello di far entrare in modo
> considerevole linux nelle aziende, ma qui la cosa si fa complicata. Anzi,
> ho assistito al contrario. Migrazioni da linux a win.
Io invece penso che nell'ambito aziendale ormai abbiamo ottime possibilità!
Ora come ora si stà tornando a termiali stupidi (per quanto graficamente
capaci) e server (o cluster) intelligenti.
In questo ambito io sceglierei di utilizzare terminali con linux per:
* non pagare costi di licenze
* stabilità
* possibilità di aggiornamenti automatici non invasivi
* possiblità di assistenza remota (anche solo via console)
* capacità di supporto per hw obsolescenti
* automatizzazione del collegamento con server di terminale grafico
* sicurezza
* azzerato il costo di manutenzione causato dai virus
Come server può essere utilizzato sia linux (per il software tipo webmail,
openoffice tramite vnc o rdp etc.) sia winzozz (per Exchange, db, gestionali
sempre tramite rdp o cytrix).
In breve scelgo i programmi in massima libertà, utilizzando server con SO
adatto a farli girare. Sui terminali con linux faccio grosse economie in
riduzione delle spese di gestione e di licenza.
Infine non pago nemmeno il costo di transizione perchè se voglio (usando solo
server win) posso fare in modo che gli utenti non si accorgano nemmeno di
usare linux!
> Lo sviluppo di software gestionale per le aziende lo vedo molto indietro.
Ci sono dei progetti molto interessanti, ovviamente general pourpose. In
questo ambito il problemi fondamentali sono due:
a) mancanza di pressione commerciale
b) spinte derivanti dal ruolo in azienda
Il primo problema è ovvio. Se uno non se li va a cercare non saprà mai
dell'esistenza e delle capacità dei sw gestionali opensource su linux.
Invece, quelli commerciali su Win hanno frotte di agenti/commerciali che
spingono dalla mattina alla sera (è il loro lavoro) per vendere i loro
prodotti.
Il secondo problema si basa sul fatto che le persone tendono, logicamente, ad
assumere le decisioni più convenienti per loro.
Chi in azienda decide che sistema operativo o sw utilizzare, ha due scelte:
1) sceglie il prodotto leader del mercato
2) sceglie un'alternativa in base al rapporto prestazioni/costi
Nel primo caso un eventuale insuccesso del progetto non è a lui addebitabile,
in quanto ha fatto la scelta sicuramente migliore, per quanto non abbia
risposto alle aspettative.
Nel secondo caso invece si assume la responsabilità di un eventuale
insuccesso, perchè se le cose vanno male la colpa è sua che ha fatto una
scelta "creativa" o "innovativa". Se invece va bene diventa un "mago" del
software.
Ma per fare la seconda scelta ci vogliono le palle e bisogna sapere di cosa si
stà parlando in prima persona.
> Ho come la senzazione che l'unico compilatore "ufficialmente supportato"
> sotto linux sia il gcc.
Il gcc mi va bene, ha dimostrato di compilare bene e veloce. Come tutte le
cose basta saperlo usare. Inoltre la sua architettura a layer lo rende molto
espandibile e manutenibile.
> Il c/c++ può andare bene per sviluppare il s. o. o driver, alcuni
> applicativi che comunicano molto con l'hardware.
Non sono d'accordo. Il C forse ma il C++ è tutto un'altro linguaggio. Solo il
nome e la compatibilità con il vecchio C li accomuna in qualche modo.
I puntatori per lavorare sulle stringhe li usi in modo trasparente con classi
tipo <string.h> o <qstring.h>.
Se poi il progetto delle classi è fatto bene è facile evitare anche i memory
leak e i SIGSEGV.
I puntatori li puoi anche in C++ usare solo quando ti servono.
E' certo che quando si programma in C++ le classi che tu disegni vanno a
rappresentare un modello. Se le condizioni a contorno o una maggior
definizione delle specifiche vanno ad "intaccare" il modello è sempre
necessario tirarsi su le maniche e modificare il modello, quindi modificare
le classi, in modo che rappresentino le nuove condizioni.
Procedere come spesso si usa patchando il sw porta sempre ad avere un sw che
non ci appartiene perchè non sappiamo più come funziona.
E allora sì non si capisce nulla tra puntatori e variabili globali.
> Si potrbbe pensare a Mono, ma è sempre un passo o due più indietro del
> corrispettivo NET sotto win.
> Java in campo gestionale è già stato scartato.
Mono a mio avviso non è così pesantemente indietro, se poi parliamo di quello
che deve fare un gestionale, penso si possa già cominciare ad utilizzare.
Per quanto riguarda Java penso che ti sbagli del tutto. Non è molto diverso
da .NET per quanto riguarda l'architettura. Sicuramente nei suoi primi anni
di vita ha patito la pesantezza della RM e la limitatezza delle funzionalità
ma penso che questo tempo sia finito.
Con la JRE 1.6 sono stati fatti passi da gigante. Se poi la paura è la
gestione della garbage collection, basta avere l'accortezza di impostare a
null i puntatori alle classi che non ti servono più.
> Python ci ho dato un'occhiata ma è interpretato e non gode di tipizzazione
> forte, cosa che non mi convince.
Python è uno dei linguaggi migliori in quanto ti "costringe" ad essere
ordinato. Inoltre vale quanto detto per la programmazione ad oggetti prima
sul C++.
> Qundi, in fin dei conti, manca un'attrattiva che dica allo sviluppatore
> sotto linux hai più vantaggi che sotto win.
L'attrattiva c'è, ma non stà nei linguaggi e nelle librerie. L'alternativa è
nell'informazione che hai disponibile. Ricordati che se quando hai un
problema puoi googlare e trovare la soluzione bell' e pronta è solo grazie
alla comunità open source. Inoltre se stai usando una libreria di
qualcun'altro puoi studiarla, capire come funziona ed anche modificarla in
base a quello che ti serve. Ad esempio nell'azienda dove lavoro si usava una
libreria open source per aprire svg da qualche mega. Andando a vedere il
sorgente della libreria sono state disabilitate alcune funzionalità non
necessarie e si sono ridotti i tempi di apertura da 20 secondi a 2!
Inoltre sotto linux hai molta varietà e questo è fondamentale in fase di
programmazione. Se trovi un ostacolo hai numerosi metodi per risolverlo.
>
> Un ultimo appunto lo faccio sui db. Qui dalle esperienze che ho si vada da
> Oracle e in alcuni casi a DB2 (sul quale però non ho mai messo le mani).
> Postgres ho usato una versione sotto win della 8.qualcosa. Per ripristinare
> un database fatto tramite il pg_dump ci ho messo 3/4 di giornata con una
> serie di casini che non sto a dirvi (quando fai il backup, non ti fa una
> copia fisica dei dati, ma ti genera lo script del tutto il db e le insert
> per tutti i record).
> Durante l'uso poi faceva schizzare l'uso della cpu al 100% in maniera
> considerevole. Un backup mentre il db è in uso è praticamente impossibile.
> MySql non ho provato la 5 che dovrebbe avere risolto le limitazioni della 4
> che invece avevo provato (mancavano trigger e sottoquery, che nel mio caso
> sono fondamentali).
Spezzo una lancia per Postgres. Sicuramente pesa come db ma ha caratteristiche
di innovazione che nessuna alternativa attualmente riesce a dare. La più
fondamentale è sicuramente la tecnologia che permette a più utenti di leggere
contemporaneamente una tabella mentre un altro utente vi scrive! In tabelle
cardine dei gestionali, dove si lavora molto in inserimento e si fanno delle
query pesanti è fondamentale!
Mysql sicuramente è una scheggia. Si può discutere sulle funzionalità ma non
sulla velocità.
Poi, perchè non posso sviluppare in linux e lasciare il db su una macchina con
Sql Sever, Oracle o DB2? Anzi è meglio dal punto di vista architetturale
dividere il db server dall'application server.
In conclusione quello che penso sia più importante nell'ambito Linux è la
spinta all'innovazione (sai che avresti ancora IE 5.0 se non fosse uscito
Firefox?) e alla libertà di conoscenza.
Queste qualità sono impagabili perchè il mondo non può più fare a meno
dell'informatica e se qualcuno controlla le conoscenze informatiche ha un
potere incredibile (ha ad esempio il media su cui passano tutte le
informazioni e le conoscenze).
Per questo è innanzitutto importante supportarlo.
E' anche vero che Linux, per continuare a fare la sua opera, deve essere
concorrenziale sul mercato, altrimenti è condannato a scomparire. Per questo
le critiche vanno sempre bene perchè è l'unico modo per individuare i
problemi. Ho risposto punto per punto alle critiche di Samuele per cercare di
approfondire i problemi lanciati. Avrei piacere che altri mettessero bocca
per capire dove ho torto io.
Bye.
--
Alessandro Galli
Alias Hirfuin Mantombroso
alessandro.galli a gmail.com
http://www.montellug.it
http://krdm.sourceforge.net/
--
José Ortega y Gasset:
La scienza consiste nel sostituire
un sapere che sembrava ormai certo, con una teoria, ovvero
con qualcosa di problematico.
More information about the montellug
mailing list