Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not the person you're replying to, but the lack of generics is the big killer for me. I'm used to being able to manipulate data efficiently via streams/sequences and a rock-solid stdlib which just isn't possible in Go due to a lack of generics.

A close second would be the lack of good performant libraries, which is somewhat due to number 1 and somewhat due to it being a relatively newer language. Try finding a good drop-in loading cache akin to Guava caching or Caffeine in Golang, it doesn't exist.



My take on Golang: Use it for a project, get into the Go mindset of doing more with less.

Then back switch to a language that's actually suited for useful work with getting mired in dogmatism and bring the mindset with you.

Kotlin is a good one if you like Goroutines, Flow/Channels map pretty cleanly to them.

Proponents of Go will say the dogmatism is a strength... it is until it isn't


While generics is definitely an issue, all to often people simply have not learned to use Go properly. They are stuck in usage patterns from their former preferred language.

I remember as a Objective-C developer all these Java/C++ guys complaining. So often it was because they were trying to use Objective-C as if it was Java or C++.

Now as a Julia user I see all these Python guys complaining about stuff which is really about Julia not working like Python.

A lot of people just don’t have time for the language they are using. They just want to bang out stuff as quickly as possible in the way they are used to.

Not saying that is your case but I have seen plenty of complaints regarding generics in Go which could easily have been solved in other ways if one actually understood the language. Go without generics is not the same as Java without generics.


While I agree that different langauges promote different solutions (otherwise we wouldn't bother making new programming languages!), I'm sorry but it's just false that a statically language without generics can be sufficiently expressive.

Generics are necessary to move information of different shapes through a function without loss of fidelity. Without generics, there is an artificial trade off between the variety of the inputs that can be consumed, and the richness of the output that is produced.


On a meta note, I'm surprised to find myself strongly agreeing with a post under the nick "RhodesianHunter", and strongly disagreeing with this post under the name "socialdemocrat".

Yikes.


I like the dog breed, that's it.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: