I would define the term &quot;high-level language&quot; to mean that it&#x27;s possible to write programs in the language without needing to worry about the specific hardware that the program is running on.<p>I would consider systems programming to be things like writing operating systems, drivers, high-performance native applications (for many difference definitions of high-performance), and databases.<p>I consider rust to be a high-level language and I further consider it to be suitable for systems programming using my definitions.<p>However, I don&#x27;t consider go to be suitable for a lot of systems programming tasks because it has a significant runtime system that includes a garbage collector. Just because they describe themselves as a &quot;systems programming language&quot; doesn&#x27;t mean that I believe them (at least as far as I understand that term). That said, there are certain applications that work fine with GC, and in those cases it can be a very nice way to achieve memory safety without programmer burden.