Java ed il trionfo della mediocrazia made in Italy

java-prize-for-mediocrityLa meritocrazia ed i successori di George Abnego

Java e Meritocrazia… No, non è un refuso, non intendevo scrivere meritocrazia. La mediocrazia è esattamente l’opposto del concetto di meritocrazia, è il trionfo degli uomini da riporto, gli eredi evoluti dell’uomo medio, il trionfante George Abnego. Questi pavidi eredi della specie umana  regrediscono allo stato animale e vengono addomesticati dai cani, che nel frattempo sono diventati senzienti, e gli esseri umani, con una simpatica inversione di ruoli fantascientifica, vengono utilizzati dai cani come animali da compagnia. L’unico errore dell’autore (William Tenn, “Null-P“) è l’ambientazione, non è l’America, ma l’Italia la patria di elezione dell’ Uomo Medio.

In Italia hanno vinto loro: i medi, sono quelli che sostengono sempre e comunque che “non si possa avere davvero completamente torto” su qualcosa, quelli che cercano sempre le posizioni equidistanti, quelli che non si espongono mai, i moderati.

Li riconoscete quando su Facebook dopo un post su un argomento appena un po’ controverso, per esempio su un tema come Edward Snowden, vi scrivono “io non capisco di queste cose”. Non sia mai detto che si espongano e prendano una posizione, in pubblico, se non sono già sicuri di schierarsi a favore del vincitore.

I Medi sono al governo da ben oltre 70 anni, e questo paese è alle soglie di una catastrofe finanziaria e sociale. I loro antenati sono illustri, e gli anticonformisti pensanti sono strani mutanti destinati ad un futuro incerto. “Con Francia o Spagna, purché se magna” è da sempre il motto dei Medi. Il loro attributo precipuo è quello di “tenere famiglia”. In nome dei loro pargoli sono dispostissimi a tagliarvi la gola e pugnalarvi alla schiena, il tutto senza mai abbandonare una bellissima presunzione di “superiorità morale” e magari facendovi anche una bella ramanzina sul Natale, i buoni sentimenti, e naturalmente “la famiglia”.

Nelle aziende ed in genere dovunque si prendano delle decisioni, “l’uomo medio” decide, ma con moderazione, nel dubbio non assume posizioni e si limita a fare quello che fanno tutti gli altri. Non rischia, e se anche pensa, non parla.

Per ogni problema c’è una soluzione, questa soluzione è Java 🙂

 

Non è che manchino delle alternative tecnologiche convincenti a Java, ed è ben strano che le Università Italiane, in tema di Informatica abbiano deciso di adeguarsi tutte a questo linguaggio, a fronte di esperienze assai diverse in altri paesi, che hanno visto nascere per scopi eminentemente didattici linguaggi come OCAML, prodotto dalla ricerca Francese dell’INRIA o notevoli esperimenti su Haskell, ML in paesi non così lontani. Certo, in altri paesi, per esempio, non si copia, ed è raro incontrare molte persone con stesso cognome in Università e, per non farsi mancare nulla, nel Tribunale della stessa grande città.

Da noi cosa si è scelto di fare? Formare i giovani su Java. Così, perché è l’industria del paese che ce lo chiede. Certo, ottimo, adesso finalmente abbiamo una Università che forma le professionalità richieste, peccato che sia la formazione che le richieste siano obsolete e basate su assunti di assai dubbia modernità.

Risultato: oggi tutta l’amministrazione pubblica e tutto il sistema paese Italia, di fatto utilizza applicazioni che vengono definite commerciali da Oracle, che circa sei anni fa ha acquisito Sun, l’azienda che ha progettato e diffuso Java.
Din din, si inizia a sentire il tintinnio di qualcuno che verrà scrollato, se serve a testa in giù, per far cadere le monete in suo possesso…

E’ cosa saggia usare “come monocoltura” Java in campo Informatico? Da un punto di vista di performance, e quindi economico, non può esserlo, dato che un linguaggio basato su un processore virtuale, simulato, non potrà mai essere altrettanto efficiente di un un linguaggio che compila codice nativo su un processore reale. Quindi qualsiasi strategia che utilizzi un linguaggio le cui prestazioni siano sistematicamente dominate da un altro, non può essere altrettanto scalabile, ne’ altrettanto efficiente.

