La mia azienda utilizza Java (come lingua e piattaforma) da molti anni. Abbiamo molti prodotti che variano molto per dimensioni, scopo e complessità. Qualunque siano i requisiti, la risposta è sempre la stessa - Java. Questa posizione ovviamente ha vantaggi e svantaggi. Da un lato positivo, non c'è il cambio di contesto tra incarichi di lavoro su progetti diversi, ogni sviluppatore in azienda può essere relativamente produttivo su molti progetti; da un lato negativo, un piccolo strumento potrebbe finire per essere "schiacciato" da Hibernate. Da un lato, gli ambienti di confezionamento, distribuzione ed esecuzione potrebbero essere standardizzati; d'altra parte, potremmo perdere l'agilità della mente e perdere le soluzioni ottimali sempre "pensando in Java". Potrei andare avanti all'infinito.
La programmazione di poliglotta è diventata abbastanza comune nel recente passato, per quanto possa osservare. Detti come "strumento giusto per il lavoro" suonano sempre strong anche nelle mie orecchie. Il desiderio di aprirsi e di esporsi a più "strumenti giusti" è abbastanza strong, ma dov'è il rischio? Meglio ancora, dov'è la media aurea? È sempre pericoloso andare da un estremo all'altro. Ho paura di un giorno di svegliarsi in un pasticcio incomprensibile di una gigantesca pila di Java, Groovy, Python, Ruby, PHP, Scala, ecc. Con tutti i relativi strumenti, strutture, server e filosofie.
Hai un'esperienza pratica di lavoro in lingua e piattaforme di policoltura per almeno due anni? Quali sono le tue osservazioni principali? Di cosa sei ancora eccitato e cosa temi?