Paul Graham su Java e i linguaggi di programmazione "hacker" (2001)

Paul Graham su Java e i linguaggi di programmazione "hacker" (2001)

Questo saggio è nato dalle conversazioni che ho avuto con diversi sviluppatori sull'argomento dei pregiudizi contro Java. Questa non è una critica a Java, ma piuttosto un chiaro esempio di “radar hacker”.

Nel corso del tempo, gli hacker sviluppano un fiuto per la tecnologia buona o cattiva. Ho pensato che potrebbe essere interessante provare a delineare le ragioni per cui trovo Java discutibile.

Alcuni di coloro che lo lessero lo considerarono un tentativo degno di nota di scrivere su qualcosa di cui non era mai stato scritto prima. Altri mi avvertivano che stavo scrivendo di cose di cui non sapevo nulla. Quindi, per ogni evenienza, vorrei chiarire che non sto scrivendo di Java (con cui non ho mai lavorato), ma di “hacker radar” (a cui ho pensato molto).

L'espressione “non giudicare un libro dalla copertina” ha origine da un'epoca in cui i libri venivano venduti con copertine di cartone vergini che l'acquirente rilegava a suo piacimento. A quei tempi non si riconosceva un libro dalla copertina. Da allora, tuttavia, l’industria editoriale ha fatto grandi passi avanti e gli editori moderni fanno di tutto per garantire che la copertina dica molto.

Ho passato molto tempo nelle librerie, e penso di aver imparato a capire tutto quello che gli editori vogliono dirmi, e probabilmente anche qualcosa di più. La maggior parte del tempo che trascorrevo fuori dalle librerie lo trascorrevo davanti agli schermi dei computer e suppongo di aver imparato, in una certa misura, a giudicare la tecnologia dalla copertina. Potrebbe essere una fortuna cieca, ma sono riuscito a evitare alcune tecnologie che si sono rivelate davvero pessime.

