Comment by Joel_Mckay
1 day ago
Go and Julia are fun languages.
In production, Go has proven solid for several years. It is best when used with the native code people ported.
There are only two issues I encountered:
1. getting the legacy ancient C source meta-circular Go compiler working to port the Go boot-strap compiler upgrade chain is a kick in the pants. However, once it is on a architecture it has proven rather resilient.
2. memory limited systems can develop reliability issues, as Go programs will often ungracefully throw hard to diagnose unrelated errors during each crash. A good metric is 3:1 of your average load as a safety margin (if you see 2GiB in average RAM use, make sure to over-provision the host with 8GiB RAM etc.)
Other than the above short list of edge cases, if you join a pure Go project it is usually pretty reliable. Most community folks interested in the language seem fairly competent at building stuff that is fun. =3
I found Go memory issues easier to solve than Java issues. You can see an example with etcd used in Kubernetes. I had to enable performance profiling in etcd to identify why it was eating up all the memory. It led me to a specific partition of keys that tracked back to a specific object type in Kubernetes.
It was literally enabling a flag and running some commands to do some really quick exports.
Dealing with the JVM though, heap dumps are slow to process and the UI I had to download was very clunky. I don't know if there are better tools, but even if there are the path to just doing it isn't straight forward.
Observability on the JVM is second to none, especially with tools like JFR available for free. You can literally connect to a live JVM and introspect it.
The potential of Java/OOP died with Sun as far as I am concerned. =3
You might want to stay concerned, as you are more than 2 decades outdated then.
1 reply →
The productivity the JVM provides is second to none, including observability and state of the art GCs.
And let's not kid ourselves, Rust and golang are OOP (minus inheritance).
1 reply →
> if you see 2GiB in average RAM use, make sure to over-provision the host with 8GiB RAM
in this economy?
What is unfolding has nothing to do with rational markets. =3
https://www.youtube.com/watch?v=T-oXyXwD6sE