golang

Recenze knihy Programovací jazyk Go

Recenze knihy Programovací jazyk Go
Programovací jazyk Go, autor Alan A. A. Donovan a Brian Kernighan, je uveden v tomto příspěvku. Brian Kernighan je dobře známý jako spoluautor Programovacího jazyka C a samotná tato kniha byla oddělena jako standardní text pro generace inženýrů. Go se často označuje jako 21. století C a programovací jazyk Go může být pro něj velmi dobře standardním referenčním textem.

Začátek

Kniha začíná silně a Tutorial kapitola, která vám poskytne jednoduchý program „Hello, World“, a také předvedení některých výhod používání Go. Minimalismus se určitě bude líbit programátorům, kteří ho měli s nafouknutými knihovnami. Nemůžete deklarovat proměnnou a nepoužívat ji ve zbytku vašeho programu Go. Knihovnu nemůžete importovat a nepoužívat ji ve svém kódu. Prostě se to nebude kompilovat. O formátu vašeho kódu se nemusíte dohadovat. Například stará bitva mezi:

func main ()

//A
func main ()

Vyrovná se kompilátorem, který přijímá pouze první a nikoli druhý. Další nuance jsou vyřešeny nástroji, jako je gofmt, který převezme váš zdrojový soubor Go a formátuje jej standardizovaným způsobem. Všechny programy Go se tedy řídí stejnou konvencí, což zase zlepšuje čitelnost kódu.

První kapitola zdůrazňuje tyto prodejní body a dělá opravdu dobrou práci, když dává čtenářům ochutnat, o čem Go opravdu je: Obecný jazyk určený pro generování statických binárních souborů s co nejmenším nadýmáním.

Stručnost

Zkušení programátoři jsou unavení z učení se stejným konceptům jako pro smyčky, příkazy if-else atd. Znovu a znovu pro různé jazyky. První kapitola se vplíží do všech těchto nudných informací tím, že povzbuzuje uživatele k psaní jednoduchých programů Unix-y (jako tomu bylo v případě programovacího jazyka C).

Jedna nevýhoda tohoto rychlé představení je skutečnost, že noví čtenáři budou syntaxí zcela zmateni. Programy rychle začnou používat tečkové operátory a různé koncepty objektově orientovaného programování po dvou nebo třech příkladech v první kapitole. To je důležité pro udržení rychlosti a stručnosti celkového zážitku ze čtení a je to velmi vědomá volba autorů.

Kniha také předpokládá, že čtenáři jsou obeznámeni s alespoň jedním programovacím jazykem, než si tuto knihu vezmou. Může to být Python, JavaScript, Java, C nebo jakýkoli jiný obecný jazyk.

Doprovodný web

Kniha přichází s doprovodným webem. Programy uvedené v knize můžete přímo importovat z této webové stránky a spustit ji, aniž byste museli psát (nebo kopírovat vložit z vaší aplikace Kindle). Můžete si dokonce zdarma prohlédnout první kapitolu (která je mimochodem moje oblíbená) na tomto webu a rozhodnout se, zda je tato kniha pro vás nebo ne.

Autoři věnovali pozornost bolestem programátora, který se snažil naučit nový jazyk. Rozptýlení je omezeno na minimum, přičemž každý webový odkaz na program je uveden nad ním. Takže můžete načíst kód, spustit jej, vylepšit a na něm stavět, pokud chcete.

Na tomto webu je také veden komplexní seznam errata, který můžete odkázat, pokud si myslíte, že je něco v nepořádku.

Vážná práce

Pokud očekáváte jednoduchého průvodce pro kauzální skriptování, není to kniha pro vás. Důvodem je to, že nejprve je pokryta spousta půdy a poté jsou vyplňovány podrobnosti, jak postupujeme k dalším kapitolám.

Tato kniha je určena pro lidi, kteří chtějí porozumět konstrukcím, drobným detailům fungování Go. Budete vytvářet GIF, psát webové servery a vykreslovat Mandelbrotovy sady a mnoho dalšího, ale nic z toho by nedávalo smysl, pokud byste nevěnovali pozornost jemnějším bodům uvedeným v předchozích kapitolách (s tím, že Kapitola 1 je poněkud výjimkou, protože je to míněno jako přehled jazyka).

Většina zbytku knihy se zaměřuje na různé podrobnosti o Go související se syntaxí, včetně smyček ovládání věcí, proměnných, funkcí, metod, rutin Go a mnoha dalších věcí. To vše je ilustrováno tím, že čtenář projde užitečnými programy a nevytvoří idealistické scénáře.

I když si přejete přeskočit většinu kapitol z poloviny knihy, důrazně doporučuji prozkoumat kapitolu 5, abyste porozuměli panice, zpracování chyb a anonymním funkcím. Důrazně bych však doporučil projít si všechny kapitoly postupně, než přijdeme ke korunovačnímu klenotu Go - souběžnosti.

Důraz na souběžnost

Jazyk Go je navržen od základu s ohledem na souběžnost. Většina moderních procesorů je vícejádrových a vícevláknových, ale programátoři pohrdají komplikacemi, jimž čelí při psaní programů pro běh na takové architektuře. S cloudovým výpočtem směřujícím k distribuovaným systémům bude souběžný kód brzy jediným dobře fungujícím kódem.

Kapitola o souběžnosti je napsána tak, aby zmařila strach ze souběžného designu z našich myslí. Je to komplikované, ano, ale ne beznadějné. Kniha skvěle vysvětluje, jak vám Go může z toho pomoci vyvinout správné myšlení.

Závěr

Zkušenosti s Kernighanem z raných dnů UNIXu jsou v moderní době cloudových desktopů, GPU, IOT, cloudu a čehokoli, co bude následovat, stále velmi životaschopné. On a Donovan odvedli skvělou práci při rozšiřování této moudrosti designu aplikací a filozofie UNIX pomocí jednoduchého moderního jazyka s ohledem na výkon a já nemám žádné váhání doporučit tuto knihu komukoli od studenta střední školy až po staršího softwarového inženýra s desetiletí zkušeností.

Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...
Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...
Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...