- Series: Addison-Wesley Professional Computing Series
- Paperback: 400 pages
- Publisher: Addison-Wesley Professional; 1 edition (November 5, 2015)
- Language: English
- ISBN-10: 0134190440
- ISBN-13: 978-0134190440
- Product Dimensions: 7.4 x 1.1 x 9 inches
- Shipping Weight: 1.4 pounds (View shipping rates and policies)
- Average Customer Review: 131 customer reviews
- Amazon Best Sellers Rank: #14,161 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The Go Programming Language (Addison-Wesley Professional Computing Series) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
From the Publisher
About the Author
Alan A. A. Donovan is a member of Google’s Go team in New York. He holds computer science degrees from Cambridge and MIT and has been programming in industry since 1996. Since 2005, he has worked at Google on infrastructure projects and was the co-designer of its proprietary build system, Blaze. He has built many libraries and tools for static analysis of Go programs, including oracle, godoc -analysis, eg, and gorename.
Brian W. Kernighan is a professor in the Computer Science Department at Princeton University. He was a member of technical staff in the Computing Science Research Center at Bell Labs from 1969 until 2000, where he worked on languages and tools for Unix. He is the co-author of several books, including The C Programming Language, Second Edition (Prentice Hall, 1988), and The Practice of Programming (Addison-Wesley, 1999).
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The examples in the book sometimes diverge into subjects that won't be of universal interest, such as overly deep dives into using Go to solve graphics and rendering problems. Also, the text is simply not concise enough.
I discovered that a combination of first working through the "Tour of Go", reading the Go blogposts by the experts in the field, finding answers on sites such as Go By Example and boards such as Stack Overflow, plus keeping a bookmark to the Go Packages documentation has worked really well for real-life professional coding. In this day and age, textbooks on programming languages are not always the best way to learn quickly.
In a pretty concise, yet readable reference, just like its predecessor, K&R, this is the essential book for your desk. I keep two books on my desk a copy of K&R ( The C Programming language for those not familiar) and this book, so not only are they the essential tools for understanding what ever you're coding, they have easy to remember names. What more can you ask for, yeah a bash reference, I hear ya.
Besides, what's Github for?
But not just that: it also helps get people into better coding habits.
Golang is a language based on best practices, and I feel I not only learned a new language this past Summer, but I also learned more about being a good programmer in general.
I would definitely consider using this language in bigger projects in the future, and I have already adopted several practices they listed across other languages I use.
The only things I am not a fan of with this language are the ways it implements public vs private data members and interfaces. I feel the variable name casing should not determine public or private members, because it is less explicit. I also did try a few things out, after reading, and I came across some nasty bugs that were not the easiest to track, due to the implicit interface implementation -- things would go from implementing part of my interface and not another to getting changed and implementing them in reverse, even with only the parts in question being changed; I would much rather say "implements x, y, z", and the compiler would know EXACTLY what I'm trying to do.
It also provides the most solid grounding for getting more deeply involved in the more complex areas of the language, which it introduces on a gradient, without getting too thoroughly involved in them.
I have a feeling that It would work reasonably well as a beginner's book, although you might want to make it the second book (or a follow up to the many free tutorials on-line) if you're brand new to programming. It could easily be a first Go book if you've produced even trivial programs in any other language. I highly recommend it to anyone who is not yet fully comfortable reading the language spec and standard library source code. And even if you are happy doing so, you're not going to be doing yourself any harm by reading this work.