Commenti & Opinioni


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register


Paghi il Sistema Operativo o il Programma?

Domanda su NG: "devo fare un certo lavoro, dovro' mettere giu' un server di database e fare il programma per utilizzarlo, che database mi consigliate che sia robusto, flessibile, efficiente e che non costi un occhio della testa ?"

Risposta mia: Oracle su Linux, costo di entrambi: 0.

La mia (apparentemente logica ed innocente) risposta, ha scatenato le ire di qualcuno, il quale con una logica non troppo solida mi ha rinfacciato la "complessita'" del prodotto Oracle+Linux rapportata al si' elevato costo NT+SQL Server (qualsiasi cosa ha un costo elevato se e' paragonata a qualche cosa che costa 0) ma la semplicita' d'uso e manutenzione fa' la differenza...

La "diatriba" non e' proseguita perche' non e' mio uso proseguire una discussione sui toni "il mio sasso e' piu' bello del tuo", pero' voglio riportare qui' ugualmente le mie opinioni personali sull'argomento free software/open source.

Premetto che non sono un "pasionario" di Linux o di Oracle, sono stato per parecchio tempo un consulente NT-Oriented, sono stato pagato per produrre e proporre soluzioni basate su NT e SQL Server, ho pure fatto gli esami MSCP (passandoli). Poi ho lavorato su Oracle e Linux/Unix per un certo periodo di tempo, quindi parlo per esperienza diretta.

Partiamo dal presupposto che il prodotto "perfetto" non esiste, o ti ritrovi con un prodotto che e' semplice da usare ma rigido e limitato a quello che il programmatore ha deciso che deve essere possibile fare, oppure ti ritrovi con un prodotto che ha tante di quelle opzioni e possibilita' che ci vuole un mese solo per leggere il manuale di istruzioni.

Detto questo prendiamo in esame alcuni "punti di forza" e "punti deboli" dei vari "attori", cioe' nella fattispecie Linux ed NT, lasciamo il discorso Database a dopo in quanto questo non e' proprio quello importante.

Windows NT ha un'interfaccia grafica.
Windows NT e' nato come "sistema operativo orientato ai server", gia' il fatto che un OS destinato a finire su un PC che poi sara' relegato in uno sgabuzzino o in una sala macchine senza poi essere guardato da nessuno, e sia dotato di una interfaccia grafica fa' un po' riflettere... che cavolo se ne fa' dell'interfaccia grafica ?

Generalmente si dice: "l'interfaccia grafica e' piu' facile da usare per gli utenti", OK, per gli utenti, ma stiamo parlando di un server, gli utenti non lo usano il server, non direttamente almeno, il server lo usano gli amministratori, che si suppone siano molto piu' intelligenti e preparati degli utenti, quindi il "motivo principe" per l'esistenza di tale interfaccia cade miseramente.

Si puo' arguire che l'amministratore non e' altro che un utente con un po' piu' di esperienza, in questo caso l'utilizzo della GUI lo aiuta nei vari compiti di amministrazione. Ok, ma se il nostro amministratore e' uno in gamba, la presenza della GUI e' solo un impedimento, in quanto ci si mette di piu' a svolgere una qualsiasi cosa usando una gui piuttosto che digitando un comando alla tastiera.

In questo senso sarebbe molto meglio se NT avesse si' la GUI, ma tale GUI fosse "disattivabile" consentendo all'amministratore l'utilizzo della interfaccia a caratteri (CLI) se la preferisce. Purtroppo non e' cosi', NT costringe il proprio utente ad utilizzare sempre la GUI, "instupidendo" l'utente verso il basso.

Le moderne distribuzioni di Linux forniscono Gnome, l'interfaccia grafica di Linux, che ha moltissimi punti in comune (anche troppi secondo me) con l'interfaccia di Windows, c'e' pero' una differenza fondamentale: l'interfaccia di Linux e' proprio questo: una interfaccia, si puo' sempre chiudere l'interfaccia e ritornare al buon vecchio terminale a caratteri.

