Algus
Raamat algab tugevalt a-ga Õpetus peatükk, mis annab teile lihtsa programmi “Tere, maailm” ja näitab ka Go kasutamise mõningaid eeliseid. Minimalism meeldib kindlasti programmeerijatele, kellel on seda olnud pundunud raamatukogudega. Te ei saa muutujat deklareerida ega kasutada ülejäänud Go programmis. Teeki ei saa importida ega kasutada oma koodis. See lihtsalt ei kompileeru. Te ei pea oma koodi vormingu üle vaidlema. Näiteks vana võitlus:
func main ()// Ja
func main ()
Selle lahendab kompilaator, kes aktsepteerib ainult esimest ja mitte viimast. Muud nüansid lahendatakse selliste tööriistadega nagu gofmt, mis võtab teie Go lähtefaili ja vormindab selle standardiseeritud viisil. Nii et kõik Go programmid järgivad sama kokkulepet, mis omakorda parandab koodi loetavust.
Esimene peatükk rõhutab neid müügiargumente ja teeb tõeliselt head tööd, andes lugejatele maitsta, mida Go tegelikult endast kujutab: üldotstarbeline keel, mis on loodud võimalikult väikese puhitusega staatiliste binaarkaartide loomiseks.
Lühidus
Kogenud programmeerijad on väsinud erinevate keelte jaoks samade mõistete õppimisest, näiteks loopide, if-else lausete jms kohta. Esimeses peatükis tutvustatakse kogu seda tüütut teavet, julgustades kasutajaid kirjutama lihtsaid Unix-y programme (nagu see oli C-programmeerimiskeele puhul).
Selle üks puudus kiire sissejuhatus on asjaolu, et uued lugejad satuvad süntaksist täielikult hämmingusse. Programmid hakkavad kiiresti kasutama punktioperaatoreid ja erinevaid objektipõhiseid programmeerimiskontseptsioone pärast kahte või kolme näidet esimeses peatükis. See on oluline üldise lugemiskogemuse kiiruse ja lühiduse säilitamiseks ning on kirjutajate väga teadlik valik.
Samuti eeldatakse raamatus, et lugejad tunnevad enne selle raamatu kätte võtmist vähemalt ühte programmeerimiskeelt. See võib olla Python, JavaScript, Java, C või mõni muu üldotstarbeline keel.
Kaaslase veebisait
Raamatuga on kaasas kaasne veebisait. Sellelt veebisaidilt saate raamatus toodud programmid otse importida ja käivitada, ilma et peaksite tippima (või oma Kindle Appist kleepima). Sellel veebisaidil saate isegi tasuta vaadata esimest peatükki (mis on muide minu lemmik) ja otsustada, kas see raamat on teie jaoks või mitte.
Autorid on pööranud tähelepanu uue keele õppimist prooviva programmeerija valudele. Hajameelsus on minimaalne, kui selle peal on mainitud iga programmi veebilink. Nii et kui soovite, saate koodi tuua, käivitada, kohandada ja sellele tugineda.
Sellel veebisaidil peetakse ka põhjalikku nimekirja vigadest ja võite sellele viidata, kui arvate, et midagi on valesti.
Tõsine äri
Kui ootate lihtsat põhjuslike skriptide juhendit, pole see raamat teie jaoks. Põhjuseks on see, et kõigepealt kaetakse palju maad ja seejärel täidetakse üksikasjad, kui liigume hilisemate peatükkide poole.
See raamat on mõeldud inimestele, kes soovivad mõista konstruktsioone, nõtkeid detaile, kuidas Go töötab. Loote GIF-e, kirjutate veebiservereid ja joonistate Mandelbroti komplekte ja palju muud, kuid ühelgi neist pole mõtet, kui te pole pööranud tähelepanu eelmistele peatükkidele tehtud peenematele punktidele (kusjuures 1. peatükk on mõnevõrra erand, nagu näiteks see on mõeldud keele ülevaatena).
Suurem osa ülejäänud raamatust keskendub Go-i erinevatele süntaksiga seotud üksikasjadele, sealhulgas asjade juhtimissilmused, muutujad, funktsioonid, meetodid, Go-rutiinid ja palju muud. Seda kõike illustreerib see, et pannakse lugeja läbima kasulikke programme ja mitte välja mõeldud idealistlikke stsenaariume.
Isegi kui soovite suurema osa peatükke raamatu keskelt vahele jätta, soovitan tungivalt uurida peatükki 5, et mõista paanikat, tõrkeotsingut ja anonüümseid funktsioone. Kuid ma soovitaksin tungivalt kõik peatükid järjest läbi käia, enne kui jõuame Go kroonijuveelini - samaaegsus.
Rõhk samaaegsusel
Go-keel on loodud, alustades alust, pidades silmas samaaegsust. Enamik tänapäevaseid protsessoreid on mitme tuumaga ja mitme lõimega, kuid programmeerijad põlgavad komplikatsioone, mis neil sellisel arhitektuuril töötavate programmide kirjutamisel tekivad. Kui pilvandmetöötlus suundub hajutatud süsteemide poole, on samaaegne kood peagi ainus hästitoimiv kood.
Samaaegsust käsitlev peatükk on kirjutatud selleks, et hirm üheaegse kujundamise ees meie meelest ära lüüa. See on keeruline, jah, kuid mitte lootusetu. Raamat annab suurepärase töö edasi anda, kuidas Go aitab teil sellest õige mõtteviisi arendada.
Järeldus
Kernighani kogemus UNIX-i algusaegadest on tänapäeval pilve töölaudade, graafikaprotsessorite, IOT-i, pilve ja mis iganes järgneb, tänapäeval väga elujõuline. Ta ja Donovan on teinud suurepärast tööd selle rakenduste kujundamise tarkuse ja UNIX-i filosoofia levitamisel, kasutades lihtsat ja kaasaegset keelt, pidades silmas jõudlust. Mul on null kõhklusi selle raamatu soovitamisel kõigile, alates keskkooliõpilasest kuni vanemast tarkvarainsenerist, kellel on aastakümnete pikkune kogemus.