Live data from Hacker News

Go 1.17 Release Notes

golang.org

21–30 of 222 posts

Re: Go 1.17 Release Notes

#21
post #15

Anyone seen jobs for business applications? Go seems to have a sweet spot for systems. I'd like to replace Java at my work but no one else is doing it.

While we’re not building a “business” application we are building a large web application on Go. It’s definitely not just for systems work.

Re: Go 1.17 Release Notes

#23
post #9

Apparently type parameter compiler work was supposed to get merged just after 1.17. [1] Does anyone know if it’s still on? [1] https://groups.google.com/g/golang-dev/c/U7eW9i0cqmo/m/ffs0t...

It's already in, it has to be requested by the user with `-gcflags='-G=3'`. Of course, the feature is in heavy development and not ready for production use, YMMV.

Re: Go 1.17 Release Notes

#24
post #7

At first I didn't like Go because I thought it was too opinionated. But the more I used it, the more I found the tooling to be just heads and shoulders above similar languages like C/C++. I use VSCode a lot, and in VSCode you can press "F12" to jump to the location of a function definition. In Go I find myself deep diving into github libraries all the time just because F12 takes me there. That never happened with C/C…

Generics are hopefully coming February 2022 with 1.18.

This will be when I finally use Go for something then.

Re: Go 1.17 Release Notes

#25
post #7

At first I didn't like Go because I thought it was too opinionated. But the more I used it, the more I found the tooling to be just heads and shoulders above similar languages like C/C++. I use VSCode a lot, and in VSCode you can press "F12" to jump to the location of a function definition. In Go I find myself deep diving into github libraries all the time just because F12 takes me there. That never happened with C/C…

Generics are hopefully coming February 2022 with 1.18.

Important note: it's the preview release. Not everything will be done, there will be gaps. But the first parts of the work have already merged to master, and it's coming.

Re: Go 1.17 Release Notes

#26
Go is my favorite language to write code in. I was very skeptical when I first started learning it for a new job with error handling that looked archaic in comparison to exceptions but once I got the hang of it it has quickly become my preferred language of choice for any project.

Once generics are finally added the language should basically be a no-brainer for any serious production code.

Re: Go 1.17 Release Notes

#27
post #7

At first I didn't like Go because I thought it was too opinionated. But the more I used it, the more I found the tooling to be just heads and shoulders above similar languages like C/C++. I use VSCode a lot, and in VSCode you can press "F12" to jump to the location of a function definition. In Go I find myself deep diving into github libraries all the time just because F12 takes me there. That never happened with C/C…

Yes, I've been using F12 a lot too, just to dive into random projects. It's amazing how much this little feature means.

Re: Go 1.17 Release Notes

#29
To me, the most interesting change is the performance improvement due to the new register-based calling convention. Your CPU-bound programs will magically get 5% faster when compiled with 1.17:

> Go 1.17 implements a new way of passing function arguments and results using registers instead of the stack. Benchmarks for a representative set of Go packages and programs show performance improvements of about 5%, and a typical reduction in binary size of about 2%. This is currently enabled for Linux, macOS, and Windows on the 64-bit x86 architecture (the linux/amd64, darwin/amd64, and windows/amd64 ports).

I love how they're doing it in such an iterative fashion: even assembly functions don't have to be rewritten. Then again, I guess doing it progressively like this is the only feasible way to avoid reworking all the low-level assembly routines in one fell swoop.

Post reply on HN