golang

Recensione del libro Il linguaggio di programmazione Go

Recensione del libro Il linguaggio di programmazione Go
Il linguaggio di programmazione Go, di Alan A. UN. Donovan e Brian Kernighan, è recensito in questo post. Brian Kernighan è ben noto come il coautore di The C Programming Language, e quel libro stesso è diventato un testo standard per generazioni di ingegneri. Go è stato spesso definito il 21° secolo C e il linguaggio di programmazione Go potrebbe benissimo essere il testo di riferimento standard per questo.

L'inizio

Il libro inizia forte con un Tutorial capitolo che ti offre un semplice programma "Hello, World" e mostra anche alcuni dei vantaggi dell'utilizzo di Go. Il minimalismo è destinato a fare appello ai programmatori che l'hanno avuto con librerie gonfie. Non puoi dichiarare una variabile e non usarla nel resto del tuo programma Go. Non puoi importare una libreria e non usarla nel tuo codice. Semplicemente non compilerà. Non devi discutere sul formato del tuo codice. Ad esempio, l'antica battaglia tra:

funzione principale()

//E
funzione principale()

È stabilito dal compilatore che accetta solo il primo e non il secondo. Altre sfumature sono risolte da strumenti come gofmt che prende il tuo file sorgente Go e lo formatta in modo standardizzato. Quindi tutti i programmi Go seguono la stessa convenzione, che a sua volta migliora la leggibilità del codice.

Il primo capitolo enfatizza questi punti di forza e fa un ottimo lavoro nel dare ai lettori un assaggio di cosa sia veramente Go: un linguaggio generico progettato per generare binari statici con il minor numero possibile di.

brevità

I programmatori esperti sono stanchi di imparare più e più volte gli stessi concetti come cicli for, istruzioni if-else, ecc per linguaggi diversi. Il primo capitolo si intrufola in tutte queste noiose informazioni incoraggiando gli utenti a scrivere semplici programmi Unix-y (come nel caso del linguaggio di programmazione C).

Uno svantaggio di questo introduzione rapida è il fatto che i nuovi lettori rimarranno completamente sconcertati dalla sintassi. I programmi iniziano rapidamente utilizzando gli operatori punto e vari concetti di programmazione orientata agli oggetti dopo due o tre esempi nel primo capitolo. Questo è importante per mantenere la velocità e la brevità dell'esperienza di lettura complessiva ed è una scelta molto consapevole da parte degli scrittori.

Il libro presuppone anche che i lettori abbiano familiarità con almeno un linguaggio di programmazione, prima di prendere in mano questo libro. Questo potrebbe essere Python, JavaScript, Java, C o qualsiasi altro linguaggio generico.

Sito Web del compagno

Il libro viene fornito con un sito Web associato. Puoi importare direttamente i programmi forniti nel libro da questo sito Web ed eseguirlo senza dover digitare (o copiare e incollare dalla tua app Kindle). Puoi anche dare un'occhiata al primo capitolo (che, tra l'altro, è il mio preferito) gratuitamente su questo sito e decidere se questo libro fa per te o no.

Gli autori hanno prestato attenzione ai dolori di un programmatore che cerca di imparare un nuovo linguaggio. Le distrazioni sono ridotte al minimo con il collegamento Web di ciascun programma menzionato sopra di esso. Quindi puoi recuperare il codice, eseguirlo, modificarlo e costruirci sopra, se lo desideri you.

Un elenco completo di errata è anche mantenuto su questo sito Web e puoi riferirlo se pensi che qualcosa non va.

Affari seri

Se ti aspetti una guida semplice per lo scripting causale, questo non è il libro che fa per te. Il motivo è che prima viene coperto un sacco di terreno e poi i dettagli vengono riempiti man mano che avanziamo verso i capitoli successivi.

Questo libro è per le persone che vogliono capire i costrutti, i dettagli nitidi di come funziona Go. Creerai GIF, scriverai server web e disegnerai insiemi di Mandelbrot e molto altro ancora, ma niente di tutto questo avrebbe senso se non avessi prestato attenzione ai punti più precisi fatti  nei capitoli precedenti (con il Capitolo 1 che rappresenta una sorta di eccezione, in quanto è inteso come una panoramica della lingua).

La maggior parte del resto del libro si concentra su vari dettagli relativi alla sintassi su Go, inclusi loop di controllo, variabili, funzioni, metodi, routine di Go e molto altro ancora. Tutto questo viene illustrato facendo passare il lettore attraverso programmi utili e scenari idealistici non inventati.

Anche se desideri saltare la maggior parte dei capitoli dalla metà del libro, ti consiglio vivamente di scavare nel capitolo 5 per una comprensione del panico, della gestione degli errori e delle funzioni anonime. Tuttavia, suggerirei caldamente di esaminare tutti i capitoli in sequenza prima di arrivare al gioiello della corona di Go - Concurrency.

Enfasi sulla concorrenza

Il linguaggio Go è progettato da zero con la concorrenza in mente. La maggior parte dei processori moderni è multicore e multithread, ma i programmatori disprezzano le complicazioni che devono affrontare quando scrivono programmi da eseguire su tale architettura. Con il cloud computing che si sta dirigendo verso i sistemi distribuiti, il codice simultaneo sarà presto l'unico codice con buone prestazioni disponibile.

Il capitolo sulla concorrenza è stato scritto per scacciare dalla nostra mente la paura del design simultaneo. È complicato, sì, ma non senza speranza. Il libro fa un ottimo lavoro nel trasmettere come Go può aiutarti a sviluppare la mentalità corretta da questo.

Conclusione

L'esperienza di Kernighan dai primi giorni di UNIX è ancora molto praticabile nell'era moderna di desktop cloud, GPU, IOT, cloud e tutto ciò che verrà dopo. Lui e Donovan hanno fatto un ottimo lavoro nell'impartire questa saggezza del design delle applicazioni e della filosofia UNIX usando un linguaggio semplice e moderno con le prestazioni in mente e non esito a raccomandare questo libro a chiunque, da uno studente delle superiori a un ingegnere del software senior con decenni di esperienza.

Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...
Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...