Episode Details

Back to Episodes
La Rivincita dei Nerd // Revenge of the Nerds

La Rivincita dei Nerd // Revenge of the Nerds

Published 3 years ago
Description

Traduzione in italiano di Salvatore Sanfilippo dall’essay originale di Paul Graham "Revenge of the Nerds" [Maggio 2002]. La lettura dell'articolo è di Irene Mingozzi. La versione audio non include la parte "Appendice: La potenza nei linguaggi" poiché contiene molte righe di codice utilizzate come esempi che non riescono ad essere riportate tramite la lettura a voce.

"Eravamo alla ricerca di programmatori C++. Riuscimmo nel compito di trascinare molti di loro a metà strada verso Lisp."

- Guy Steele, coautore della specifica di Java

Nell’industria del software è in corso una battaglia tra gli accademici dalla testa a punta e un’altra forza altrettanto formidabile: i capi dai capelli a punta. Tutti ricordano chi sia il capo dai capelli a punta, dico bene? Credo che la maggior parte del mondo tecnologico non solo riconosca il personaggio del fumetto, ma riesca persino a identificare una persona nella propria azienda simile a quella che lo ha ispirato.

Il capo dai capelli a punta combina miracolosamente, nella stessa persona, due qualità piuttosto comuni, ma che si vedono raramente assieme: (a) non sa nulla riguardo alla tecnologia, ma (b) ha opinioni nettissime su di essa.

Immaginate di dover scrivere un nuovo software. Il capo dai capelli a punta non ha idea di come funzionerà tale software, e non saprebbe distinguere un linguaggio dall’altro; eppure sa esattamente quale linguaggio dovreste usare allo scopo. Sì, proprio così: crede fermamente che dovreste usare Java.

Perché lo crede? Diamo un’occhiata all’interno del cervello del capo dai capelli a punta. Il suo ragionamento è pressappoco il seguente. Java è uno standard. Deve essere così, perché le notizie parlano continuamente di Java. Poiché è uno standard, scegliendolo non mi caccerò nei guai. Inoltre in giro ci saranno sempre un sacco di programmatori Java, così, se i programmatori che lavorano per me decidono di andar via, come misteriosamente accade spesso, posso rimpiazzarli con facilità.

Bisogna ammettere che non suona così irragionevole, eppure è un ragionamento basato su un assunto non palesato, e guarda caso tale assunto è falso. Il capo dai capelli a punta crede che tutti i linguaggi di programmazione siano grossomodo equivalenti. Se ciò fosse vero, avrebbe centrato il bersaglio. Se tutti i linguaggi si equivalgono, allora ben venga che si usi il linguaggio usato da tutti gli altri.

I linguaggi, però, non sono tutti uguali, e credo di poterlo provare senza neppure tirare in ballo le loro differenze. Se nel 1992 avessi chiesto al capo dai capelli a punta quale linguaggio scegliere per scrivere un software, avrebbe risposto senza alcuna esitazione - esattamente come fa oggi – che il software dovrebbe essere scritto in C++. Ma se tutti i linguaggi sono uguali, perché l’opinione del capo dai capelli a punta nel frattempo è cambiata? E poi, perché i progettisti di Java si sarebbero dovuti scomodare per creare un nuovo linguaggio?

Suppongo che se crei un nuovo linguaggio, è perché pensi possa essere migliore di quelli che la gente usa già. Almeno da certi punti di vista. Tanto che Goslin chiarisce, già nella prima pubblicazione su Java, che Java è stato progettato per superare certi problemi del C++. Ecco, dunque: i linguaggi non sono tutti uguali. Se seguite il sentiero che porta a Java attraverso il cervello del capo dai capelli a punta, e poi fate ritorno passando dalla storia di Java fino alle sue origini, vi ritroverete con un’idea che contraddice l’assunto col quale eravate partiti.

Allora chi ha ragione? James Gosling o il capo dai capelli a punta? Ovviamente ha ragione Gosling. Per certi problemi, alcun

Listen Now

Love PodBriefly?

If you like Podbriefly.com, please consider donating to support the ongoing development.

Support Us