Live data from Hacker News

Go 1.7 is released

blog.golang.org

61–70 of 141 posts

Re: Go 1.7 is released

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

It's not based on LLVM. I don't know how recently the official FAQ was updated, but they say [1] that while they thought about using LLVM, they thought it was too large and slow for what they were looking for.

[1] https://golang.org/doc/faq#What_compiler_technology_is_used_...

Re: Go 1.7 is released

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

It seems right to me (American speaker). "Released" functions as an adjective, with similar meaning to "available." "Go 1.7 is available" would be grammatically correct.

"Go 1.7 has been released" would also be correct, but uses the present perfect tense.

So the question is, can "released" be used as an adjective? "The released version has a bug" seems correct to me, and "released" clearly functions as an adjective there.

All that said, the present perfect version seems clearly correct, while I can't make a great argument for the adjectival version.

Re: Go 1.7 is released

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

There are llvm (and gcc) implementations of go but main/reference implementation was written from scratch in C and later moved to pure go. IIRC the authors wanted to achieve really fast compilation and a few other things that required them to start from scratch.

Re: Go 1.7 is released

#64
Elevator description:

  - Open source, 6 years old, backing from Google

  - Nice for concurrency and service implementations

  - Not nice for generic types

  - C like, modern, minimalist, garbage collected

  - Becoming more popular

Re: Go 1.7 is released

#65
post #50

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

How large-ish is your codebase?

That's what I was wondering. Our largest Go application takes maybe 5 seconds to compile clean. We largely use Go as a number of Microservices though.

Re: Go 1.7 is released

#66

I just learned Go 2 days ago and today I am already running my own web app! I love Go because it is kind of like C, but better (more modern).Generally, I always program my stuff in Java, but whenever I have an idea of creating something I could only choose between: C, Java, bash. Obviously I am not going to use C and bash for most of my ideas. Thinking about solving my issues in Java is meh so often I decided it is n…

I think this will interest you, https://github.com/thewhitetulip/web-dev-golang-anti-textboo...

It's an introductory book for learning how to write webapps without a framework.

another book: https://github.com/astaxie/build-web-application-with-golang

Re: Go 1.7 is released

#67
post #50

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

How large-ish is your codebase?

167912 LOC

Re: Go 1.7 is released

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

There are llvm (and gcc) implementations of go but main/reference implementation was written from scratch in C and later moved to pure go. IIRC the authors wanted to achieve really fast compilation and a few other things that required them to start from scratch.

There was also the matter of figuring out llvm in order to use it. The initial Go compiler was based on the Plan 9 C compiler toolchain, which the designers of Go know well.

One of the other reasons relates to how stacks are handled for goroutines.

Re: Go 1.7 is released

#70
post #31
post #22

Earlier quoted context omitted.

I suggest giving Ruby a try too. I find it great for both web dev and local automation scripts. You can do pretty much anything you can do in bash but with clearer and shorter code. I've been writing all my non-trivial automation code in Ruby for years. Rails is just a popular web framework for Ruby, there's a lot more the language can do.

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

This is a hurdle, but IMO it's not too annoying if you already have rights to install packages. Just automate interpreter installation in bash if it's not already there. Way too much time and money is invested in fighting the esoteric crannies of Bourne shell when the logic would be much clearer in Ruby or Python.

Ansible's moment in the sun is fading now that Docker came onto the scene, but that was a glorious moment. It's still very useful for anyone with long-running, non-removable machines. Ansible requires Python and allows a great deal of behavior to be defined in simple YAML instructions.

Post reply on HN