Golang

Boganmeldelse The Go programmeringssprog

Boganmeldelse The Go programmeringssprog
The Go Programming Language, af Alan A. EN. Donovan og Brian Kernighan gennemgås i dette indlæg. Brian Kernighan er kendt som medforfatter af The C Programming Language, og selve den bog er adskilt som en standardtekst i generationer af ingeniører. Go er ofte blevet omtalt som det 21. århundrede C og The Go Programming Language kan meget vel være standardreferenceteksten for det.

Begyndelsen

Bogen starter stærkt med en Vejledning kapitel, der giver dig et simpelt “Hello, World” -program og også viser nogle af fordelene ved at bruge Go. Minimalismen er bundet til at appellere til programmører, der har haft det med oppustede biblioteker. Du kan ikke erklære en variabel og ikke bruge den i resten af ​​dit Go-program. Du kan ikke importere et bibliotek og ikke bruge det i din kode. Det vil simpelthen ikke kompilere. Du behøver ikke diskutere formatet på din kode. For eksempel den ældgamle kamp mellem:

funk main ()

//Og
funk main ()

Afvikles af kompilatoren, som kun accepterer førstnævnte og ikke sidstnævnte. Andre nuancer afregnes af værktøjer som gofmt, som tager din Go-kildefil og formaterer den på en standardiseret måde. Så alle Go-programmer følger den samme konvention, hvilket igen forbedrer læsbarheden af ​​koden.

Det første kapitel understreger disse salgsargumenter og gør et rigtig godt stykke arbejde med at give læserne en smagsprøve på, hvad Go egentlig handler om: Et sprog til generelle formål designet til at generere statiske binære filer med så lidt oppustethed som muligt.

Brevity

Erfarne programmører er trætte af at lære om de samme begreber som for sløjfer, if-else-udsagn osv igen og igen for forskellige sprog. Det første kapitel sniger sig ind i al denne kedelige information ved at tilskynde brugerne til at skrive enkle Unix-y-programmer (som det var tilfældet med C-programmeringssproget).

En ulempe ved dette hurtig introduktion er det faktum, at nye læsere bliver helt forvirrede af syntaksen. Programmer begynder hurtigt at bruge prikoperatorerne og forskellige objektorienterede programmeringskoncepter efter to eller tre eksempler nede i det allerførste kapitel. Dette er vigtigt for at opretholde hastigheden og kortfattetheden af ​​den samlede læseoplevelse og er et meget bevidst valg fra forfatterens side.

Bogen antager også, at læsere er fortrolige med mindst et programmeringssprog, før de hentede denne bog. Dette kan være Python, JavaScript, Java, C eller ethvert andet generelt sprog.

Ledsagers websted

Bogen leveres med et ledsagende websted. Du kan importere programmerne i bogen direkte fra dette websted og køre den uden at skulle skrive (eller kopiere indsætte fra din Kindle-app). Du kan endda tjekke det første kapitel (som forresten er min favorit) gratis på dette websted og beslutte, om denne bog er noget for dig eller ej.

Forfatterne har været opmærksomme på smerterne hos en programmør, der prøver at lære et nyt sprog. Distraktioner holdes på et minimum med hvert programs weblink nævnt oven på det. Så du kan hente koden, køre den, tilpasse den og bygge videre på den, hvis du vil.

En omfattende liste over fejl er også vedligeholdt på dette websted, og du kan henvise det, hvis du synes noget er galt.

Seriøs forretning

Hvis du forventer en simpel guide til kausal scripting, er dette ikke bogen for dig. Årsagen er, at der først dækkes meget jord, og derefter udfyldes detaljerne, når vi skrider frem mod senere kapitler.

Denne bog er til folk, der ønsker at forstå konstruktionerne, de detaljerede detaljer om, hvordan Go fungerer. Du opretter GIF'er, skriver webservere og planlægger Mandelbrot-sæt og meget meget mere, men intet af det giver mening, medmindre du har været opmærksom på de finere punkter, der er givet i de foregående kapitler (hvor kapitel 1 er noget af en undtagelse, da det er ment som en oversigt over sproget).

Størstedelen af ​​resten af ​​bogen fokuserer på forskellige syntaksrelaterede detaljer om Go, herunder ting, der kontrollerer sløjfer, variabler, funktioner, metoder, Go-rutiner og meget meget mere. Alt dette illustreres ved at få læseren til at gennemgå nyttige programmer og ikke sammensatte idealistiske scenarier.

Selv hvis du ønsker at springe de fleste kapitler over fra midten af ​​bogen, vil jeg kraftigt foreslå at gennemgå kapitel 5 for at forstå Panik, Fejlhåndtering og anonyme funktioner. Jeg vil dog kraftigt foreslå, at vi gennemgår alle kapitlerne i rækkefølge, før vi kommer til Go-kronjuvelen - Concurrency.

Vægt på samtidighed

Go-sproget er designet, fra grunden med samtidighed i tankerne. De fleste moderne processorer er multicore og multithreaded, men programmører foragter de komplikationer, de står over for, når de skriver programmer for at køre på en sådan arkitektur. Når cloud computing er på vej mod distribuerede systemer, vil samtidig kode snart være den eneste kode, der fungerer godt derude.

Kapitlet om samtidighed er skrevet for at slå frygten for samtidig design ud af vores sind. Det er kompliceret, ja, men ikke håbløst. Bogen gør et godt stykke arbejde med at formidle, hvordan Go kan hjælpe dig med at udvikle den rigtige tankegang ud fra dette.

Konklusion

Oplevelsen af ​​Kernighan fra de tidlige UNIX-dage er stadig meget levedygtig i den moderne tidsalder med skydesktops, GPU'er, IOT, cloud og hvad der nu følger. Han og Donovan har gjort et stort stykke arbejde med at formidle denne visdom af applikationsdesign og UNIX-filosofi ved hjælp af et simpelt, moderne sprog med ydeevne i tankerne, og jeg tøver ikke med at anbefale denne bog til alle fra gymnasieelever til en senior softwareingeniør årtiers erfaring.

Bedste spilkonsolemulatorer til Linux
Denne artikel viser en liste over populære spilkonsolemuleringssoftware, der er tilgængelig til Linux. Emulation er et softwarekompatibilitetslag, der...
Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...
Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....