La conferenza del Premio Turing di solito fa schifo. Formale, banale, sicuro. Tranne quando i colossi del CS decidono di rompere il copione. John Backus usò il suo per lanciare la programmazione funzionale. Ken Thompson ci ha avvertito che i nostri compilatori potrebbero mentirci. Edsger Dijkstra ci ha detto di essere umili davanti al nostro cervello.
Kenneth Iverson ha fatto qualcosa di diverso.
Nel 1979 ci ha dato “La notazione come strumento di pensiero”. Ha sostenuto che il modo in cui scriviamo il codice cambia il modo in cui pensiamo. Una buona notazione libera il cervello da un lavoro inutile. Iverson ha creato APL per questo. L’APL ha un aspetto inquietante, denso di simboli che sembrano lettere greche sotto acido. Ma ha permesso ai matematici di pensare per equazioni, non per cicli. Non è più necessario tradurre la matematica mentale in un goffo Fortran. Ha funzionato. Non è stato adottato ovunque. Non importava. Ciò ha dimostrato il punto: due lingue possono diventare una sola.
Ora, sessant’anni dopo, abbiamo il problema delle due lingue.
Regole di Python. Tutti lo adorano. È l’amico della festa che ti racconta tutto ma guida malissimo. Python è lento. Brutalmente così. I difensori agitano le mani. Non aiuta.
I ricercatori prototipano in Python perché è amichevole. Quindi, quando le prestazioni contano, riscrivono le sezioni critiche in C++ o Rust. Lo fanno due volte. Gli agenti di codifica AI non possono risolverlo. L’ottimizzazione ha una soglia. Se il pavimento è lento, l’edificio è lento.
Pensa alla costruzione. Il legno è facile da tagliare. Puoi inchiodare un capannone di sabato. L’acciaio è difficile da lavorare. Ma i grattacieli non si costruiscono con una sega. E se avessi un legno resistente come l’acciaio? Oppure un linguaggio ergonomico come Python ma veloce come C?
Siamo avidi.
Quattro scienziati informatici hanno scritto quelle parole nel 2012. Erano utenti Matlab. Hacker Lisp. Pythonisti. Rubyisti. Drogati di Perl. Detestavano che ogni strumento che amavano fosse perfetto per qualcosa e terribile per qualcos’altro. Volevano tutto. Fonte aperta. Semplice per i principianti. Abbastanza potente per gli hacker più esperti. La chiamavano Giulia.
Ho incontrato Julia nel 2017. È stato un colpo di fortuna. Stavo ascoltando Sebastian Seung, un neuroscienziato che mappa i connettomi cerebrali. Il nome stesso sembrava una scusa per il resto del campo. Dimentica C++ o MUMPS. O anche Haskell. Julia era attraente. Semplice.
Inoltre è stato progettato con cura.
I creatori avevano visto altri linguaggi fallire. Hanno preso le buone idee e hanno lasciato il bagaglio. Entro il 2026, la comunità Julia sarà stranamente matura. Nessun dramma. Nessuna guerra a fuoco sulla sintassi. Attrae scienziati, non solo programmatori. Non sono interessati ai giochi intellettuali. Vogliono risultati. Al JuliaCon, le persone si vantano di aver riscritto il codice MATLAB e di aver visto benchmark con velocità 60X. Diecimila volte più veloce di Python, dicono alcuni.
Allora perché non è ovunque?
Perché Stack Overflow non lo adora? Perché Python ha vinto?
Ecosistema. Python ha librerie per tutto. Devi fare qualcosa di oscuro? Esiste un pacchetto Python per questo. Julia non ha quel peso.
Mecenatismo aziendale. Obiettivo-C indossava il cappotto di Apple. Kotlin ha guidato quello di Google. Julia non ha ottenuto nulla dai giganti della Big Tech. È cresciuto da solo.
O forse non è andato proprio niente storto.
Julia è di nicchia. Piccolo. Amato. Gestisce le grandi macchine del CERN e della NASA. Aiuta a progettare farmaci. Sta facendo il lavoro.
Pensi che qualche lingua possa prima o poi risolvere il problema delle due lingue?
Ne dubito. La divisione è inerente al software. I giochi utilizzano motori C++ e script Lua. I backend del server combinano la logica Python con le prestazioni di Rust. Lo sviluppo del frontend fallisce ogni volta che tenta di adottare Rust o Go.
Continuiamo a desiderare la bacchetta magica. Legno che non marcisce. Python che non si blocca.
Costruiamo con ciò che funziona. Cambiamo strumento quando non è così. Non è un bug.
È il lavoro.


















