Live data from Hacker News

Go 1.7 is released

blog.golang.org

71–80 of 141 posts

Re: Go 1.7 is released

#71
post #59

Is Go based on llvm? It doesn't seem like it, but would be curious to know why not? Isn't this the point of llvm, to separate the "language component" from the "cpu component"?

This comment from one of the Go maintainers (Russ Cox) is relevant: https://news.ycombinator.com/item?id=8817990

Re: Go 1.7 is released

#72
post #32

>A new compiler back end, based on static single-assignment form (SSA), has been under development for the past year Huh, I was under the impression that either SSA or CPS was pretty standard for any serious compiler. Does anyone know why they didn't design it for this from the beginning? It's like one of the earlier things you learn when making actual compilers.

SSA is standard for the middle end but not for the backend. According to my knowledge there are only two compilers with an SSA-based backend: libFirm (www.libfirm.org) and the Go compiler.

Re: Go 1.7 is released

#73
post #51

I have some years of experience with python and picking up golang was extremely straightforward. Sometimes it annoys me a little bit because it's standard lib is much smaller than python's however having it being compiled is more than worth it. Thanks go team !

That's been my feeling for a long time now. After getting spoiled by Pythons enormous standard library, other languages feel incredibly bare-bones and getting things done takes a lot more work. I wish other languages focused more on including lots of library functions.

Re: Go 1.7 is released

#74
post #39
post #32

>A new compiler back end, based on static single-assignment form (SSA), has been under development for the past year Huh, I was under the impression that either SSA or CPS was pretty standard for any serious compiler. Does anyone know why they didn't design it for this from the beginning? It's like one of the earlier things you learn when making actual compilers.

It was more expedient to start with the Plan 9 tool chain that we had at the time. Ken was already familiar with the code base, which was small and compiled quickly (a few seconds). Because of this we got a lot done quickly, knowing that we would eventually modernize the compiler.

How much is Ken involved in the language today?

Re: Go 1.7 is released

#75
post #23

Ok, off topic question. Not an expert in grammar, but something about "Go 1.7 is released" seems wrong to me. Anyone could tell me if this is an correct usage of grammar? Edit: Dont know why so many downvote, but it is a honest question.

Isn't it the passive voice? You conjugate to be and add the past participle. "Go 1.7 is released" rather than "we have released Go 1.7". The passive voice makes Go the subject of the sentence, otherwise it would focus on who is doing the releasing which is less important in this context.

In informal writing you should avoid using the passive voice, as it sounds disconnected and boring. Technical articles can sound better in the passive voice though, and I remember my physics teachers always used to berate people for not using it. So we should have written "the experiment is performed" rather than "I performed the experiment".

Re: Go 1.7 is released

#76
post #38

Earlier quoted context omitted.

The faster compilation time & speed up is quite real in our real life prod application. From Go 1.6 to 1.7: Test suite (CI), from 3:34 to 1:48 Docker image building, from 3:05 to 1:50 https://twitter.com/mattetti/status/763913903600349184

That's a ridiculous speed improvement. Holy shit.

1. Make compile times slower for every release.

2. Restore compile times to 1.3 or so levels.

3. Collect praise from g-sheep.

Re: Go 1.7 is released

#77
post #23

Ok, off topic question. Not an expert in grammar, but something about "Go 1.7 is released" seems wrong to me. Anyone could tell me if this is an correct usage of grammar? Edit: Dont know why so many downvote, but it is a honest question.

Isn't it the passive voice? You conjugate to be and add the past participle. "Go 1.7 is released" rather than "we have released Go 1.7". The passive voice makes Go the subject of the sentence, otherwise it would focus on who is doing the releasing which is less important in this context. In informal writing you should avoid using the passive voice, as it sounds disconnected and boring. Technical articles can sound be…

Release the Hounds.... The Hounds have been released. Go is released seems fine to me.

Re: Go 1.7 is released

#78

https://github.com/golang/go/commit/a62ae9f62fcfca02075b70e6... > SystemCertPool returns an error on Windows. Maybe it's fixable later This doesn't inspire confidence in Go as a cross platform language which is at version 1.7. If this is implemented in say 1.8, am I supposed to check for Go versions in order to know if the SystemCertPool func works or not? I mean why not just release it when it works on all tier-1 su…

Go is far better than most languages at supporting random system APIs. I mean, you can cross-compile code on Windows that uses Linux syscalls. Try doing that in Python. Actually I just Googled and I'm not sure Python even lets you use syscalls. I also couldn't even find any third party library to give you the system CA pool, let alone a first party one.

Tell me a language that has a first-party cross-platform library that allows you to get the system CA pool on all platforms.

Re: Go 1.7 is released

#79

https://github.com/golang/go/commit/a62ae9f62fcfca02075b70e6... > SystemCertPool returns an error on Windows. Maybe it's fixable later This doesn't inspire confidence in Go as a cross platform language which is at version 1.7. If this is implemented in say 1.8, am I supposed to check for Go versions in order to know if the SystemCertPool func works or not? I mean why not just release it when it works on all tier-1 su…

Go is far better than most languages at supporting random system APIs. I mean, you can cross-compile code on Windows that uses Linux syscalls. Try doing that in Python. Actually I just Googled and I'm not sure Python even lets you use syscalls. I also couldn't even find any third party library to give you the system CA pool, let alone a first party one. Tell me a language that has a first-party cross-platform library…

My third-party Python library that gives access to the system CA trust store: https://github.com/wbond/oscrypto

Re: Go 1.7 is released

#80
post #76
post #38

Earlier quoted context omitted.

That's a ridiculous speed improvement. Holy shit.

1. Make compile times slower for every release. 2. Restore compile times to 1.3 or so levels. 3. Collect praise from g-sheep.

Yes, compile times have gotten worse in some releases, but there were good technical reasons for the trade-off, mainly the general quality improvements of the go environment. But the good news is, they are not resting but trying to gain back the lost speed - you do not observe this always in larger programs.

Calling people happy about this "g-sheep" is unnecessary name-calling.

Post reply on HN