Il vero problema non è in se’ Java,  che è una rispettabilissima piattaforma informatica, è la forma mentis da hoarding, che porta alla sua scelta “perché così non si può sbagliare”, tutti insieme, tutti seguendo la stessa identica moda, senza riflessione e senza aperture. E’ lo stesso fenomeno che una volta portava a scegliere IBM perché “mai nessuno è mai stato licenziato per aver scelto IBM” (cosa diventata in seguito falsa, si, i tempi cambiano, anche se lentamente).

Se realizzo un sistema su Cloud, difficile ambire ad una diffusione planetaria, se parto con Java: un mio concorrente che spende la metà quanto a risorse e tempo di calcolo, può fornire lo stesso mio servizio a metà dei miei costi….

E quando si prendono decisioni per la nazione che succede?
Iniziate a chiedervi quanto ci costano i server ed i sistemi in Java dell’Agenzia delle Entrate, che servono decine di milioni di utenti.
Davvero davvero non si poteva fare di meglio? Suvvia, ma lo avete visto come funzionano “bene” i software per le dichiarazioni?

Ed è niente rispetto alla porcheria di avere sistemi diversi, regione per regione, in nome dell’Autonomia Locale, ma soprattutto del finanziamento delle grandi società di consulenza, che realizzano non un unico sistema informatico, per esempio, per l’assistenza medica, ma tante versioni diverse quante sono le regioni: una bellissima moltiplicazione di pani e di pesci, per esempio a spese di chi ha un bar e si ammazza di lavoro da mattina presto a sera tardi per tentare affannosamente di sbarcare il lunario.

Aperto, Gratis, Multipiattaforma… oppure no?

 

Si, ma “Java è aperto, multipiattaforma e gratis!”. La frase precedente contiene tre predicati, e sono falsi tutti e tre.
Java non è aperto, perché il nucleo fondante del successo economico di Java, il compilatore HotSpot non è ne’ aperto, è basato su una tecnologia squisitamente proprietaria, ne’ tantomeno è multipiattaforma, le piattaforme su cui gira Java Hotspot non sono più di quattro o cinque, e non includono, per esempio, ARM64. Se volete utilizzare Java su MIPS, o simili (e potrebbe servirvi, per esempio in un contesto embedded), tanti auguri e tante care cose!
Senza Hotspot potete solo usare OpenJDK, e quest’ultima Virtual Machine non ha le prestazioni che ormai date per scontate quando parlate di Java, e senza le quali Java non avrebbe mai raggiunto la sua diffusione.

Inoltre, piccola ciliegina sulla torta: Java non è gratis, in particolare non lo è  Java SE. Java è gratis per lo sviluppo, cioè lo è esattamente quanto il database Oracle, che, come sviluppatori potete scaricare liberamente, ed anche utilizzare per sviluppare un sistema; ma la cui licenza commerciale vieta espressamente che possiate farci alcunché di non didattico senza pagare.
Pensavate che fosse gratis? Sbagliavate.

Open Source tua nonna…

La cosa più divertente è tutta la spocchiosa retorica Open Source su Java, che è “open source” ma a macchia di leopardo, cioè quel che basta per essere del tutto proprietario.
Ma a parte il rischio di dover pagare cifre arbitrarie per la vostra “tecnologia gratuita”, dopo averci basato sopra l’intera infrastruttura informatica del paese, Java non è a la migliore soluzione possibile, nemmeno ignorandone il costo.

Vi siete mai chiesti perché non si scrivono Web Server in Java, se non come esercizio didattico? Perché non ha senso, dato che i Web Server devono essere programmi efficienti ed affidabili.

Se non vi rendete conto che Java è meno efficiente, per esempio del C++ o di qualsiasi altro linguaggio compilato nativamente, e dite di occuparvi di informatica, probabilmente non avete una cultura informatica degna di questo nome, ed avete serie lacune nella comprensione, a livello di sistema, della tecnologia che vi circonda: probabilmente avete un titolo da “informatici”, ma non capite davvero gli strumenti che utilizzate, e siete un po’ analoghi a chi guida un’automobile, ma non ha una idea nemmeno una molto vaga di come possa funzionare uno spinterogeno.

