New edition of the Go Programming Language comming soon ?

3,073 views
Skip to first unread message

christoph...@gmail.com

unread,
Feb 13, 2022, 6:22:47 AM2/13/22
to golang-nuts
Hello Go friends,

is there a new edition of the "Go Programming Language" book to be published soon ?
It is quite old now and there have been a few changes to Go since then. Go.mod and generics. I was considering buying it, but if a new edition comes out in a few months, it would be wasted money.

Amnon

unread,
Feb 13, 2022, 9:02:17 AM2/13/22
to golang-nuts
I have not heard of any plans to bring out a new edition of the book.
But the original 2015 edition is timeless, as it deals with the fundamentals
of the language, of why things are the way they are. Yes they have been some
additions to the language since 2015, but nothing which invalidates anything in the book.
All the examples still run and will continue to run under future versions of Go.
I would say: just buy it. Your money will not be wasted.

Peter Aronoff

unread,
Feb 19, 2022, 12:46:36 PM2/19/22
to golang-nuts
I can't remember where I saw this, but I read late last year that there was a plan to update the book after generics became available. (I.e., sometime after 1.18 was released.)

But, as I said, I can't remember where I read it, and I don't have any reason to believe the person had special knowledge. Maybe I just read a (reasonable sounding) rumor.

As someone else in this thread wrote, the original edition is excellent, so I doubt you would regret buying it, but I understand that it would be frustrating to have a second edition come out only months after you get the first edition.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/287c20c1-451c-476a-a936-ddfe4238ba0bn%40googlegroups.com.

Alan Donovan

unread,
Mar 2, 2022, 6:05:36 PM3/2/22
to golang-nuts
There certainly are a number of topics that a second edition of our book should cover---context, modules, generics, fuzzing---but I wouldn't say we have anything as grand as a plan for it yet.

Rob Muhlestein

unread,
Mar 14, 2022, 12:11:34 PM3/14/22
to golang-nuts
As an educator and mentor I've had very negative feedback about that book from dozens, from 12 to 50 years old. I preordered 25 when it came out and regret ever having anyone start Go with it. One brilliant kid (who went on to teach himself Assembly and C) nearly threw it at me. To date, I have been unable to solidly recommend any book for beginners. This lack of *good* beginner instruction remains one of the great flaws of Go in general. I'm asked daily what to buy and have nothing to tell them. I bought "Mastering Go" recently and it contains "generics" as proposed from 2019 (I should have known since Packt published it). I know the authors are capable, good people, but these books just do not hit the mark. It is one of the *only* areas where I can confidently say Rust does a better job. Their documentation team is amazing.

Tej Singh Rana

unread,
Mar 14, 2022, 12:22:50 PM3/14/22
to golan...@googlegroups.com
Then which book would you recommend? Which is up to date. 

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.


--
Regards,
Tej Singh Rana

Steve Mynott

unread,
Mar 14, 2022, 1:08:05 PM3/14/22
to Rob Muhlestein, golang-nuts
My experience with this book has been different. I thought it was
superb -- a masterpiece of clarity.

I don't think it's intended for absolute beginners to programming but
it's great for people with prior programming experience.

It seems to me unlikely there isn't a suitable absolute beginners book
available from publishers such as Manning, O'Reilly and No Starch
Press.

S
> --
> You received this message because you are subscribed to the Google Groups "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/35da213c-0ff6-4677-b800-f4aa79ea0130n%40googlegroups.com.



--
Steve Mynott <steve....@gmail.com>
rsa3072/629FBB91565E591955B5876A79CEFAA4450EBD50

Rob Muhlestein

unread,
Mar 15, 2022, 12:59:28 AM3/15/22
to Steve Mynott, golang-nuts
The essential issue is that there are a number of resources for people "with prior programming experience" and literally none for people learning Go as a first language. I find this to be very unfortunate because so much of Go promotes solid programming practices that could significantly impact beginners for the rest of their coding lives (goroutines instead of promises, for example). Instead, the community seems content with simply suggesting beginners "learn another language first" and I've accepted that. I just find it a real loss of an excellent opportunity.

The rest of this is just me blabbing on about helping beginners. 😀

And I'm sorry, that book is anything but clear. In my experience, the people who say such things also say that K&R C is "clear." It's a matter of opinion and audience, and if you are a Ph.D in computer science with C coding under your belt, hell yeah, it's *very* clear. I just work with beginners with no CS experience a lot and they balk at the irrelevant examples, unnecessary bombastic voice, and excessive assumptions. I'm sincerely glad some do find it valuable.

By the way, why doesn't our community promote more top-of-the-line, free resources over paid books that become immediately out of date? With all the money being dumped into "universities" and "free training" of late from different corporations facing the doubt of good IT talent I want to believe a dedicated team focused specifically on helping beginners adopt Go is a possibility --- especially given the critical dependency on Go in all of cloud native computing. Being able to read Go source (minimally) should be mandatory learning for any infrastructure engineer these days. I've solved so many problems simply from reading the K8S or Helm source rather than the docs.

I get the impression so many are so busy doing amazing things *with* Go that there is very little energy left to do things to help others start, and by others I don't mean those paying for corporate training. I mean those capable of learning but with limited means; I mean the AP CS programs that are still mandating mastering of single OOP inheritance that completely neglect concurrent programming practices; I mean self-taught upskillers learning to write their own Kubernetes operators. Go could easily displace Java as the best AP CS language if more attention were given to these considerations.