Una di queste tecnologie si è rivelata per me Java. Non ho scritto un solo programma in Java, e ho solo dato una scorsa alla documentazione, ma ho la sensazione che non sia destinato a diventare un linguaggio di grande successo. Potrei sbagliarmi: fare previsioni sulla tecnologia è un’attività pericolosa. Eppure, una specie di testimonianza dell'epoca, ecco perché non mi piace Java:

  1. Entusiasmo eccessivo. Non è necessario imporre questi standard. Nessuno ha provato a promuovere C, Unix o HTML. I veri standard vengono stabiliti molto prima che la maggior parte delle persone ne senta parlare. Sul radar di un hacker, Perl non assomiglia a Java esclusivamente per i suoi meriti.
  2. Java non punta in alto. Nella descrizione originale di Java, Gosling afferma esplicitamente che Java è stato progettato per essere facile da usare per i programmatori abituati al C. È stato progettato per essere un altro C++:C con alcune idee prese in prestito da linguaggi più avanzati. Come i creatori di sitcom, fast food o tour di viaggio, i creatori di Java hanno consapevolmente progettato un prodotto per persone che non erano intelligenti come loro. Storicamente, i linguaggi progettati per essere utilizzati da altri hanno fallito: Cobol, PL/1, Pascal, Ada, C++. Quelli di successo, tuttavia, sono stati quelli che i creatori hanno sviluppato per se stessi: C, Perl, Smalltalk, Lisp.
  3. Motivi nascosti. Qualcuno una volta disse che il mondo sarebbe un posto migliore se le persone scrivessero libri solo quando hanno qualcosa da dire, invece di scrivere quando hanno voglia di scrivere un libro. Allo stesso modo, il motivo per cui continuiamo a sentire parlare di Java non è perché stiano cercando di dirci qualcosa sui linguaggi di programmazione. Sentiamo parlare di Java come parte del piano di Sun di sfidare Microsoft.
  4. Nessuno la ama. I programmatori C, Perl, Python, Smalltalk o Lisp sono innamorati dei loro linguaggi. Non ho mai sentito nessuno dichiarare il proprio amore per Java.
  5. Le persone sono costrette a usarlo. Molte persone che conosco che usano Java lo fanno per necessità. Pensano che otterrà finanziamenti, o pensano che piacerà ai clienti, o che sia una decisione del management. Queste sono persone intelligenti; se la tecnologia fosse buona, la userebbero volontariamente.
  6. Questo è un piatto di molti chef. I migliori linguaggi di programmazione sono stati sviluppati da piccoli team. Java è guidato da un comitato. Se si rivelerà una lingua di successo, sarà la prima volta nella storia che un comitato creerà una lingua del genere.
  7. Lei è burocratica. Da quel poco che so di Java, sembra che esistano molti protocolli per fare qualsiasi cosa. Le lingue davvero buone non sono così. Ti lasciano fare quello che vuoi e non ti ostacolano.
  8. Pubblicità artificiale. Ora Sun sta cercando di fingere che Java sia guidato dalla comunità, che sia un progetto open source come Perl o Python. Eppure lo sviluppo è controllato da una grande azienda. Così il linguaggio rischia di rivelarsi lo stesso squallido squallore di tutto ciò che esce dalle viscere di una grande azienda.
  9. È stato creato per le grandi organizzazioni. Le grandi aziende hanno obiettivi diversi con gli hacker. Le aziende hanno bisogno di linguaggi che abbiano la reputazione di essere adatti a grandi team di programmatori mediocri. Linguaggi con caratteristiche come i limitatori di velocità sui camion U-Haul, che mettono in guardia gli sciocchi dal causare troppi danni. Agli hacker non piacciono i linguaggi che li insultano. Gli hacker hanno bisogno di potere. Storicamente, i linguaggi creati per le grandi organizzazioni (PL/1, Ada) hanno perso, mentre i linguaggi creati dagli hacker (C, Perl) hanno vinto. Motivo: il giovane hacker di oggi sarà il CTO di domani.
  10. Piace alle persone sbagliate. I programmatori che ammiro di più generalmente non vanno pazzi per Java. A chi piace? Suits, coloro che non vedono la differenza tra le lingue, ma sentono costantemente parlare di Java dalla stampa; programmatori di grandi aziende, ossessionati dalla ricerca di qualcosa di meglio anche del C++; studenti pre-laurea onnivori che adoreranno tutto ciò che gli procurerà un lavoro (o finirà per sostenere un esame). Le opinioni di queste persone cambiano con la direzione del vento.
  11. I suoi genitori stanno attraversando un periodo difficile. Il modello di business di Sun è sotto attacco su due fronti. I processori Intel economici utilizzati nei computer desktop sono diventati abbastanza veloci per i server. E FreeBSD sembra diventare un buon sistema operativo per server quanto Solaris. La pubblicità di Sun implica che avrai bisogno di server Sun per applicazioni di livello produttivo. Se ciò fosse vero, Yahoo sarebbe la prima in linea ad acquistare Sun. Ma quando lavoravo lì, usavano server Intel e FreeBSD. Ciò fa ben sperare per il futuro di Sun. E se il sole tramonta, anche Java potrebbe essere nei guai.
  12. Amore per il Ministero della Difesa. Il Dipartimento della Difesa incoraggia gli sviluppatori a utilizzare Java. E questo sembra il segnale peggiore di tutti. Il Dipartimento della Difesa svolge un ottimo (anche se costoso) lavoro di protezione del Paese, ama piani, procedure e protocolli. La loro cultura è completamente opposta a quella degli hacker; quando si tratta di software, tendono a fare le scommesse sbagliate. L'ultimo linguaggio di programmazione di cui il Dipartimento della Difesa si innamorò fu Ada.

Tieni presente che questa non è una critica a Java, ma una critica alla sua copertina. Non conosco Java abbastanza bene da poterlo apprezzare o meno. Sto solo cercando di spiegare perché non sono interessato a imparare Java.

Può sembrare affrettato liquidare un linguaggio senza nemmeno tentare di programmarlo. Ma questo è ciò con cui devono confrontarsi tutti i programmatori. Ci sono troppe tecnologie per esplorarle tutte. Devi imparare a giudicare dai segni esterni se varrà la pena dedicare il tuo tempo. Con la stessa rapidità, ho scartato Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware e CORBA, tra gli altri. Semplicemente non mi attiravano.

Forse mi sbaglio nel caso di Java. Forse un linguaggio promosso da una grande azienda per competere con un’altra, sviluppato da un comitato per le masse, con molto clamore e amato dal Dipartimento della Difesa si rivelerà comunque un linguaggio pulito, bello e potente che sarò felice di programma dentro. Forse. Ma è molto dubbio.

Grazie per la traduzione: Denis Mitropolsky

PS

Fonte: habr.com

Aggiungi un commento