Live data from Hacker News

Thirteen Years of Go

go.dev

101–110 of 217 posts

Re: Thirteen Years of Go

#101
post #67
post #61

Earlier quoted context omitted.

> Rust IMO is much more advanced and expressive. It's a joy to write [...] Maybe, but is it also a joy to read?

Seriously. I think Rust has a lot going for it, but I will say this: the type inference in Rust combined with its expressive type system can make sophisticated programs very hard to follow. My experience was with extensively reading the cargo codebase; trying to figure out what the resulting type of an expression that maps/filters/collects over other complex expressions is a chore. For example, I find it very hard to…

Simply looking at the Resolve struct definition tells you.

    /// A map from packages to a set of their public dependencies
    public_dependencies: HashMap>,
I do agree with you that Rust is easier to read in an IDE though, since then those types gets autoresolved and hinted inline for you.

Re: Thirteen Years of Go

#102

A number of applications I really enjoy are written in Go, so it's been on mind to learn enough to be dangerous. Has anyone had good success with any particular resources?

I maintain Go 101 books. Here are some articles highlighted by me: https://twitter.com/go100and1/status/1589549426988969986

Re: Thirteen Years of Go

#103
post #4

A number of applications I really enjoy are written in Go, so it's been on mind to learn enough to be dangerous. Has anyone had good success with any particular resources?

What are some examples? I've always thought of Go as a server-side language.

lazygit (https://github.com/jesseduffield/lazygit) is great!

Re: Thirteen Years of Go

#104

Why exactly is Go so special? For a compiled language it's not very fast and doesn't seem to be making much traction. I think people simply like it because of it's Bell Labs heritage and pretty syntax.

overall balance and flexibility: https://github.com/go101/go101/wiki/The-main-sell-point-of-G...

Re: Thirteen Years of Go

#105
post #77

Earlier quoted context omitted.

> doesn't seem to be making much traction What do you mean by this? By what metrics and what would qualify as making traction? Many companies use Go and many prominent and widely used open source projects are written in Go. > it's Bell Labs heritage I have never met a person (in person, offline) who has cared about this at all. > pretty syntax One of the most common things you hear as a knock against Go are things th…

> > it's Bell Labs heritage > I have never met a person (in person, offline) who has cared about this at all. People care about it because the language has the Bell Labs "feel". They don't care about it the way a dog breeder would care about a dog's ancestry. (And of those who care about the "feel", some view it as a positive, others as a negative...)

> People care about it because the language has the Bell Labs "feel"

I'm not attacking, I am honestly asking: What does that mean? That it feels C-like? Or something different? A lot of languages are C-like in syntax, so Go is not exactly unique in that aspect.

Re: Thirteen Years of Go

#106
post #99

Earlier quoted context omitted.

> Docker and corresponding tools. https://github.com/abiosoft/colima Neither sound like "applications I really enjoy". More like applications you suffer. > And many others, really. How about examples?

>More like applications you suffer. >How about examples? Sorry, I'm not here to tease or please you. I'm pretty sure you can use google or github search to look for popular Go based projects and try them out.

> Sorry, I'm not here to tease or please you.

So you replied to a comment asking for examples, without examples, because... your life passion is to be an ass?

Re: Thirteen Years of Go

#107
post #37

I really want to love this language, a fast and simple garbage collected lang, but feel like they missed the spot a little. I just wish they did something different with error handling / nil, doesn't feel right for the language. Also whats up with stuff like unused imports being such a big deal?

My biggest complaint in go is "Defaults are useful" logic. I have seen numerous serious production incidents due to simple uninitialized variables. The only workaround is to use a function for all initialization but because that is more verbose it is often not done, and you lose the "keyword arguments" of struct literals.

There are other footguns like the unpredictable by-reference behaviour of slices and the printf functions corrupting your output if you make a type error but they are much less severe than the misguided idea that implicit default values are useful.

Re: Thirteen Years of Go

#108

Earlier quoted context omitted.

> Docker and corresponding tools. https://github.com/abiosoft/colima Neither sound like "applications I really enjoy". More like applications you suffer. > And many others, really. How about examples?

Well, how about Kubernetes?

To update an old saw, Kubernetes is proof you can write Java in any language.

Re: Thirteen Years of Go

#109

I've enjoyed writing Go for years. However, it's not been the language that does it for me. It's been the combination of features and ecosystem that makes it a default. It's hard to explain, but the language is one you can throw into a team of random developers and come out with benchmarks, tests, CI/CD pipelines, unified code formatting, and good parallel work models (via goroutines) almost every time. Builds are in…

Slight counterpoint - I have written Go in the past and now am working with Kotlin and to be honest, I prefer it. I wouldn't mind Kotlin being the new Java rather than Go.

Java is the new Java :) With features like records, virtual threads, pattern matching, sealed types, string templates, and more to come, it's shaping up very nicely.

Re: Thirteen Years of Go

#110

A number of applications I really enjoy are written in Go, so it's been on mind to learn enough to be dangerous. Has anyone had good success with any particular resources?

The Donovan book is fine. It may be slightly outdated in places but nothing that would trip up a developer with prior experience in some other language. One of Go's virtues is it's simple enough you can be comfortable and productive with just a weekend of learning.
Post reply on HN