Microsoft's Safe Systems Programming Languages Effort (Rust)
mybuild.microsoft.com
Microsoft's Safe Systems Programming Languages Effort (Rust)
1–10 of 18 posts
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#2https://www.amazon.com/Rust-Programming-Language-Steve-Klabn...
I think it’s also available for free online. Here? https://doc.rust-lang.org/book/
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#3Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#4That 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
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#5Defination of systems programming language is really contradicting. Go was sold as systems programming language in beginning.
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#6Defination of systems programming language is really contradicting. Go was sold as systems programming language in beginning.
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#7He mentions this book as “the book” on Rust. 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...
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#8Defination of systems programming language is really contradicting. Go was sold as systems programming language in beginning.
Kubernetes is written in Go; I would consider that a "systems" project. I think of "systems" as "software whose purpose is to underpin other software", excluding same-language libraries and frameworks. This rough definition does a good job of covering most of the things people mean when they say "systems programming".
If Kubernetes were written in JavaScript would you call it a systems programming language as well?
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#9Earlier quoted context omitted.
Kubernetes is written in Go; I would consider that a "systems" project. I think of "systems" as "software whose purpose is to underpin other software", excluding same-language libraries and frameworks. This rough definition does a good job of covering most of the things people mean when they say "systems programming".
That sounds like a pretty useless definition and needlessly confusing, because systems programming have always meant something closer to the metal. System as in Operating System. Sounds like Go people decided to repurpose the term for whatever reason. If Kubernetes were written in JavaScript would you call it a systems programming language as well?
Assuming Microsoft isn't talking about solely using Rust in Windows The Operating System and Linux The Operating System, they agree with my definition.
Re: Microsoft's Safe Systems Programming Languages Effort (Rust)
#10Earlier quoted context omitted.
That sounds like a pretty useless definition and needlessly confusing, because systems programming have always meant something closer to the metal. System as in Operating System. Sounds like Go people decided to repurpose the term for whatever reason. If Kubernetes were written in JavaScript would you call it a systems programming language as well?
It wouldn't be written in JavaScript because JavaScript wouldn't serve a systems use-case very effectively. That's exactly my point. Assuming Microsoft isn't talking about solely using Rust in Windows The Operating System and Linux The Operating System, they agree with my definition.
Keyword being "closer" to the operating system, of course it doesn't mean just syscalls and Assembly. If you define "system" in "systems programming" in this broad sense of "something that other things call" you dilute the meaning of the term. Any program becomes "systems programming" then.
I'm sure that most people didn't use the term in this sense before Go's creators did and till this day I see only the Go community re-purposing the expression. I'd be happy to be proven wrong, though.