I linguaggi di programmazione nascono per svariati motivi tutti rivolti a coprire specifiche esigenze e/o mancanze/inefficienze esistenti.
Pluralità di linguaggi significa dunque maggiore copertura e maggiore sicurezza per i professionisti IT.
Negli ultimi tempi la somiglianza tra Java, C# e C++ è andata aumentando. Come sempre ci sono i puristi delusi dalla Sun (che pensa giustamente a fare $oldi cercando di portare sulla propria barca anche i #isti. Fa bene, ma non so se questo avverrà su grande scala) e i pragmatici che vantano una certa capacità di
switching tra le varie tecnologie.
La verità non è mai nel mezzo e di fatti anche in questo caso bisogna scendere un pò in "cantina", per vedere il problema più da vicino.
Punto primo. Limitandoci ai soli linguaggi citati, pare che Java e C#
tendano a C++. E' singolare per Java che è nato come antagonista di C++ ("eliminando tutta quella roba inutile", quante volte ho sentito questo insulso commento) ora si trovi addirittura ad introdurre i Generics (certo con tutti i distinguo del caso. Ad ogni modo i Generics hanno una loro legittimità e utilità)
Punto secondo. Se da un lato la somiglianza e dunque l'interascambio di developers tra i vari linguaggi produce
sinergia (parola che inebria qualsiasi manager...) non capisco perché allora inventarne o - ancora peggio - impararne tanti.
Punto terzo. Dov'è lo specifico di ogni linguaggio se tutti tendono prima o poi a unificarsi a certi standard? E' nel marketing, parafrasando McLuhan dico: il marketing è il linguaggio (!!!)
Punto quarto. Si ha come il sospetto che la Sun abbia operato in questo modo: Java è senz'altro un buon linguaggio, ben accessibile ai più, con un sacco di buone cosucce che messe insieme fanno un prodotto vendibile. Boom! In pochi anni la Sun è diventata una delle major sul mercato (vendevano hardware. Ora stravendono...non vi dice nulla tutto questo con la strategia dell'Open Source?) con una larga fidelity tra gli adepti e una schiera di
evangelist (questa degli evangelist è una cosa che mi fa ridere di brutto) che seguitano a fare il loro bravo predicozzo. Tié! becchiamoci i generics, i foreach, i varargs,...e tante altre cose che NON sono "inutile roba" anzi necessaria per una buona copertura di business (e che non potevano darci - loro, gli
evangelist - con la bottiglina perché altrimenti -secondo loro- avremmo avuto un rigetto. Tradotto: avrebbero rischiato un clamoroso fiasco).
Non so se è stata una lungimirante strategia o semplice fiuto di mercato, di fatti ora il linguaggio inizia a diventare più serio e complesso (al di là della complessità intrinseca del paradigma ad oggetti) e fatto salvo alcune eccezioni, le reazioni si sono limitate a innocui e scontati mugugni.
P.S
Scontatissimo il mio rifiuto a dare contributi (?) nelle inutili e infeconde discussioni che ruotano intorno al già eterno quesito: "meglio Java o C#" et similia.
Labels: IT