Non ti preoccupare
Sei il primo che sento dire il contrario, cioè di parlare a favore di .NET, dal punto di vista di uno sviluppatore professionale, ma è anche vero che hai una formazione e direzione diversa, puntando su Java.
Per quanto riguardano le esperienze Java, non è tutto rose. Lavoro presso un'azienda piuttosto grossa, che da Visual Basic è passato ad ASP per applicazioni web, e poi a Java, con la combinazione suindicata, Linux, ma anche Windows. Gli applicativi sono tutti quanti orientati per le banche, e il passaggio è stato coraggioso, anche troppo. Nel senso che mi è stato chiesto di fare un'accurata analisi dei costi e delle risorse per mandare avanti il carro.
Poiché era piuttosto costoso ed impegnativo, uno dei titolari ha deciso di ignorarlo, e ha fatto fare altri preventivi, che prontamente erano molto al di sotto della mia previsione. Quindi, tutti decisero per passare a Java. Sono poi passati due anni, il lavoro è esploso, ma non tanto il guadagno, e ora si stanno rendendo conto, che la mia previsione era più che giusta, anzi sottovalutata, e si trovano nel pasticcio, perché devono mantenere decine di persone altamente qualificati, mentre il guadago continua a calare. Inflazione del lavoro, direi. Vogliono tornare indietro, ma non possono. E a denti stretti mi raccontano che tutto va a gonfie vele
Io nel frattempo, sono rimasto su quel che so fare, e mi trovo con una mole di lavoro inaspettata, talmente tanto che non ce la faccio più. Sto perfino dietro ai ragazzi che programmano in Java, per insegnarli dei trucchi applicati in C++, per risolvere problemi in Java. Certo, sono molto limitato in questo campo, conosco appena le basi, ma volendo, potrei fare parte del team Java, che conta oltre 20 persone, mentre il gruppo, che mantiene tutta la banda, conta appena 3 persone, di cui due programmano esclusivamente in Visual Basic, io anche, ma più recentemente quasi tutto in C.
Il problema maggiore è che Java diventa estremamente complesso e difficile da gestire, quando si tratta di realizzare grossi progetti con decine di prodotti simili, ma non uguali. Le centinaia di classi richiedono la supervisione di uno o due persone che non fanno altro che coordinare, e queste persone non ci sono. Mancano i fondi. Risultato: tutti fanno qualcosa separatamente per rattoppare, e creano una confusione inspiegabile. Il personale specializzato e abbastanza universale sono l'amministratore database (1), programmatori Java Top-Gun (1) e il coordinatore progetti (1). In più il nostro gruppo che mantiene il prodotto classico. E in 6, praticamente, mandiamo avanti la baracca, che conta sì e no 60 persone. Se qualcuno di noi crolla, sono fritti tutti. E di crolli ne abbiamo avuti diversi.
Morale della storia: I preventivi costosi sono spesso giusti a lungo andare, e la qualificazione in un'altra materia non vuol dire obbligatoriamente che la stima sia sbagliata. Altra morale: Prendere la calcolatrice e calcolare il caso peggiore, prima di lanciarsi in progetti senza via di uscita. E ancora: Non usare linguaggi che richiedono 5 volte le risorse di un linguaggio che si conosce bene, tutti. Se avessero scelti ASP, avremmo potuto intervenire direttamente, dare consigli validi, e convertire il codice esistente in relativamente poco tempo. Con Java tutto è stato riscritto e tutti gli errori sono stati riprodotti fedelmente
Con questo non voglio dire che Java non sia un mezzo validissimo, ma che è stata sottovalutata la quantità di problemi al riguardo, e la struttura del team è stata costruita in base a un modello di programmazione diverso, Visual Basic, quindi totalmente errato. Purtroppo, questa situazione ammazzerà l'azienda, a lungo andare, e ha già cominciato...
Giovanni
---
http://www.y2ksw.com/vbulletin