diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | reviews/talks.md | 61 |
2 files changed, 62 insertions, 1 deletions
@@ -1,5 +1,5 @@ # Peniblec's Memory Leaks -## still reachable: 8839 words in 22 pages +## still reachable: 9124 words in 22 pages Hi! I am a software engineer interested in [a bunch of things]. diff --git a/reviews/talks.md b/reviews/talks.md index 632ffa1..1a34141 100644 --- a/reviews/talks.md +++ b/reviews/talks.md @@ -79,3 +79,64 @@ Questions: - Does he rely on naming conventions? - Quite a lot. + + +# Josh Triplett - Intel and Rust - The Future of Systems Programming + +:::: tags +- C +- Rust +- systems programming +:::: + +## Systems programming and C + +Systems programming +: > Anything that isn't an app + + Platforms for other programs to run on top of: kernels, VMs, even + web browsers. + +Why did it take so long to move away from assembly for BIOS, firmware +and bootloaders, despite C being readily available? + +- C had to have enough *compelling features* over assembly: "some + degree of type safety", more readable code… +- C had to provide **feature parity**: developers had to feel + confident that they wouldn't be missing features from assembly. + +You could mostly do anything you did in C that you did in assemlby, +and you had an "escape hatch" (the `asm` directive). + +The problems with C go beyond "buffer overflows". + +> Memory safety is the bare minimum requirement these days. + +**Usability and productivity go hand in hand with security:** + +> The less code you need to write to accomplish something, the less +> chance you have of introducing bugs. + +One doesn't have to reach very far to find languages with more +*compelling features* than what C offers. What does "parity with C" +entail, though? + +## Rust + +Rust started out as a safe and performant language for complex +applications, such as web browsers. + +Key feature #1: automatic memory management **without** a garbage +collector. + +(Adding Rust to a codebase is jokingly refered to as "Oxidation") + +Key feature #2: safe concurrent programming. + +### Parity with C + +Rust can handle C functions, structures, unions and pointers. + +Soon in stable Rust™: varargs, smaller binaries, robust inline +assembly (there already exist builtins for SIMD instructions), +bfloat16, more structure layout shenanigans. |
