That may not seem like a big deal for the x86_64 world where modern mitigations largely make shellcode a thing of the past (hence heap exploitation, ROP/JOP, etc) but it is a BIG DEAL for embedded microcontrollers that lack OS/HW memory protection - an area where #![no_std] Rust shines.
As a security researcher and not a developer, let me be very frank: you should STRONGLY consider Rust in place of C or C++. But know that release profile builds don't do integer overflow checking, so don't get cocky :P
https://www.amazon.com/Rust-Programming-Language-Steve-Klabn...
I think it’s also available for free online. Here? https://doc.rust-lang.org/book/
[0]: https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...
Both are great and I still refer to The Book (and Programming Rust) from time to time.
I'd be really keen to pick up v2 of Programming Rust.
TerraFX is greater than just Windows bindings[3] but it is certainly useful for even just that. I've contributed a lot of bindings recently for some low-level Windows headers. Contributions are welcome!
[1] https://github.com/terrafx/terrafx
If Kubernetes were written in JavaScript would you call it a systems programming language as well?
That tended to mean a language designed to compile down to processor instruction sets the way C, C++, or now, Rust do.
Go was intended to replace C++ and C for many of the things that Google programmers did, but it wasn't intended to aim at "bare metal" if I recall Rob Pike's design talks correctly.
Every now and then this misconception is found on HN.