facendo una breve disamina.
Windows ha ancora alcuni assi da giocare. Principalmente, Office. Che nella versione 2007 fa' un salto indietro di 10.000 anni, ma che comunque resta lo standard.
In particolare, vorrei sottolineare come l'utente medio di PC abbia la preparazione di un criceto zombie. Non capisce la struttura sottostante, non ha idea di quello che vede. Lavorando a contatto con gli utenti, me ne rendo benissimo conto.
Abbiamo ben donde a dire "con linux si fa' la stessa cosa, basta sbattersi un attimo di più". Anche solo spiegare una nuova procedura è proibitivo a chi accetta a fatica la vecchia. La gente odia i pc, figuratevi se si va' a impelagare con Linux. Impossibile dire loro di usare Open Office, e viste le ultime versioni dello stesso, non lo sto più facendo neanche io, se posso evitarlo.
Quindi, prima di qualunque considerazione tecnica, relativa alla configurazione piuttosto che al kernel piuttosto che alle prestazioni, bisogna tenere conto del fattore umano, che è quello dominante nell'equazione.
In termini puramente tecnici, uso sia windows che linux per lavoro. Di recente sto cercando di portare un vecchio db postgresql su una nuova versione - UN INCUBO. Mentre mysql è rimasto compatibile verso il basso, psql non ha questa grazia. Mysql, d'altro canto, comincia solo di recente ad avere le caratteristiche di un dbms serio (integrità referenziale, sottointerrogazioni, ecc).
Invece, bene o male, riesco a schiaffare di tutto dentro SQL Server (fogli di Excel, che sono il formato universale per i dati anche per utenti davvero validi nonchè programmatori loro stessi, come alcuni ingegneri che conosco), con una semplicità e una sicurezza maggiore di quanto non faccia con linux.
Lo stesso vale per RDP, un protocollo che è a dire poco fondamentale nella mia vita lavorativa. Il remote desktop strasicuro di Ubuntu ogni tanto invia degli ALT in più alla finestra di lavoro, col risultato che gli altri caratteri che effettivamente invio da tastiera (righe di codice) si traducono in scelte di menù. Inconveniente non da poco.
Non è un caso se facciamo i nostri confronti non con Mac OS, pure un sistema unix-like e bene ottimizzato, pregiato, ma con Windows. Bene o male, lo zio bill detta legge in materia di compatibilità. Da questo punto di vista, Linux è problematico.
Parlando di tecnica e di amministrazione del sistema, amministrare un server windows (Windows 2003, ad esempio) NON è semplice. Richiede una buona preparazione. C'è da dire che bisogna andare a impazzire fra i menù, conoscere un tantino il registro di sistema e tutta un'altra serie di dati e di interfacce. Lo stesso vale per l'amministrazione di un server web. Da questo punto di vista Windows non è meno didattico di Linux. Un sistemista deve sapere dove mettere le mani sia con W2003 che con Linux.
E' anche inutile stare a disquisire se la shell sia l'interfaccia superiore rispetto al menù grafico. Io apprezzo molto il fatto di averli entrambi, sotto linux, mentre sotto windows la shell è limitata (ma NON assente!). Sono formalismi identici quando si tratta di addestrare la logica.. che il servizio riparta con un click del mouse o digitando pure-ftpd&, non cambia l'essenza dello stesso.
Parlando di programmazione, visual basic è un signor linguaggio. Così come anche ASP del resto. Sono linguaggi, però, limitati. Linguaggi che si concentrano sui compiti più comuni, e che non dispongono di quelle estensioni che permetterebbero loro di svolgere compiti a 360 gradi.
Resta il fatto che io posso scrivere una database app in asp in una frazione del tempo che impiegherei in java o in c#, linguaggi odiosi e stitici, dove una stringa, prima di dartela, ti costringe a portarla alla rassegna di cinema cecoslovacco. Mentre in Basic le stringhe, che non sono esattamente questo tipo di dato esotico di scarso utilizzo, te la danno molto più facilmente e non devi neanche pagarle granchè. E disponi di tutte le caratteristiche di un linguaggio moderno - gli oggetti, ad esempio, anche se non l'ereditarietà. Poco male, quando sei un programmatore, vale a dire uno che segue tutto un progetto, e non un ingegnere del software (uno che mette assieme i pezzi fatti da altri).
Ad ogni cosa il giusto strumento. Un progetto di dieci persone e un milione di righe di codice richiede C# o Java, tanti mesi di lavoro, almeno un 100.000 euro di investimento e una struttura ad oggetti ereditari. Un programma che, venduto, ne costerà 10.000, lo sviluppi in ASP se non vuoi che il tuo tempo valga 5 euro l'ora (tariffa standard indiana). E in ASP sarà solido, facilmente manutenibile, modificabilissimo ed estensibile. Ironicamente, più estensibile che se non lo avessi strutturato a oggetti. Solo andare a cercare il pezzo di codice che fa' davvero quello che devi cambiare, invece di scontrarti con oggetti che richiamano oggetti, richiederà delle ore.
Dulcis in fundo, dal punto di vista tecnico, noi "liberi" siamo più veloci. Quello che ci piace, ce lo prendiamo. Eppure, io manco ancora di un driver decente per questa ATI che mi è capitata in sorte. Al che mi direte, prenditi una NVIDIA. Ok, ma non si era detto che era il sistema e l'approccio superiore?
Abbiamo ottime ragioni per vantarci. Abbiamo interfacce chiaramente superiori, programmi solidi, zero virus, siamo resistenti agli attacchi e siamo gratis. Ma non siamo mainstream, e non potremo esserlo ancora a lungo. Non dobbiamo neanche essere troppo arroganti, perchè molti punti fondamentali del nostro percorso (riconoscimento hardware, compatibilità con le reti mainstream, una suite office veramente evoluta) sono ancora in divenire.
Vinceremo. Abbiamo il kernel migliore, il file system migliore (reiserfs), il sistema di sviluppo migliore. Però non abbiamo ancora vinto.