Live data from Hacker News

Why I Don't Like Golang (2016)

teamten.com

91–100 of 237 posts

Re: Why I Don't Like Golang (2016)

#91
post #39

Earlier quoted context omitted.

I'm not paying that much for an editor that runs counter to my muscle memory, just so I can use a different programming language. If a language requires some IDE to make it usable, then I put it in the same camp as Java: Hope the competition are using it.

No wonder FOSS languages are stuck in the pre-historic tooling.

If “pre-historic” means “doesn't take several minutes to start and require 8GB of RAM”, I guess that's a good thing.

Re: Why I Don't Like Golang (2016)

#95
post #85

Earlier quoted context omitted.

“I’ll pay $1000’s to get all setup and running with everything I need, including a bunch of stuff I don’t need, but not the last $90 for some productive software to make more money” Yeah ok.

You forgot the additional $1000 for a computer powerful enough to run JetBrains.

Sorry I meant to type $1000’s. Corrected it.

I ran JetBrains software on one of those 1.5ghz MacBook 12” and it was totally fine.

I don’t think it needs “powerful” hardware.

Not like visual studio. Now that’s a pain!

Re: Why I Don't Like Golang (2016)

#97
I’d like to get into go but in the past I’ve always been burned by not being able to quickly refactor my code.

If I want to change the contract of get_kittens so that it returns a set instead of a list, I found it quite tiresome to then go to all the call sites of get_kittens and change their types to match.

What was I doing wrong?* Perhaps there’s a cleverer tool out there that can infer and implement these type changes for me, automatically?

* using vim? [joke]

Re: Why I Don't Like Golang (2016)

#98

> There’s no ternary (?:) operator. Every C-like language has had this, and I miss it every day that I program in Go. The language is removing functional idioms right when everyone is agreeing that these are useful. And everyone agreed so hard that it was removed from almost every modern C replacement (Rust, Nim, Zig, Elixir, Kotlin).

Rust has if/else (ternary) and match (N-ary) expressions, so it doesn't need a separate ternary operator. All of the other “C replacements” listed (which are a weird list for that description, especially Elixir, but whatever) have at least if/else-expressions, which, again, are ternaries.

True. In Kotlin you can go

    val foo = if (bar) "this" else "that"
and you don't need two separate assignments.

Re: Why I Don't Like Golang (2016)

#99
post #82

Earlier quoted context omitted.

It's more than that though. There is just no standard library to be spoken of. I mean things like the most basic string processing methods, etc., are left to the programmer to sort out themself. Every time I've done contracting work on Go projects, I'm shocked by the things I have to implement from scratch (not that it isn't fun) that we take for granted in every other modern compiled languge I've tried (Rust, Crysta…

This isn’t true. Go has a basic standard package list. https://pkg.go.dev/std

Another big area that is lacking is Go makes it so hard if you want to use something other than a primitive as a hash key (Rust is guilty of this as well, mind you). This is something that should come out of the box in any modern language in my opinion.

Re: Why I Don't Like Golang (2016)

#100
post #89

Earlier quoted context omitted.

This isn’t true. Go has a basic standard package list. https://pkg.go.dev/std

Yes, and it's missing tons of things we take for granted in other langauges. If you look at the "strings" section it's so short. There aren't even convenience things like string reverse.

Odd, I find the standard library very full-fledged and useful, including the strings package. I've almost never needed to reverse a string, except in interviews. :-) The stdlib has a full (and good) HTTP server with HTTP/2 and TLS support, HTML templating, excellent I/O support, compression, even image encoding/decoding and drawing. That said, the container types are pretty sparse, but that may change a bit now that generics are here.

What, apart from string reverse, do you miss for real projects?

Post reply on HN