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

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

Questo saggio è una continuazione di conversazioni con diversi sviluppatori sul pregiudizio nei confronti di Java. Non è una critica a Java, ma piuttosto un esempio del "radar hacker".

Col tempo, gli hacker sviluppano un sesto senso per le tecnologie buone — o cattive. Penso che possa essere interessante esporre le ragioni per cui Java mi sembra sospetta.

Alcuni lettori hanno considerato questo un tentativo degno di nota di scrivere su qualcosa di cui nessuno aveva mai parlato prima. Altri hanno avvertito che scrivo di cose di cui non so nulla. Quindi, per chiarezza, vorrei precisare che non scrivo di Java (con cui non ho mai lavorato), ma del "radar hacker" (su cui ho riflettuto molto).

L'espressione «non giudicare un libro dalla copertura» è nata in un'epoca in cui i libri venivano venduti in copertine cartonate semplici, che l'acquirente rilegava a proprio piacimento. In quei giorni, non si poteva dire nulla sul libro dalla sua copertura. Da allora, però, l'editoria ha fatto enormi passi avanti, e gli editori moderni si impegnano molto affinché la copertina possa comunicare molto.

Ho passato molto tempo nelle librerie e credo di aver imparato a capire tutto ciò che gli editori vogliono dirmi, e forse anche qualche altra cosa. La maggior parte del tempo che ho trascorso al di fuori delle librerie l'ho passato davanti agli schermi dei computer, e penso di aver imparato, in qualche modo, a giudicare le tecnologie dalle loro copertine. Potrebbe essere stata una fortuna cieca, ma sono riuscito ad evitare alcune tecnologie che si sono rivelate veramente pessime.

