Programming
Software Development Link to heading
Languages Link to heading
Rust Link to heading
Rust1 is becoming a very popular language. I personally want to write everything in Rust because it provides a lot of the security of runtime memory safe languages (e.g. Python, Javascript (V8), Go) without the runtime overhead. It also provides a bunch of features which none of those languages have like Algebraic Types and pattern matching2.
Here is an in-depth article explaining how rust’s memory safety works. Like, what is it actually protecting and how does it work?
Example of converting C programs to rust over time using TinyVM as the example. Using Cargo to build the C program and then replacing the C functions and structs with rust ones then disabling that part of the C code you can eventually replace the whole C program piece by piece. You can also write tests to ensure that before and after the change the code works the same.
Zig Link to heading
Zig is another language which is attempting to replace C (like Rust), but does not have all the same safety features.
One of the main contributors suggests replacing the build systems of C projects with Zig to make cross-compilation easier as well as enabling the use of Zig on the projects to slowly replace C without requiring a rewrite.
Frontend Development Link to heading
Frontend really needs it’s own section because of how many unique things there are about it. Namely that it’s all running in a browser so it’s either Web Assembly or Javascript.
React Link to heading
Learn more at https://rustlang.org ↩︎
Python is adding support in 3.10 I think, but I won’t be able to use 3.10 in my daily work for a while so it doesn’t affect me yet. ↩︎