This voluntary guidance provides an overview of product security bad practices that are deemed exceptionally risky, particularly for software manufacturers who produce software used in service of critical infrastructure or national critical functions (NCFs).
i have not tried it myself but have you taken a look into zig? it looks alot like go but is lower level. i have heard good things about it and it looks nice. of course the ecosystem is quite limited since it’s a quite new language
My only real criticisms of rust are aesthetical. I never liked how C++ is full of macros and :: and <> and rust inherits that a bit.
I use Go because of the work I do right now, which is deep in Kubernetes and APIs for which Go is just more convenient. Protobuf and K8S are of course supported by rust and many other languages as well, but in Go it’s simply easy… Go was designed from the bottom up to write APIs basically so it’s good at that. And most, almost all, of the K8S ecosystem uses Go which means I’d need a good reason not to use Go for that since standardization, interoperability, and ecosystem are key concerns.
You can use rust for this too, for sure no problem. But with Go you’re doing all of that pretty much out of the box.
The Go ecosystem in general is a little bit stronger due to higher adoption, although I wouldn’t really call that a weakness of rust.
And finally less people use Rust which is another consideration for long term maintenance concerns, but to be fair Go adoption is also low.
I’m never an evangelist for any language. Well, if I could simply write everything in typescript I would to be honest because I think it’s just swell but obviously its not for this use case, and the above are the reasons why I use Go and get my teams to use Go for the use case of services, Kubernetes controllers, and since we want to use Go for those things we then also use Go for other random things like CLIs etc just because it makes sense to limit tech stack sprawl.
also, separate comment, what are you generally building? if you’re writing Go because it’s network code, you might want to look into Elixir. It’s GC but the behavior of BEAM is more soft-RT friendly due to its history in telephony, you might be more at home there
I really want Go but without a garbage collector is that too much to ask
i have not tried it myself but have you taken a look into zig? it looks alot like go but is lower level. i have heard good things about it and it looks nice. of course the ecosystem is quite limited since it’s a quite new language
I haven’t checked it out at. Thanks for the suggestion :), it might be the dream
have you like, tried Rust?
comrades pls don’t think Rust is bad just because the bad guys have realized it’s good
My only real criticisms of rust are aesthetical. I never liked how C++ is full of macros and :: and <> and rust inherits that a bit.
I use Go because of the work I do right now, which is deep in Kubernetes and APIs for which Go is just more convenient. Protobuf and K8S are of course supported by rust and many other languages as well, but in Go it’s simply easy… Go was designed from the bottom up to write APIs basically so it’s good at that. And most, almost all, of the K8S ecosystem uses Go which means I’d need a good reason not to use Go for that since standardization, interoperability, and ecosystem are key concerns.
You can use rust for this too, for sure no problem. But with Go you’re doing all of that pretty much out of the box.
The Go ecosystem in general is a little bit stronger due to higher adoption, although I wouldn’t really call that a weakness of rust.
And finally less people use Rust which is another consideration for long term maintenance concerns, but to be fair Go adoption is also low.
I’m never an evangelist for any language. Well, if I could simply write everything in typescript I would to be honest because I think it’s just swell but obviously its not for this use case, and the above are the reasons why I use Go and get my teams to use Go for the use case of services, Kubernetes controllers, and since we want to use Go for those things we then also use Go for other random things like CLIs etc just because it makes sense to limit tech stack sprawl.
also, separate comment, what are you generally building? if you’re writing Go because it’s network code, you might want to look into Elixir. It’s GC but the behavior of BEAM is more soft-RT friendly due to its history in telephony, you might be more at home there