Una di queste tecnologie è stata per me Java. Non ho scritto alcun programma in Java e mi sono limitato a uno studio superficiale della documentazione, tuttavia ho la sensazione che non sia destinato a diventare un linguaggio di successo. Potrei sbagliarmi: fare previsioni sulle tecnologie è rischioso. Eppure, in un certo senso, è un testimone del tempo — ecco perché non mi piace Java:

  1. Eccessivo entusiasmo. Non è necessario imporre veri standard. Nessuno ha cercato di promuovere C, Unix o HTML. I veri standard si stabiliscono molto prima che la maggior parte delle persone ne senta parlare. Sul radar degli hacker, Perl appare non meno di Java grazie esclusivamente ai suoi meriti.
  2. Java punta in alto. Nella descrizione originale di Java, Gosling afferma apertamente che Java è stata creata per non creare difficoltà ai programmatori abituati a C. È stata progettata per diventare il nuovo C++: C con alcune idee prese in prestito da linguaggi più avanzati. Come i creatori di sitcom, fast food o tour turistici, i creatori di Java hanno consapevolmente sviluppato un prodotto per persone non così intelligenti come loro. Storicamente, i linguaggi progettati per essere utilizzati da altri hanno avuto esiti negativi: Cobol, PL/1, Pascal, Ada, C++. Quelli che invece hanno avuto successo sono stati quelli creati per uso personale: C, Perl, Smalltalk, Lisp.
  3. Motivi nascosti. Qualcuno ha detto una volta che il mondo sarebbe un posto migliore se le persone scrivessero libri solo quando hanno qualcosa da dire, invece di scrivere solo quando desiderano scrivere un libro. Allo stesso modo, il motivo per cui sentiamo parlare così spesso di Java non è che ci vogliano comunicare qualcosa sui linguaggi di programmazione. Sentiamo parlare di Java come parte del piano di Sun per contrastare Microsoft.
  4. Nessuno la ama. I programmatori di C, Perl, Python, Smalltalk o Lisp sono innamorati dei loro linguaggi. Non ho mai sentito qualcuno dichiarare il suo amore per Java.
  5. Le persone sono costrette a usarla. Molti di quelli che conosco e che usano Java lo fanno per necessità. Pensano che questo permetterà loro di ottenere finanziamenti, o credono che piacerà ai clienti, oppure è una decisione del management. Sono persone intelligenti; se la tecnologia fosse veramente valida, la userebbero volontariamente.
  6. È un piatto preparato da molti cuochi. I migliori linguaggi di programmazione sono stati sviluppati da piccoli gruppi. Java è gestita da un comitato. Se si rivelasse un linguaggio di successo, sarebbe la prima volta nella storia che un comitato crea un linguaggio del genere.
  7. È burocratica. Dalle poche cose che so su Java, sembra che ci siano molti protocolli per fare qualsiasi cosa. I linguaggi veramente buoni non sono così. Ti permettono di fare ciò che vuoi e non ti ostacolano.
  8. Rumore artificiale. Ora Sun cerca di far credere che Java sia gestito 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 diventare altrettanto noioso e triste come tutto ciò che esce dalla pancia di una grande azienda.
  9. È creato per grandi organizzazioni. Le grandi aziende hanno obiettivi diversi rispetto agli hacker. Le aziende hanno bisogno di linguaggi che abbiano la reputazione di essere adatti a team numerosi di programmatori mediocri. Linguaggi con caratteristiche simili ai limitatori di velocità dei camion U-Haul, che avvertono gli sciocchi di non causare danni eccessivi. Gli hacker non amano i linguaggi che parlano loro dall'alto. Gli hacker hanno bisogno di potenza. Storicamente, i linguaggi creati per grandi organizzazioni (PL/1, Ada) hanno perso, mentre i linguaggi creati dagli hacker (C, Perl) hanno vinto. La ragione è che l'hacker minorenne di oggi sarà il CTO di domani.
  10. Non è apprezzata dalle persone giuste. I programmatori che ammiro di più non sono affatto entusiasti di Java. A chi piace? A chi indossa giacca e cravatta, a chi non vede differenze tra i linguaggi, ma sente parlare di Java sui giornali; ai programmatori delle grandi aziende, ossessionati dall'idea di trovare qualcosa di meglio persino del C++; agli studenti universitarî onnivori, che apprezzeranno qualunque cosa consenta loro di trovare lavoro (o si presenti all'esame). L'opinione di queste persone cambia al variare del vento.
  11. I genitori stanno attraversando un periodo difficile. Il modello di business di Sun è sotto attacco su due fronti. I processori Intel a basso costo, utilizzati nei computer desktop, sono diventati abbastanza veloci anche per server. E FreeBSD sembra diventare un sistema operativo altrettanto valido per i server, come Solaris. Nella sua pubblicità, Sun fa intendere che hai bisogno di server Sun per applicazioni di livello industriale. Se fosse vero, Yahoo sarebbe stata la prima in fila per acquistare Sun. Ma quando ci lavoravo, si usavano server basati su Intel e FreeBSD. Questo prospetta un futuro oscuro per Sun. E se Sun fallisce, potrebbe portare anche Java con sé.
  12. L'amore del Ministero della Difesa. Il Ministero della Difesa incoraggia l'uso di Java da parte degli sviluppatori. E questo appare come il peggior segnale di tutti. Il Ministero della Difesa svolge un ottimo lavoro (sebbene costoso) per proteggere il paese, amano piani, procedure e protocolli. La loro cultura è completamente opposta a quella hacker; in materia di software tendono a fare scommesse sbagliate. L'ultimo linguaggio di programmazione di cui si è innamorato il Ministero della Difesa è stato Ada.

Tieni presente che questa non è una critica a Java, ma alla sua presentazione. Non conosco Java abbastanza bene per poterne dire se mi piaccia o meno. Sto solo cercando di spiegare perché non ho voglia di imparare Java.

Scartare un linguaggio, anche senza aver provato a programmare con esso, può sembrare affrettato. Ma è ciò che fanno tutti i programmatori. Ci sono troppe tecnologie da apprendere. Bisogna imparare a giudicare dagli indizi esteriori se ne valga la pena. Con la stessa rapidità ho scartato Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, il protocollo SET, VMS, Novell Netware e CORBA, tra gli altri. Semplicemente non mi sono piaciuti.

Forse, nel caso di Java mi sbaglio. Forse il linguaggio, promosso da una grande azienda per competere con un'altra, sviluppato da un comitato per la massa, gonfiato a dismisura nel clamore e amato dal Ministero della Difesa, si rivelerà comunque un linguaggio ordinato, bello e potente, su cui programmerò con gioia. Forse. Ma è molto dubbio.

Grazie per la traduzione: Denis Mitropolsky

P.S.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster