Programming in Go and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $2.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Programming in Go on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Programming in Go: Creating Applications for the 21st Century (Developer's Library) [Paperback]

Mark Summerfield
4.2 out of 5 stars  See all reviews (9 customer reviews)

List Price: $44.99
Price: $32.28 & FREE Shipping. Details
You Save: $12.71 (28%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Wednesday, May 29? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $19.79  
Paperback $32.28  
Unknown Binding --  
Rent Your Textbooks
Save up to 70% when you rent your textbooks on Amazon. Keep your textbook rentals for a semester and rental return shipping is free.

Book Description

May 14, 2012 0321774639 978-0321774637 1

Your Hands-On Guide to Go, the Revolutionary New Language Designed for Concurrency, Multicore Hardware, and Programmer Convenience

 

Today’s most exciting new programming language, Go, is designed from the ground up to help you easily leverage all the power of today’s multicore hardware. With this guide, pioneering Go programmer Mark Summerfield shows how to write code that takes full advantage of Go’s breakthrough features and idioms.

 

Both a tutorial and a language reference, Programming in Go brings together all the knowledge you need to evaluate Go, think in Go, and write high-performance software with Go. Summerfield presents multiple idiom comparisons showing exactly how Go improves upon older languages, calling special attention to Go’s key innovations. Along the way, he explains everything from the absolute basics through Go’s lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation.

 

Throughout, Summerfield’s approach is thoroughly practical. Each chapter offers multiple live code examples designed to encourage experimentation and help you quickly develop mastery. Wherever possible, complete programs and packages are presented to provide realistic use cases, as well as exercises. Coverage includes

 

  • Quickly getting and installing Go, and building and running Go programs
  • Exploring Go’s syntax, features, and extensive standard library
  • Programming Boolean values, expressions, and numeric types
  • Creating, comparing, indexing, slicing, and formatting strings
  • Understanding Go’s highly efficient built-in collection types: slices and maps
  • Using Go as a procedural programming language
  • Discovering Go’s unusual and flexible approach to object orientation
  • Mastering Go’s unique, simple, and natural approach to fine-grained concurrency
  • Reading and writing binary, text, JSON, and XML files
  • Importing and using standard library packages, custom packages, and third-party packages
  • Creating, documenting, unit testing, and benchmarking custom packages

Frequently Bought Together

Programming in Go: Creating Applications for the 21st Century (Developer's Library) + The Go Programming Language Phrasebook (Developer's Library) + The Way To Go: A Thorough Introduction To The Go Programming Language
Price for all three: $83.27

Buy the selected items together


Editorial Reviews

About the Author

Mark Summerfield, owner of Qtrac Ltd., is an independent trainer, consultant, technical editor, and writer specializing in Go, Python, C++, Qt, and PyQt. His books include Rapid GUI Programming with Python and Qt (Prentice Hall, 2007), C++ GUI Programming with Qt 4 (with Jasmin Blanchette, Prentice Hall, 2008), Programming in Python 3, Second Edition (Addison-Wesley, 2009), and Advanced Qt Programming (Prentice Hall, 2010).

 


Product Details

  • Paperback: 496 pages
  • Publisher: Addison-Wesley Professional; 1 edition (May 14, 2012)
  • Language: English
  • ISBN-10: 0321774639
  • ISBN-13: 978-0321774637
  • Product Dimensions: 7.1 x 1 x 8.9 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (9 customer reviews)
  • Amazon Best Sellers Rank: #182,157 in Books (See Top 100 in Books)

More About the Author

Mark Summerfield is a computer science graduate with many years experience working in the software industry, primarily as a programmer. He also spent a few years as Trolltech's documentation manager where he founded and edited Trolltech's technical journal, Qt Quarterly. Mark owns Qtrac Ltd., http://www.qtrac.eu, where he works as an independent programmer, author, editor, and trainer, specializing in C++, Qt, Python, and PyQt.

All Mark's books are aimed at programmers and others, such as students, scientists, and engineers, who already have some programming experience (how much depends on the individual book). Each solo book has its own page on the Qtrac website from which the source code can be downloaded and that lists the book's errata. All the books are designed to teach technologies that Mark loves and has found to be the best of their kind.

Customer Reviews

4.2 out of 5 stars
(9)
4.2 out of 5 stars
Most Helpful Customer Reviews
15 of 17 people found the following review helpful
4.0 out of 5 stars Everything anyone could need to begin with. May 13, 2012
By Cikkle
Format:Paperback
This is a resoundingly thorough walkthrough of the Go language and all of its features and idioms. Despite being a ground up introduction, the book appears to be written with the assumption of the reader having some basic programming experience; so while it begins with the usual foundational explanations of types and syntax, the wording is refreshingly precise, dense and informative and continues this way going forward. Most who don't have a need to be talked down to but still would appreciate clear writing and a thorough detailing of the language from the bottom up would find this book is really well-suited.

While the book assumes familiarity with programming in general it is not at all withholding of examples or clarification, and indeed it errs on the side of caution in presenting multiple demonstrations of ideas before moving on to the next hurdle. Examples abound throughout, in fact nearly all chapters tend to have a long block of demonstrations at their end. To some degree my attention started to wander sometimes during these parts. At times their length became a little exhausting as even when I had felt I'd already gotten the idea I tended to pore through the examples under the logic that if it was necessary to include them they must be hiding some subtle nuances I hadn't picked up on earlier, but for the most part that wasn't so. The example sections are simply available to reinforce and clarify ideas for anyone who didn't get them in the first pass. There seemed to be a glut of them but it's unreasonable to fault the author for being thorough and in places I did find them helpful, however the examples are supplemental, and in retrospect it's okay to move ahead if you feel you've understood a chapter by the time you've reached them. By modern standards Go is a very simple language, so it's not a surprise the content of a ~500 page book would have a slight bias toward examples and case studies.

Though, while the nod to thoroughness is appreciated, there is sometimes an overwhelming sense parts of the book could have been shorter. In general the the first 140 pages are devoted to an introduction and the language's primitive types. About 60 pages for numbers and strings in particular seems excessive. Unicode is interesting and subtle, and slices are surely important, but I think most have dealt with vectors, text, maps and numbers enough that this level of detail might be over the top for a book that's mostly instructional in nature. Sometimes it gives the impression Go's spartan approach to selecting features led to certain sections of the book being a little over-bearing for lack of more difficult things to cover.

Lastly, in some places the organization of the book befuddles me. This is absolutely the first time I've made it 144 pages into a book on a computer language before being formally introduced to an if statement. The book obviously couldn't avoid them up to this point and they shouldn't blindside anyone, but if a reader is expected to already know something or understand it inductively, why even bother introducing it 140 pages later? 'if' is a rhetorical example, Go's for loops, switch statements and functions do in fact have their own idiosyncrasies and it's difficult to understand the sense in delaying introducing them. This is so glaringly conspicuous that it couldn't have happened on accident, but the reasoning escapes me. Once again, if it somehow isn't important enough to put at the front of the book before you've been using it for four chapters, why bother?

Those qualms aside it'd probably be best not to end on a negative note. Altogether, this is a thorough book that fulfilled it's purpose in granting me a solid grounding in the language and I'd recommend it nearly to anyone without caveats. Go is an excellent language and this is an excellent place to start.
Was this review helpful to you?
1 of 1 people found the following review helpful
5.0 out of 5 stars This is THE Go language book to get. May 21, 2013
Format:Paperback
First let's get the negatives out of the way. I only had two things I could quibble about. The first is that there are some rare moments where the author gets a little repetitive. The other is that the exercises at times spill over from outside the subject of the chapter they are in, such as when dealing with the numeric types in chapter two, you are also drawn into to some string formatting, which was in the following chapter, and some network programming.

And yet, in spite of this hair splitting on my part, I have to say that this is one of the most well-written books I've read on any technical subject. The wording is simple yet eloquent, precise yet not monotonous. The topics are masterfully cross-referenced so the reader can easily go to other sections in order to get refreshed on previous concepts or to skip ahead in the enthusiastic pursuit of some particular new knowledge.

If you want to know Go (aka "golang" for those doing online searches), get this book. If you want to be a badass in Go, get this book and start coding. If you are waiting for a Go 1.1 or later book, get the latest edition of this book so you can have a solid foundation from which to understand and appreciate those new enhancements. Get this book. ;)
Comment | 
Was this review helpful to you?
3 of 4 people found the following review helpful
Format:Paperback
Programming in Go by Mark Summerfield teaches to program in Go the Go way. This book is for those who are familiar with basic programming concepts and are interested in learning the Go programming language. Programming in Go is written in a hybrid tutorial/reference style. The coverage is comprehensive enough for it to be considered a reference, but it also includes detailed examples as well as exercises that make it suitable for a self-learner.

In my opinion the coverage of the Go language is both thorough and comprehensible with the material structured in a way that optimises learning programming the Go way. In the very beginning readers are introduced to Go with 5 short but effective examples, which provide an outline of Go's syntax and features. Consecutive chapters lay down a foundation and build on it. The author is careful to point out good Go style. Separate chapters are dedicate to the coverage of strings, object-oriented programming, and concurrent programming, which is appropriate since Go takes a particularly unique approach towards them. Programming in Go also includes a chapter on using different file formats for data storage and interchange in Go programs since it is a commonly required functionality. Finally, the birds-eye overview of the Go Standard Library definitely helps to navigate the vast collection of packages as readers write more advanced programs.

As a non-native English speaker I'm especially sensitive to the style in which the text is written, and I found the language of Programming in Go to be clear and easy to follow. Also, not being a very experienced programmer, I appreciated the level of detail of the code examples as well as the hints for the exercises, although others may find the codewalks somewhat wordy. I thought that the exercises were both challenging and useful. My favourite part about this book is that it facilitates writing Go code, and that is why I consider this book a success. In order to learn to program in Go it is necessary to write Go code. Each of the chapters include complete programs as examples, many of which are used as building blocks in subsequent examples or as a basis for the exercises, thus making the presented material easier to understand, practice, and retain.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Good for starting with Go and as reference
I can't find many go books but of all I use I think this is the more complete and easy to read. With this book I learned to program with Go.
Published 7 months ago by DAVID GARCIA ALONSO
3.0 out of 5 stars A bit disappointing
I had high expectations for this book, both because I've enjoyed the author's other books, and also because I've found other books in the "Developer's Library" to be well written... Read more
Published 7 months ago by Jeremiah LaRocco
3.0 out of 5 stars Written for experienced programmers.
I've learned several programming languages from books but "Programming in Go" is a tedious read. The author seems very well versed in idiomatic Go and I have a high confidence in... Read more
Published 10 months ago by Leam Hall
5.0 out of 5 stars "Go" for it
I knew Mark Summerfield for the excellent book Programming in Python 3: A Complete Introduction to the Python Language (2nd Edition). Read more
Published 11 months ago by Luca
4.0 out of 5 stars Not the book I was hoping for
I was a bit disappointed by this book. I'm not saying it's not good, it is, but with the credentials the author (I very much enjoyed his 'Advanced Qt Programming' book for... Read more
Published 11 months ago by Franck Jeannin
4.0 out of 5 stars A great resource
As someone involved with development of the Go compilers and libraries, it's important to me that there's a real interest in the language. Read more
Published 11 months ago by Devon H. O'Dell
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category