NT e' piu' facile da configurare di Linux perche' ha il Plug & Play.
Questo e' falso. Infatti proprio su NT, il P&P non e' implementato, l'utente che installa NT deve sapere come e' costruita la propria macchina e fornire ad NT la configurazione esatta, altrimenti non funziona. Esattamente come con Linux, salvo il fatto che Linux tutto questo lo dichiara dal principio.

La configurazione di Linux e' complicata perche' tutte le informazioni vengono disseminate tra una miriade di file in giro per il sistema. Non c'e' uno strumento tipo Pannello di Controllo che consente di controllare tutti i parametri di configurazione.
Questo e' solo parzialmente vero. Molte distribuzione di Linux hanno dei tools di configurazione che consentono di controllare la configurazione di svariati (se non tutti) servizi installati sulla macchina, in una maniera molto simile a quella implementata da Windows, cio' che rimane e' il fatto che le varie impostazioni rimangono separate in vari files di configurazione, e non centralizzate in un unico blob binario (il registry), che non e' ispezionabile se non tramite i tools specifici e che se si rovina distrugge tutte le informazioni. Su Linux se si rovina un file di configurazione al massimo un solo servizio cessa di funzionare, non tutta la macchina.

Inoltre, i vari files sono sempre ASCII, quindi consultabili e modificabili direttamente con un volgarissimo editor (VI), risultato: l'amministratore in gamba usa direttamente VI per modificare i files di configurazione e supera le (eventuali) limitazioni del tools di configurazione.

Il prodotto MS e' costoso ma ti permette di sviluppare una soluzione a basso costo.
Qui' bisognerebbe specificare cosa significa "basso costo". Se partiamo dall'idea che lo "sviluppatore" e' lo stesso proprietario della macchina e del sistema, allora gia' il fatto di dover pagare NT ed il software per sviluppare il programma (qualunque esso sia), questo costo e' per definizione piu' elevato di quello necessario ad installare Linux che i tools per sviluppare software li fornisce tutti e gratuitamente.

Se invce partiamo dall'idea che l'utente/proprietario paga qualcuno perche' installi la macchina, il software e sviluppi il prodotto il discorso cambia un po'.

Chi installa/configura/mantiene una macchina Linux/Unix si fa' pagare di piu' chi fa' lo stesso su piattaforma Microsoft, questo perche' il prodotto che installa/mantiene e' innegabilmente piu' complesso e richiede piu' attenzione, ma e' anche molto piu' robusto e flessibile.

Innegabilmente, un prodotto software sviluppato su Linux/Unix costa di piu' di un equivalente prodotto sviluppato su piattaforma MS, questo fondamentalmente perche' lo sviluppatore Unix/Linux e' uno sviluppatore piu' accurato e piu' esperto (=costoso). D'altra parte chi paga qualcuno per sviluppare un mini-prodotto in Access ha poi la possibilita' di "mettere le zampe" dentro nel sorgente e manipolare il prodotto, non sempre con risultati positivi, chi si fa' sviluppare un prodotto sotto Unix/Linux in genere si trova con un programma sviluppato in C/C++, che e' molto piu' difficile per l'utente "medio" manipolare.

In ogni caso, quando andiamo a confrontare il costo dei prodotti finiti (assumendo che i due prodotti siano confrontabili, non sempre e' cosi'), dobbiamo considerare nel computo anche il costo del SO che lo supporta.

Assumendo che i prodotti realizzati sulle due piattaforme siano confrontabili (non sempre lo sono), potremmo ipotizzare che a parita' di costo si ottengano prodotti analoghi, quindi dando piu' soldi al programmatore si ottiene un prodotto migliore, a questo punto cosa conviene fare ? Pagare 1000$ il SO e 1000$ il programmatore, o pagare 0$ il SO e 2000$ il programmatore ?

Davide Bianchi
22/03/2008 00:00

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

Nessun messaggio this document does not accept new posts

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira