Hacker News new | ask | show | jobs
by brian-armstrong 3199 days ago
Honestly, I don't think that Go is the right language for this. I've used Go quite a lot and it feels like it mostly just gets in your way. You can't really do memory management, which will likely impede performance for numerical work. There's no operator overloading either.

C++, for all its flaws, seems to just generally be a more well-conceived language and more generalist than Go. The only place I really feel like Go works is specifically in the context of moving bytes from one socket to another.

1 comments

What kind of memory management do you need that Go doesn't provide?

It's not too hard to write Go to minimize allocations (and most short lived allocations end up on the stack anyways unlike other languages [1]). If you really need a lot of allocations you can always use https://golang.org/pkg/sync/#Pool to avoid GC overhead.

[1] https://groups.google.com/d/msg/golang-nuts/KJiyv2mV2pU/wdBU...

But if you're doing that, you might as well just use a language with RAII, good scoping and unique pointers. A language like... C++