Live data from Hacker News

Learning Golang – From Zero to Hero

milapneupane.com.np

61–70 of 76 posts

Re: Learning Golang – From Zero to Hero

#61
post #58
post #9

Earlier quoted context omitted.

After using Rust for about a year on the side, I get the feeling that it's not quite mature enough yet in some places. On the other hand, I also get the feeling that the development of the language itself has been measured and careful which could also be seen as a bit slow. On the other hand, I hear good things about Go across lots of people I work with although I've yet to sit down and give it a meaningful try. But…

> But I also have concerns about the maturity of a language who has jumped to V2 in what seems like a relatively small amount of time. Where can I download Go v2? Latest is tagged 1.13beta1 Go authors stated multiple times that there are no plans for a Go 2 at the moment. They rather improve the language in small increments breaking as least as possible.

> Go authors stated multiple times that there are no plans for a Go 2 at the moment.

There are plans for Go 2[1], Russ Cox has written blog posts and given talks about design improvements for Go which would go into a Go 2. There isn't a roadmap (yet) but this discussion has been going on for the past year or so[2]. They talk a bit about next steps in the most recent blog post about Go 1.13[3].

[1]: https://github.com/golang/go/wiki/Go2 [2]: https://blog.golang.org/go2draft [3]: https://blog.golang.org/go2-next-steps

Re: Learning Golang – From Zero to Hero

#62

Go's not existent standard library is almost a deal breaker for me. The lack of even a dynamic array (c++ vector, Java arraylist) means you write a lot of 2-3 lines of slice notation phrases that require stopping and thinking about indices you wouldn't need to in other languages (and creating a lot of zero length slices for boundary conditions that shouldn't be needed). Also no balanced tree is a big issue (googles s…

> I find it hard to believe that Google used it much internally before releasing it

I don't work there, but I don't think it's used internally in any significant manner at all. Most development there is done in C++, Java, and Python.

Re: Learning Golang – From Zero to Hero

#63
post #40

Go's not existent standard library is almost a deal breaker for me. The lack of even a dynamic array (c++ vector, Java arraylist) means you write a lot of 2-3 lines of slice notation phrases that require stopping and thinking about indices you wouldn't need to in other languages (and creating a lot of zero length slices for boundary conditions that shouldn't be needed). Also no balanced tree is a big issue (googles s…

Go standard library is excellent, that comment makes no sense.

Compare it to the Java standard lib: concurrent data structures, proper generic structures (tries, priority queues, etc.), GUI libraries, annotations (JPA, nullability, etc.), management, sound, etc. and you'll see what's missing.

Re: Learning Golang – From Zero to Hero

#64

Go's not existent standard library is almost a deal breaker for me. The lack of even a dynamic array (c++ vector, Java arraylist) means you write a lot of 2-3 lines of slice notation phrases that require stopping and thinking about indices you wouldn't need to in other languages (and creating a lot of zero length slices for boundary conditions that shouldn't be needed). Also no balanced tree is a big issue (googles s…

I (and seemingly other people) consider https://www.techempower.com/benchmarks to be a good set of performance benchmarks for use cases many people around here would be facing. I guess they haven't been updated in nearing a year though. Go does reasonably well but apparently gets beat by Java. More generally. I like the idea of community driven benchmarks where each community tries to make representative, performant…

These are newer results[1]

golang ranks 108 and 121 in the plaintext and JSON benchmarks, which is quite abysmal.

[1] https://www.techempower.com/benchmarks/#section=test&runid=b...

Re: Learning Golang – From Zero to Hero

#65
post #61
post #58

Earlier quoted context omitted.

> But I also have concerns about the maturity of a language who has jumped to V2 in what seems like a relatively small amount of time. Where can I download Go v2? Latest is tagged 1.13beta1 Go authors stated multiple times that there are no plans for a Go 2 at the moment. They rather improve the language in small increments breaking as least as possible.

> Go authors stated multiple times that there are no plans for a Go 2 at the moment. There are plans for Go 2[1], Russ Cox has written blog posts and given talks about design improvements for Go which would go into a Go 2. There isn't a roadmap (yet) but this discussion has been going on for the past year or so[2]. They talk a bit about next steps in the most recent blog post about Go 1.13[3]. [1]: https://github.com…

They're talking about "Go 2" the brand, not Go 2.0 being a new major version having breaking changes to Go 1.x. There are no plans for a breaking-changes Go 2, only occasional additions to Go 1.x under an ongoing "Go 2" developer relations effort.

Re: Learning Golang – From Zero to Hero

#66
post #65
post #61

Earlier quoted context omitted.

> Go authors stated multiple times that there are no plans for a Go 2 at the moment. There are plans for Go 2[1], Russ Cox has written blog posts and given talks about design improvements for Go which would go into a Go 2. There isn't a roadmap (yet) but this discussion has been going on for the past year or so[2]. They talk a bit about next steps in the most recent blog post about Go 1.13[3]. [1]: https://github.com…

They're talking about "Go 2" the brand, not Go 2.0 being a new major version having breaking changes to Go 1.x. There are no plans for a breaking-changes Go 2, only occasional additions to Go 1.x under an ongoing "Go 2" developer relations effort.

There was discussion of a breaking Go 2 in the early days (though it would be opted-into by individual modules -- similar to the Rust edition system but with more significant changes). I think the plan now is to only have minor breaking changes -- the originally-proposed (outright breaking) syntax changes aren't in the current proposals.

But yes, the current Go 2 proposals are much nicer than the originals. But they do still contain some subtle breaking changes (though they have said they'd add vet warnings beforehand so it shouldn't be too bad).

Re: Learning Golang – From Zero to Hero

#67
post #46

I wosh I had time to learn new languages as I used to... but with 2 kids, one being 4 months it is nearly impossible. How do others devs hungry for knowledge deal with situations like this one?

Go is a language you can pick up in a relatively short amount of time.

The syntax is in the vein of C and Python, so it's probably familiar. The language itself is fairly small, and the focus is on simplicity over expressiveness. If you want to learn new languages but have limited time, my answer is to take a look at Go.

Re: Learning Golang – From Zero to Hero

#69
post #63
post #40

Earlier quoted context omitted.

Go standard library is excellent, that comment makes no sense.

Compare it to the Java standard lib: concurrent data structures, proper generic structures (tries, priority queues, etc.), GUI libraries, annotations (JPA, nullability, etc.), management, sound, etc. and you'll see what's missing.

Java's standard library is full of hot garbage.

Re: Learning Golang – From Zero to Hero

#70
post #53

Earlier quoted context omitted.

I would disagree. Rust and Go occupy very different spaces. This is like saying "skip the car, take a rocket ship." Sure, Rust will go faster in some circumstances, but it's a hell of a commitment.

>This is like saying "skip the car, take a rocket ship." That's exactly what it is like saying. Sure, some people might not want a rocket ship. That's fine. But that is the logic behind "skip go, take rust".

I think the main takeaway for me from watching the YC Startup School videos was that doing a unicorn-scale startup vs a small business initially takes about the same effort for the founders. So, why would you choose the latter then?
Post reply on HN