← Tutti gli episodi
Copertina di Go in pratica e uno sguardo lungo
Stagione 23 · Episodio 0010

Go in pratica e uno sguardo lungo

30 agosto 2026 5:27
0:00 5:27

Ciao, e benvenuto nella decima e ultima puntata della ventitreesima stagione. Abbiamo attraversato tutto il linguaggio Go e la sua filosofia: la semplicità radicale, la leggibilità, la compilazione fulminea, la concorrenza resa semplice, i canali, le interfacce, gli errori espliciti, le batterie incluse. Oggi tiriamo le somme, ricomponiamo il ritratto di questo linguaggio e della filosofia coerente che lo anima, e ci chiediamo cosa portarci a casa, non solo su Go, ma sul modo stesso di pensare al design di uno strumento.

Ricomponiamo prima di tutto il ritratto di Go, perché ora possiamo vederne l'unità. Go è un linguaggio deliberatamente semplice e piccolo, che ottimizza per la leggibilità e per il lavoro in team, con una compilazione fulminea che rende fluido il lavoro. Il suo superpotere è la concorrenza resa facile, con le sue attività leggerissime e i suoi canali per comunicare in sicurezza. Struttura il codice componendo invece di ereditare, attraverso le interfacce. Affronta i guasti alla luce del sole, con gli errori espliciti. E offre un ambiente completo e coerente, con le batterie incluse e gli strumenti unificati. Ogni pezzo, hai visto, discende dalla stessa filosofia: la semplicità pragmatica al servizio del lavoro reale su grandi sistemi.

Fermiamoci ad apprezzare quanto sia coerente questa filosofia, perché è forse la cosa più bella di Go. Non è un linguaggio nato accumulando funzionalità a caso, ma da una visione unitaria, applicata con disciplina a ogni scelta. Vuoi capire perché Go fa una certa cosa, o non la fa? Quasi sempre la risposta è la stessa: per restare semplice, chiaro, pragmatico, adatto a grandi team e grandi sistemi. Rinuncia all'ereditarietà per semplicità. Rende gli errori espliciti per chiarezza. Uniforma la formattazione per la collaborazione. Compila in fretta per la produttività. C'è una coerenza profonda che tiene insieme ogni dettaglio, ed è questa coerenza a fare di Go non un mucchio di funzionalità, ma un linguaggio con un'anima ben precisa.

Devo essere onesto, come sempre, sui limiti e sui compromessi, perché Go non è perfetto né adatto a tutto. La sua semplicità radicale, che è la sua forza, è anche il suo limite: rinunciando a funzionalità, rinuncia a un po' di potenza espressiva e di eleganza, e per certi compiti o per certi gusti può risultare troppo spartano, troppo verboso, poco raffinato. Chi ama i linguaggi ricchi ed espressivi può trovare Go limitante e noioso. Le sue scelte, dalla verbosità degli errori al minimalismo deliberato, dividono le opinioni, e va bene così: non esiste il linguaggio perfetto, solo quello adatto a certi scopi. Go è ottimo per ciò per cui è nato, il software di rete e di sistema costruito da team, e meno adatto ad altro. Come ogni strumento, brilla nel suo ambito e non è universale.

Voglio darti una prospettiva sul perché Go abbia avuto tanto successo nel suo ambito, perché tocca cose che abbiamo studiato insieme. Ricordi Docker e i container, e l'orchestratore che li governa? E tanti altri strumenti dell'infrastruttura moderna? Moltissimi sono scritti proprio in Go. Non è un caso: Go è nato per costruire esattamente questo, servizi di rete, strumenti di sistema, infrastruttura, dove contano la concorrenza semplice, la distribuzione facile, la manutenibilità in grandi team. È diventato, in un certo senso, il linguaggio dell'era della nuvola: il materiale di gran parte dell'impalcatura invisibile su cui gira il software moderno. Ha trovato il suo ambito e lo domina.

E arrivo alla lezione più profonda, quella che lega questa stagione a tutto il podcast. Go è una lezione magistrale su una verità che abbiamo incontrato tante volte: il potere della semplicità deliberata. In un mondo che tende ad aggiungere sempre più complessità, Go dimostra che scegliere consapevolmente la semplicità, rinunciare a funzionalità, dire di no, può essere una scelta vincente, che produce strumenti chiari, produttivi, duraturi. E ci insegna, ancora una volta, che per capire davvero uno strumento non basta conoscerne le funzionalità: bisogna capirne la filosofia, il perché delle sue scelte. Chi capisce la filosofia di semplicità di Go ne comprende ogni dettaglio; chi ne impara solo la sintassi resta in superficie. La filosofia, non le funzionalità, è ciò che dà senso a tutto.

Voglio lasciarti con un pensiero, lo spirito con cui vorrei che ti portassi via questa stagione. Go ci ricorda che, nel design come nella vita, meno può essere più: che togliere può essere più saggio che aggiungere, che la chiarezza vale più della furbizia, che il pragmatismo concreto vale più dell'eleganza teorica. È una filosofia umile e potente, che sceglie di servire il lavoro reale delle persone invece di inseguire la perfezione astratta. E che tu programmi in Go o no, questa saggezza vale la pena portarsela dietro, ben oltre un singolo linguaggio.

Per oggi, e per questa ventitreesima stagione, ci fermiamo qui. Go è un linguaggio animato da una filosofia coerente e disciplinata: la semplicità pragmatica al servizio del lavoro reale su grandi sistemi. Semplice, leggibile, veloce da compilare, con la concorrenza resa facile, la composizione invece dell'ereditarietà, gli errori alla luce del sole, le batterie incluse. Non è perfetto né universale, e le sue scelte dividono, ma domina il suo ambito, l'infrastruttura e i servizi di rete, ed è il linguaggio dell'era della nuvola. La sua lezione più profonda è il potere della semplicità deliberata, e l'importanza di capire la filosofia, non solo la sintassi. Grazie di cuore per avermi accompagnato in questo viaggio dentro Go. Abbi cura di te, e ricorda che, spesso, meno è più. A rileggerci presto.