Live data from Hacker News

Go 1.7 is released

blog.golang.org

91–100 of 141 posts

Re: Go 1.7 is released

#91

Earlier quoted context omitted.

> I suggest giving Ruby a try too. If you like Go, I don't see much reason to try Ruby except intellectual curiosity. Ruby is clearly a language on its way out and it is not just a lot slower than Go, it's also dynamically typed.

Why is it 'clearly' on its way out? IMO Rails is still the best web framework around, and the last release has really put it ahead of its closest competition.

Not really,

https://www.techempower.com/benchmarks/

Re: Go 1.7 is released

#92
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"?

One benefit is that they were able to bootstrap the language and now enjoy having a pure Go toolchain.

Whereas with LLVM, while they could benefit from all the work that has gone into it, they would get a dependency on C++ for life.

This way, the progress is slower and multiple releases will be required to achieve some optimizations, on the other hand it is the only way to prove to naysayers that for the systems programming use case of writing compilers, Go is also a viable option.

Re: Go 1.7 is released

#93
post #31

Earlier quoted context omitted.

It's annoying to have to install the ruby interpreter onto everything. Go feels a lot like a scripting language, but produces binaries.

Then Python is a good alternative, it's basically already installed everywhere.

'Everywhere' being most Linux distributions, an outdated version (2.7) on OS X, no version at all on Windows.

Re: Go 1.7 is released

#94

The semantics of Go is too ugly. It has no taste.

It's also a necessary "evil" to demonstrate that languages should have the right amount of features, no more and tools are part of a language, along with ease of deployment. It's is questionable whether Go strikes the right balance when it comes to features vs "simplicity" though, but it might inspire better solutions in the future. I think MSFT is trying to follow the same path with .net core and its tool chain, I hope they succeed as C# and F# are vastly superior to Go.

Re: Go 1.7 is released

#95
post #90
post #83

Earlier quoted context omitted.

Most likely it depends on the `net` package which can use `getaddrinfo` for dns lookups. Try using the `netgo` build tag: go install -tags=netgo github.com/google/git-appraise/git-appraise

I tried that and also env CGO_ENABLED=0 go get github.com/google/git-appraise/git-appraise but I always get an error that go wants to write net.a in /usr/lib, which I naturally am not allowed to do because it's owned by the distro (Arch) go package: go install net: open /usr/lib/go/pkg/linux_amd64/net.a: permission denied I have only set GOPATH to ~/.go and nothing else. Any other GO environment variable I should hav…

Go needs to re-build the stdlib packages with the new build tag as well.

You could install go locally somewhere in ~ and point GOROOT there.

Re: Go 1.7 is released

#96
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.

Same, it sounds off to me. I'm also not a grammar expert but know when something sounds 'off'. "Nintendo Wii U is released." - it just sounds strange. "Nintendo Wii U has been released." - ok, sounds good. "Nintendo Wii U released." - ok, sounds good.

""Nintendo Wii U has been released."

has been is Passive voice and should be avoided.

Re: Go 1.7 is released

#97
Great work,

I am looking forward to recompiling my code to see how things are. I have had my side project running on a set of Go micro services compiled against 1.4 since last year.

What can we expect from Go 1.8?

Re: Go 1.7 is released

#98
post #72

Earlier quoted context omitted.

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.

Obviously no backend is in SSA format after register allocation, but before allocation what do other compilers use if not SSA? Is there some kind of low-level LLVM and GCC IR separate from the front-end and middle one? That isn't in SSA? I know that the C2 and Graal compilers are SSA all the way until register allocation is done.

You can stay in SSA form even after register allocation. In libFirm the assigned registers are just attributes of the values in the SSA representation. There was some additional discussion regarding this in [1].

GCC uses a separate representation (RTL) for their backend that is not in SSA form [2]. LLVM stays in SSA form for some backend phases but lowers the SSA form before register allocation (as also mentioned in [1]).

I took a quick look at the C2 and the Graal compiler. C2 seems to use LLVM's code generator (and thus lowers SSA before register allocation) but Graal seems to support SSA-based register allocation, nice.

[1] https://news.ycombinator.com/item?id=11210948

[2] https://en.wikibooks.org/wiki/GNU_C_Compiler_Internals/GNU_C...

Re: Go 1.7 is released

#99
I wish the Clojure compiler was half as fast as Go's :(

I'm not much of a fan of using Go for anything 'big', but I have taken to using it in places where I would have previously used Python (tiny/simple services, housekeeping/utility scripts fired by cron, etc.)

I'd love to use Go at work (amongst many other things), but my employer already gives me a hard time for writing small utilities in Python rather than Java (I refuse to wait for a JVM to spin up just to convert a single file from csv to xml. I simply will not do it, and apparently my employer doesn't consider it worth firing me over).

Re: Go 1.7 is released

#100
post #99

I wish the Clojure compiler was half as fast as Go's :( I'm not much of a fan of using Go for anything 'big', but I have taken to using it in places where I would have previously used Python (tiny/simple services, housekeeping/utility scripts fired by cron, etc.) I'd love to use Go at work (amongst many other things), but my employer already gives me a hard time for writing small utilities in Python rather than Java…

What makes you choose Go over Python for simple services and utility scripts? (I'm just learning Go but would heavily lean towards Python for those things)
Post reply on HN