Se non siete informatici, potrebbe anche andare bene, ma il dramma è se siete informatici e prendete decisioni su cose che non capite, perché valutate il contesto, non valutate quali sono i pregi ed i difetti di una soluzione diversa, e soprattutto non sapete che esistono alternative. Avete in mano dell’aspirina e da bravi medici, la somministrate indifferentemente sia per il mal di testa che per il diabete e per la menopausa.

Anche nell’utilizzare Java, in Italia lo si fa comunque nel modo peggiore possibile, privilegiando le soluzioni che comportino una massimizzazione delle risorse da umane da impiegare: file di configurazione XML lunghi come romanzi, e tecnologie perverse come JSF, scartando qualsiasi soluzione “semplificante”. Lo scopo non è produrre un sistema che funziona bene: è produrre il numero massimo di billable hours che si riesca, va bene per tutti: grandi società di consulenza, dirigenti (massimizzazione del curriculum: ho guidato un sacco di sottoposti), ed anche del singolo consulente (“ho massimizzato il mio curriculum, ho inserito tante keyword nel mio CV”).
Ed è contento anche il selezionatore, che già non capisce che competenze deve selezionare, quindi figurati se non sfoltisce con “preparazione su Java”, “aggiornata” e con laurea magistrale e conoscenza della lingua Inglese.

Piccola parentesi sull’HR in Italia

Suvvia, in Italia i selezionatori chiedono la conoscenza della lingua Inglese ai contabili, a cui non serve mai, tranne per le sei multinazionali che ne hanno davvero bisogno e che non usano le aziende di selezione del personale.
Glielo andate a dire voi che ad un giovane che ha iniziato a lavorare tardi, che comunque a cinquant’anni la sua carriera sarà bruciata e che non riceverà più alcuna risposta ad un suo curriculum? Si, nel frattempo l’età pensionabile si allunga, e non si capisce che prima o poi, questa cosa potrebbe diventare, come dire, appena lievemente problematica.
Sul ruolo dell’HR nella disfatta di questo paese mi dilungherò in modo più diffuso in seguito.

L’uomo medio e le alternative a Java

Nello scegliere alternative, anche quando non usano Java, gli “uomini medi” alla fine seguono sempre e comunque mode.

Per esempio ci sono dei furbastri che auspicano un maggiore utilizzo di PHP nella pubblica amministrazione al posto di Java, un po’ come suggerire di spararsi nei testicoli come cura per il mal di testa, allo scopo di vendere più proiettili se siete degli armaioli.

Sempre per esempio, solo degli sviluppatori Italiani potrebbero pensare di sostituire un back end scritto in Golang e sostituirlo con uno in Ruby, e proporlo allo scriteriato cliente di turno come “miglioramento”, sfruttandone l’analfabetismo tecnico. Lo possono fare solo in Italia, dato che non c’è nessuno che possa capire la scelta, le implicazioni, e tanto il cliente non “capisce di fatti tecnici e soprattutto non li vuole capire”. Inutile progettare un sistema ad alte prestazioni: non verrà capito, ed il prossimo “conoscente meglio introdotto” lo massacrerà senza ritegno e senza capire.

Evoluzione della specie

Forse hanno ragione i “medi”, che si adeguano a quello che il cliente davvero vuole, e quel che vuole in Italia, un paese in cui il termine meritocrazia è privo di significato, e di sicuro non premia mai, è quasi sempre solo una gratificazione del proprio ego.

Infatti più sei intelligente in Italia, tanto meno è probabile che tu abbia un lavoro non precario, e possa come conseguenza riprodurti e passare i tuoi geni:  abbiamo una selezione sistematica di idioti, una eugenetica all’incontrario, in cui alla fine sopravvivano solo figli di politici ed ammanicati è un problema neanche tanto fantascientifico in questo paese.

Questa ripeto, non è una tirata su Java, ma su un modo di fare informatica.
Identicamente e con lo stesso spirito si può fare app mobili con un qualche framework multipiattaforma, oppure si può usare iOT con disinvoltura e totale assenza di consapevolezza e di ragionamento sulle conseguenze ed implicazioni in termini di sicurezza: la ricetta è sempre quella: seguire una moda, non pensare, non riflettere, ma limitarsi a seguire il branco.

La contromisura? Fare esattamente l’opposto, cioè riflettere, ragionare e tenere una mente aperta, effettuare di tanto in tanto degli esperimenti con altre tecnologie.

Lascia un commento

You are not allowed to enter any URLs in the comment area.