The Tour of Go is only about 60% finished according to the project milestones in the source of the project. And who thought throwing bitwise operators in the first chapter (or so) was a good idea?

It just seems like people are content letting beginners fend for themselves, which is fine for most, but not for the vast majority of people for whom Go is supposedly created. This is the reason I regularly receive feedback about Go from the many I've helped who say, "Go just isn't beginner friendly" and I'm tired of them saying that "Rust is more welcoming" (which is just so untrue).

I know I'm droning on, but someone has to bring this up. Go *is* for beginners. We just need help convince people, and frankly that starts with being able to make a simple, solid book/resource recommendation for beginners. There's just nothing out there. I've read 'em all. There are literally no books that cover even 1.17 for beginners. (Modules were one of the worst things to happen to beginners and we are finally getting on with a simpler future.) With Go 1.18 we have a real opportunity to correct this.

For the record, I'm slowly putting together enough material to crowd-source a beginner Go 1.18 book and have probably a few dozen people interested in helping, but like so many others, I have other stuff I'm first required to focus on. Look forward to anything I can do to help.

Thank you.

---
Rob Muhlestein
r...@rwx.gg
https://twitch.tv/rwxrob

------- Original Message -------

On Monday, March 14th, 2022 at 1:06 PM, Steve Mynott <steve....@gmail.com> wrote:

> My experience with this book has been different. I thought it was
>
> superb -- a masterpiece of clarity.
>
> I don't think it's intended for absolute beginners to programming but
>
> it's great for people with prior programming experience.
>
> It seems to me unlikely there isn't a suitable absolute beginners book
>
> available from publishers such as Manning, O'Reilly and No Starch
>
> Press.
>
> S
>
> On Mon, 14 Mar 2022 at 16:09, Rob Muhlestein r...@rwx.gg wrote:
>
> > As an educator and mentor I've had very negative feedback about that book from dozens, from 12 to 50 years old. I preordered 25 when it came out and regret ever having anyone start Go with it. One brilliant kid (who went on to teach himself Assembly and C) nearly threw it at me. To date, I have been unable to solidly recommend any book for beginners. This lack of good beginner instruction remains one of the great flaws of Go in general. I'm asked daily what to buy and have nothing to tell them. I bought "Mastering Go" recently and it contains "generics" as proposed from 2019 (I should have known since Packt published it). I know the authors are capable, good people, but these books just do not hit the mark. It is one of the only areas where I can confidently say Rust does a better job. Their documentation team is amazing.

Amnon BC

unread,
Mar 15, 2022, 2:34:54 AM3/15/22
to Rob Muhlestein, Steve Mynott, golang-nuts
Great post, Rob!
CS people generally write books for people like themselves and find it hard to 
put themselves in the position of someone without a CS degree, learning their first programming language.
A lot of people are aware of the lack of good beginner material, but few people have the experience
in teaching beginners needed to write it. So great that you are taking steps to rectify this.
Best of luck with the book! I will certainly be ordering a copy when it comes out.




You received this message because you are subscribed to a topic in the Google Groups "golang-nuts" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golang-nuts/U99js3UYz-U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/p1u4j9_xp1GL58dJtM1-kt1TlJ-WWBk5sEd5pqMII1manrfCznDNkN9JosTXBX-bCB9TJk6B8VH6f1dioXca7XjOywfHZHyfF0kF-wfshSM%3D%40rwx.gg.

David Karr

unread,
Mar 15, 2022, 3:58:53 PM3/15/22
to Rob Muhlestein, Steve Mynott, golang-nuts
There is nothing new here. Every programming language, framework, and tool has had the same problem.  Quality documentation and training is often the hardest thing to produce, and is often deemphasized in budgets.  It's also part of the last 10% of doing something that usually takes 90% of the time.

roger peppe

unread,
Mar 16, 2022, 4:57:36 AM3/16/22
to Rob Muhlestein, Steve Mynott, golang-nuts
On Tue, 15 Mar 2022 at 04:58, Rob Muhlestein <r...@rwx.gg> wrote:
The essential issue is that there are a number of resources for people "with prior programming experience" and literally none for people learning Go as a first language.

It does have significant omissions (all programs in the book can execute in the Go Playground), but Get Programming With Go is definitely oriented towards first-time programmers. I tried a newbie programmer friend on it recently who seemed to find it very clear.

Disclaimer: I'm a co-author of the above book.

  cheers,
    rog.

Rob Muhlestein

unread,
Mar 17, 2022, 1:20:25 PM3/17/22
to golang-nuts
Thank you very much for this reference. This looks exactly like what I was looking for. I'm always a fan of getting behind what is out there instead of making yet another of the thing. I've purchased a copy and so far can clearly get behind so much of the approach, especially not requiring anything but Go playground to use (even though we learn Linux terminal thoroughly in my Boosts before coding and learning `go mod` and `go work` are really essential these days). If the book continues to be consistent with my brief sampling of it I will be actively promoting it to everyone on my live streams and potentially teaching from it directly for the Go programming portion of the upcoming 2022 Beginner Boost.

Thanks again,

tmack8080

unread,
Mar 25, 2022, 2:42:02 PM3/25/22
to golang-nuts
Page XV:
"We assume that you have programmed in one or more languages, whether compiled like C, C++, and Java, or interpreted like Python, Ruby, and JavaScript, so we won't spell out everything as if for a total beginner."

Reply all
Reply to author
Forward
0 new messages