Yeah I have a love-hate relationship with it haha. We used it for our backend and it was rock solid for almost a decade before the startup folded due to the pandemic. I don’t think we ever had any unit or integration tests lol, but pretty much if it compiled and the code looked correct it worked and bugs were generally easy to resolve. It was also super simple to deploy because it’s just a single binary and it handles threading really well so you only need to run a single instance per frontend VM to utilize all of the machine’s resources. Also for backend usage, there was almost always a well written built-in package for about anything we needed either in the standard library or the “extended standard library”.
With that said, the language itself…yeah I don’t really love it. Especially coming from other modern languages it’s missing so many features (basic stuff like generics, etc) and has “weird” (or maybe just different) code patterns. It always took a while to start “thinking in Golang” after working on our other code bases for a while, whereas I could bounce between other languages easily.
So yeah, for performance and reliability it was a 10/10 for us, but the language itself I felt like was a 5/10 for me.
Yeah I have a love-hate relationship with it haha. We used it for our backend and it was rock solid for almost a decade before the startup folded due to the pandemic. I don’t think we ever had any unit or integration tests lol, but pretty much if it compiled and the code looked correct it worked and bugs were generally easy to resolve. It was also super simple to deploy because it’s just a single binary and it handles threading really well so you only need to run a single instance per frontend VM to utilize all of the machine’s resources. Also for backend usage, there was almost always a well written built-in package for about anything we needed either in the standard library or the “extended standard library”.
With that said, the language itself…yeah I don’t really love it. Especially coming from other modern languages it’s missing so many features (basic stuff like generics, etc) and has “weird” (or maybe just different) code patterns. It always took a while to start “thinking in Golang” after working on our other code bases for a while, whereas I could bounce between other languages easily.
So yeah, for performance and reliability it was a 10/10 for us, but the language itself I felt like was a 5/10 for me.