top | item 17755030

Go 1.11 Rc1 released

59 points| soroso | 7 years ago |golang.org

26 comments

order

benesch|7 years ago

Release notes are available at: https://tip.golang.org/doc/go1.11

Headline features (as judged by me) are:

* A new WebAssembly backend, js/wasm, for the gc compiler.

* Preliminary support for modules, i.e., the first step towards a package manager built into the Go command.

* Improved support for debuggers, especially Delve.

* Removal of many direct system calls from the macOS runtime. Unlike on Linux, the macOS system call interface is not considered stable. Go 1.11 binaries are now less likely to break when you upgrade your macOS version because system calls are made through the proper channel (libc).

agnivade|7 years ago

There has been some tremendous improvements for ARM architecture. If you run some serious code on raspberry PIs, get ready to be amazed.

imrehg|7 years ago

I skimmed the release notes, and only a little mention there ARM specific changes, can you elaborate on what tremendous improvements are made? Very curious!

vesak|7 years ago

What is the current recommendation for dependency management in Go for a new project?

alyandon|7 years ago

I was using dep but recently switched back to Glide since dep's future is uncertain.

akmittal|7 years ago

Go modules are the future but use dep as of now

shawn|7 years ago

Go is still one of the most difficult and counter intuitive build systems ever devised. Usually you’d expect a project to build out of the box. Go seems to take a stance of “Haha nope, get ready to figure out which version of the standard library this 4 month old project was written against, then have fun trying to update it to the latest.”

I like the language though. Their green threads are still the best.

irfansharif|7 years ago

From Go's 1.0 compatibility guarantee[0]:

> It is intended that programs written to the Go 1 specification will continue to compile and run correctly, unchanged, over the lifetime of that specification. [...] Go programs that work today should continue to work even as future "point" releases of Go 1 arise (Go 1.1, Go 1.2, etc.).

I've found this to be upheld in practice, especially so for the standard library. I have yet to come across a case where I was concerned with which "version" of the standard library some project was written against. Are you perhaps talking about non-stdlib packages?

[0]: https://golang.org/doc/go1compat

pknopf|7 years ago

> Go is still one of the most difficult and counter intuitive build systems ever devised.

I'm currently working on building all the coreclr/corefx repos for .NET Core. Their build system is incredibly convoluted.

alyandon|7 years ago

For what it is worth, I agree 100% and dependency management tools like Glide have been indispensable for me.

Walkman|7 years ago

Can you tell at least one specific example where they broke the standard library?