Go 1.15 – Draft release notes
tip.golang.org
tip.golang.org
For more realistic programs, binary sizes go down by 3.5% or as much as 22%.
The original linker was written by Ken Thompson, who is now retired.
> Mostly https://go-review.googlesource.com/c/go/+/230544 and also https://go-review.googlesource.com/c/go/+/231397and lesser misc stuff like https://go-review.googlesource.com/c/go/+/228111
> On a Unix system, if the kill command or kill system call is used to send a SIGSEGV, SIGBUS, or SIGFPE signal to a Go program, and if the signal is not being handled via os/signal.Notify, the Go program will now reliably crash with a stack trace. In earlier releases the behavior was unpredictable.
> Allocation of small objects now performs much better at high core counts, and has lower worst-case latency.
Plus some usability improvements to the flag lib. I’d love to see this get closer and closer to spf13’s, taking the best and most stable parts. I love spf13’s contributions to the Go community, and a lot of these ideas deserve to be in stdlib in my view.
Anyways, I love how each line item in these updates is a small and unambiguous step forward. There’s something very satisfying about tools that systematically get better with every release.
EDIT: If I compress the Terraform binary and the Python lambda, they become 14mb and 250mb respectively. At least Python is fast, right?
Many of my company's tools have been moved from python to go for both speed and size reasons, as well as because it's much easier to distribute. Even python exec bundles can have significant problems on random workstations, yet the go tools always just work.
I also hate having to serve a separate js file to simuLate the Golang runtime which probably isn’t going away but smaller and more efficient would be a marked improvement!
At the moment everything I saw looked rather bleak.
I think if I was using this I would be building from scratch in which case I would just use rust.
And despite the 2nd attempt to the contracts proposal (now one year old with little visible progress, no updates since August on public git), or the Featherweight Go presented last week, there is still no guarantee that any of that will ever land on Go.
> now one year old with little visible progress, no updates since August on public git.
This is untrue.
In January this year the Go team wrote[1]; "Module support is in good shape and getting better with each day, and we are also making progress on the generics front (more on that later this year)."
If you looked at the draft/experimental[2] branch where generics development has been taking place, you can see that it has had activity as late as just last week.
In the featherweightGo presentation, Phil Wadler said Rob Pike wrote to him asking if he would be interested in working with the Go team so that they can figure out generics and try and get them right. And that is how featherweightGo came to be.
So a lot has/is been happening.
1. https://blog.golang.org/go1.15-proposals
As for the rest, it still has every chance to be shot down at last minute like it happened with the error proposal, regardless of what gets done.
the rest of the proposal went through just fine.
It doesn't matter how hard anybody tries when a vocal community rejects any attempt at changing Go type system.
https://blog.golang.org/go2-here-we-come