Live data from Hacker News

Go runtime: 4 years later

go.dev

271–280 of 296 posts

Re: Go runtime: 4 years later

#271

Earlier quoted context omitted.

I totally agree. After working with it for a while I feel like its best use is in writing CLI tools due to the compiler making it so damn easy to produce statically linked binaries for any platform, backed by an incredibly powerful standard library. My issue for application and web server development are in the language design as it restricts me in my personal quest to write loosely coupled code that is marinated in…

"You can accept a struct where an interface is a parameter but you cannot return a struct where an interface is the return type." Possibly I'm misunderstanding the complaint, but that is because an interface is a fat pointer, so one returns a pointer to a struct implementing the interface. https://go.dev/play/p/YOa6NF7rjPF

It's more this scenario https://go.dev/play/p/S2yQqriYTtm

It's because an interface is structurally evaluated only on variable assignment, but it's not always structurally evaluated which limits its usefulness

Re: Go runtime: 4 years later

#272
post #171

Earlier quoted context omitted.

I agree. It feels a bit like where Java/JVM is at: popular, solid runtime, large community/ecosystem, but Java made some bad choices. In my opinion: Go needs a Kotlin. First and foremost to do away with implicit nulls (imho the biggest mistake), but here are other things that could be impoved you've already mentioned.

The good thing is that Java is incorporating the proven features of other languages. It has gotten records, pattern matching (better than Kotlin's), and in the latest release, virtual threads with structured concurrency, better than async/await, and also better than golang as it lacks structured concurrency.

But implicit nulls are a big pain point (in both Java and Go). And its very hard to fix for Java (and no plant thus far).

Re: Go runtime: 4 years later

#273
post #250

Earlier quoted context omitted.

It shouldn't be a Rust vs golang. golang is mostly a somewhat better python, and mostly for writing backend services. You can compare its domain (to a certain degree) to Java or C#, in which case the latter two are superior due to the reasons mentioned previously (enums, pattern matching, etc.).

Agree, about the "us vs them" mentality. The tribalism has gotten out of hand, though I kind of suspect some of it is corporate interests being behind it to push the illusion its a "winner take all" game and "putting the batteries in the backs" of many of the evangelists.

It feels like the language wars of 90s and 00s all over again, and I personally don't want to go through that cycle again.

I don't want to take sides, I want to enjoy programming and learning, that's all. When zealots zeal, kinder people either leave or go underground.

Re: Go runtime: 4 years later

#274
post #189

Earlier quoted context omitted.

This is an interesting comment. Is there a webpage where I can read more about this idea?

Perhaps https://journal.stuffwithstuff.com/2015/02/01/what-color-is-...

That guy is a lengendary blogger! And I have read that post. It was very eye opening. I always struggle when I write an (internal) API that has sync (blocking) and async (non-blocking) sections and methods. It quickly becomes very difficult to reason about!

Re: Go runtime: 4 years later

#275
post #272

Earlier quoted context omitted.

The good thing is that Java is incorporating the proven features of other languages. It has gotten records, pattern matching (better than Kotlin's), and in the latest release, virtual threads with structured concurrency, better than async/await, and also better than golang as it lacks structured concurrency.

But implicit nulls are a big pain point (in both Java and Go). And its very hard to fix for Java (and no plant thus far).

There are solutions like CheckerFramework or Nullaway or other compile time annotation processors.

Re: Go runtime: 4 years later

#276
post #238

Earlier quoted context omitted.

That's complete and uncalled for troll nonsense. V has hundred of releases ( https://github.com/vlang/v/releases ), with hundreds of contributors to its open-source project (577 and growing). It exists and works. It's one thing to like some other language, its another thing to spew disinformation, lies, and flames about others.

The V creator makes a lot of promises but most don't pan out. When pressed on them, they often say it's "planned," not actually here, even though their marketing says it is here. Some good links to read: https://news.ycombinator.com/item?id=20230351 https://xeiaso.net/blog/v-vaporware-2019-06-23 https://xeiaso.net/blog/OVE-20190623-0001

No post body was provided.

Re: Go runtime: 4 years later

#277
post #29

I really like the engineering principles in general that the Go team uses, however, I just don't like Go. That isn't meant as a slight or anything other than simply my opinion. That said, I really like the idea of a simple language based on the sort of principles demonstrated here. The runtime seems really nice, I just wish I liked the language better (IMO: not expressive enough, needs better error handling, needs mu…

We always make this discussion with friends. I don't think every language should tick the boxes the same way. I also personally like Go a lot. It's filling the gap between C++ and Python for me. If I need something compiled with proper threading support, but C++ would be an overkill, I reach for Go. Go is designed with a human centric view, IMHO: "Make writing great programs easier rather than design a language with…

> Go is designed with a human centric view, IMHO: "Make writing great programs easier rather than design a language with novel/cutting edge features, but with a high cognitive load", and I find it as a noble aim as Rust's guarantees and aspirations.

I don’t understand his horrid informal writing style trend. You are clearly not quoting anyone and just providing your own interpretation. So why in the hell are you using quotation marks? In this case you could just ditch the quotation marks altogether since the colon already acts as a separator.

Re: Go runtime: 4 years later

#278
post #276

Earlier quoted context omitted.

The V creator makes a lot of promises but most don't pan out. When pressed on them, they often say it's "planned," not actually here, even though their marketing says it is here. Some good links to read: https://news.ycombinator.com/item?id=20230351 https://xeiaso.net/blog/v-vaporware-2019-06-23 https://xeiaso.net/blog/OVE-20190623-0001

Quoted post unavailable.

Look at your comments and post history in the past couple of weeks. You submitted 3 separate posts about V, and your recent comments are just calling people who call out V "trolls" and "spammers." Observe your own bias before you cast others down.

Re: Go runtime: 4 years later

#279
post #29

I really like the engineering principles in general that the Go team uses, however, I just don't like Go. That isn't meant as a slight or anything other than simply my opinion. That said, I really like the idea of a simple language based on the sort of principles demonstrated here. The runtime seems really nice, I just wish I liked the language better (IMO: not expressive enough, needs better error handling, needs mu…

This truly is the final, futile iteration on the meme of: I want but with or without X:

> That said, I don't know what I'd want to drop from Rust so maybe I'm just fantasizing.

What is X? I don’t know.

Re: Go runtime: 4 years later

#280
post #151

Earlier quoted context omitted.

What is hard about Java? It is a very small language.

Public static void is already quite a lot for beginners to learn

Never really thought of that particular keyword soup when I was first learning it. It wasn’t an issue. Grokking Java-style OO was much harder. I probably still don’t grok it.
Post reply on HN