Il titolo di questo post è volutamente ironico, ed affronta un argomento all’ordine del giorno in ogni ambiente di lavoro e/o community in cui si ha a che fare con le tecnologia legate al mondo del software.
In questi ambienti capita spesso infatti di sentire o di partecipare a discussioni circa il fatto che quella o quell’altra tecnologia prevale a parità di contesto di utilizzo, es. Java è meglio di .NET, Oracle è meglio di Sql Server, o viceversa.
Questi dibattiti, per quello che è la mia esperienza sul campo, sono spesso e volentieri condizionati dalla unilaterale conoscenza di una particolare tecnologia, e raramente colui che l’appoggia ha una consolidata esperienza su entrambe le piattaforme.
Ho assistito molto spesso a discorsi tipo:
“questo pezzo di codice se fosse scritto in Java non avrebbe quel bug…“,
oppure
“se questa query fosse in PL-SQL le prestazioni sarebbero sen’altro migliori“.
In questo interessantissimo post di Scott Guthrie in merito all’ultimo dibattito tecnologico in essere tra gli sviluppatori web (meglio ASP .NET Web Forms o ASP .NET MVC ?), è sintetizzato il mio pensiero sull’argomento:
“Great developers using bad tools/frameworks can make great apps. Bad developers using great tools/frameworks can make bad apps. Be very careful about making broad assumptions (good or bad) about the quality of the app you are building based on the tools/frameworks used”.
Sono le persone che partecipano allo sviluppo a rendere vincente o perdente un software, a prescindere dalla particolare tecnologia applicata, ed è un grave errore pensare che solo perchè si è scelto di utilizzare l’ultima moda tecnologica un progetto software debba per forza essere vincente.