Sākums
Grāmata sākas spēcīgi ar Apmācība nodaļā, kurā sniegta vienkārša programma “Sveika, pasaule”, kā arī parādīta dažas Go izmantošanas priekšrocības. Minimālisms noteikti pievērsīsies programmētājiem, kuriem tas ir bijis ar uzpūstām bibliotēkām. Jūs nevarat deklarēt mainīgo un neizmantot to pārējā Go programmā. Jūs nevarat importēt bibliotēku un to neizmantot savā kodā. Tas vienkārši netiks apkopots. Jums nav jāstrīdas par sava koda formātu. Piemēram, vecā cīņa starp:
func main ()//Un
func galvenais ()
Izlemj sastādītājs, kurš pieņem tikai pirmo, nevis otro. Citas nianses tiek nokārtotas ar tādiem rīkiem kā gofmt, kas ņem jūsu Go avota failu un formatē to standartizētā veidā. Tātad visas Go programmas ievēro to pašu konvenciju, kas savukārt uzlabo koda lasāmību.
Pirmajā nodaļā uzsvērti šie pārdošanas aspekti un tas ir patiešām labs darbs, sniedzot lasītājiem garšu par to, kas patiesībā ir Go: vispārējas nozīmes valoda, kas paredzēta statisku bināru ģenerēšanai ar pēc iespējas mazāku uzpūšanos.
Īsums
Pieredzējušiem programmētājiem ir apnicis atkal un atkal mācīties par tādiem pašiem jēdzieniem kā cilpas, if-else paziņojumi utt. Pirmajā nodaļā ir apkopota visa šī garlaicīgā informācija, mudinot lietotājus rakstīt vienkāršas Unix-y programmas (kā tas bija gadījumā ar C programmēšanas valodu).
Viens trūkums ātra ieviešana ir tas, ka jaunie lasītāji sintakses dēļ kļūs pilnīgi neizpratnē. Pēc diviem vai trim piemēriem pašā pirmajā nodaļā programmas ātri sāk izmantot punktu operatorus un dažādas objektorientētas programmēšanas koncepcijas. Tas ir svarīgi, lai uzturētu kopējās lasīšanas pieredzes ātrumu un īsumu, un tā ir ļoti apzināta rakstnieku izvēle.
Grāmatā arī tiek pieņemts, ka lasītāji ir pārzinājuši vismaz vienu programmēšanas valodu, pirms viņi paņēma šo grāmatu. Tā var būt Python, JavaScript, Java, C vai jebkura cita vispārējas nozīmes valoda.
Pavadošā vietne
Grāmata nāk ar pavadošo vietni. Jūs varat tieši importēt grāmatā norādītās programmas no šīs vietnes un palaist to bez rakstīšanas (vai kopēšanas no jūsu Kindle App). Šajā vietnē jūs pat varat bez maksas apskatīt pirmo nodaļu (kas, starp citu, ir mana iecienītākā) un izlemt, vai šī grāmata ir domāta jums.
Autori ir pievērsuši uzmanību programmētāja sāpēm, kas mēģina iemācīties jaunu valodu. Izklaidēšanās tiek samazināta līdz minimumam, katras programmas tīmekļa saite tiek pieminēta virs tās. Tātad, ja vēlaties, varat paņemt kodu, palaist to, pielāgot to un balstīties uz to.
Šajā vietnē tiek uzturēts arī visaptverošs kļūdu saraksts, un jūs varat to norādīt, ja domājat, ka kaut kas nav kārtībā.
Nopietns bizness
Ja jūs gaida vienkāršu cēloņsakarību ceļvedi, šī grāmata nav paredzēta jums. Iemesls ir tāds, ka vispirms tiek pārklāts daudz zemes un pēc tam tiek aizpildītas detaļas, virzoties uz turpmākajām nodaļām.
Šī grāmata ir domāta cilvēkiem, kuri vēlas izprast konstrukcijas, sīkās un sīkās detaļas par to, kā darbojas Go. Jūs veidosiet GIF, rakstīsit tīmekļa serverus un uzzīmēsit Mandelbrot kopas un daudz ko citu, taču nevienam no tiem nebūtu jēgas, ja vien jūs neesat pievērsis uzmanību smalkākajiem punktiem, kas izteikti iepriekšējās nodaļās (1. nodaļa ir nedaudz izņēmums, piemēram, tas ir domāts kā valodas pārskats).
Lielākā daļa pārējās grāmatas koncentrējas uz dažādām ar sintaksi saistītām detaļām par Go, ieskaitot lietu vadības cilpas, mainīgos, funkcijas, metodes, Go rutīnas un daudz ko citu. To visu ilustrē liekot lasītājam iet cauri noderīgām programmām un nevis izdomātiem ideālistiskiem scenārijiem.
Pat ja vēlaties izlaist lielāko daļu nodaļu no grāmatas vidus, es ļoti iesaku izpētīt 5. nodaļu, lai izprastu paniku, kļūdu apstrādi un anonīmas funkcijas. Tomēr es iesaku stingri iet cauri visām nodaļām, pirms nonākam pie Go - Concurrency vainaga dārgakmens.
Uzsvars uz vienlaicīgumu
Go valoda ir izstrādāta jau no paša sākuma, ņemot vērā vienlaicīgumu. Lielākā daļa mūsdienu procesoru ir daudzkodolu un daudzšķiedru, taču programmētāji nicina sarežģījumus, ar kuriem viņi saskaras, rakstot programmas, lai darbotos ar šādu arhitektūru. Kad mākoņdatošana virzās uz sadalītām sistēmām, vienlaicīgs kods drīz būs vienīgais labi darbojošais kods.
Nodaļa par vienlaicīgumu ir uzrakstīta, lai no mūsu prāta izslēgtu bailes no vienlaicīga dizaina. Tas ir sarežģīti, jā, bet ne bezcerīgi. Grāmata lieliski paveic to, kā Go var palīdzēt jums attīstīt pareizo domāšanas veidu.
Secinājums
Kernighan pieredze kopš UNIX sākuma sākuma joprojām ir ļoti dzīvotspējīga mūsdienu mākoņdatoru, GPU, IOT, mākoņu un visu sekojošo laikmetā. Viņš un Donovans ir paveikuši lielisku darbu, nododot šo lietojumprogrammu izstrādes gudrību un UNIX filozofiju, izmantojot vienkāršu, modernu valodu, domājot par sniegumu, un es nevilcinos ieteikt šo grāmatu ikvienam, sākot no vidusskolas studenta līdz vecākajam programmatūras inženierim ar gadu desmitiem ilga pieredze.