6 ms·
Microsoft is Getting Rusty [video]
- OutOfHere 2y agoThe way I think about languages is that one must in their programming journey go toward greater type safety. If the journey begins with JS/Python, it must go to TS/Go, then Rust, then Haskell, and finally Idris. Type safety is exceedingly and especially important in a shared code development where one is not the only developer.
- whytevuhuni 2y agoBut one also has to live and work among newbies, so there is a constant pull in the other direction towards simplicity, otherwise productivity grinds to a halt. What exactly ends up being the most pragmatic language that strikes the best balance is likely never going to be decided.
- johnnyanmac 2y agoIf companies get their way, there won't be "career newbies". Students will spend years developing a portfolio for free to prove they can out-efficiency an LLM. Which of course will suppress the industry as Tech is no longer this fast path to riches (the actual wage suppression doesn't help either).
- paiute 2y agoWhich is why everything ends up as json in the end.
- wakawaka28 2y agoType safety is helpful but it can be excessive. I feel like a lot of stuff in Haskell is like that, and probably even in Rust. Everyone has a finite amount of time and energy to spend writing (and compiling!) increasingly complex specifications.
- solarkraft 2y agoThis is why I'm so bullish on Typescript. The type system is so good and expressive that you want to use it, but it doesn't keep you from using interfaces and methods because some complicated vendored type can't be satisfied.
- OutOfHere 2y agoThat's all the excuse a teammate needs to never satisfy any type constraints.
- wakawaka28 2y agoI'm pretty satisfied with the amount of type checking in C++ and Java. You can go crazy with it but the people who write those languages usually have the good taste to not go overboard with complex type tricks.
- bilekas 2y agoIt is really good to see how they've actually applied Rust rewrited in areas that make sense too, having worked with C++ Microsoft code that was sold to Ericsson I can say it's extremely dense and requires a lot of learning curve time to get a feel for their 'way'. It is very easy to make mistakes we found with the C layers specifically, I wish Rust was around and mature enough at the time to realise a rewrite. The productivity benefits alone would have been worth it.
- thesuperbigfrog 2y agoIt's probably just a matter of time before Rust replaces C and C++ for most use cases. Rust continues to make in-roads in the Linux kernel and userland. As this video shows, Microsoft is adopting Rust to improve reliability and security.
- bilekas 2y agoDon't say that to the linux kernel devs..
- DrillShopper 2y agoThe Linux Kernel development process is the quintessential "Ask 10 people for opinions on where to get lunch and you'll get half the Internet chiming in with their thoughts"
- dralley 2y agoInertia is going to keep C and C++ going for a while. The ship takes a long time to turn and it just started turning in the past couple of years. It's probably more accurate to say that individual ecosystems might become Rust-dominated in the coming years but "most" is maybe a tough call. Like: I wouldn't be surprised at all if most (new) linux drivers were written in Rust 5 years from now, and software like git and systemd and pipewire and LLVM and maybe even Postgresql had started to adopt it. And I basically expect that Rust will be completely dominating internet-facing software like servers, browsers, media parsers and the like within 10 years. But I'd be pretty surprised if Rust had more than 20% penetration in automotive / aerospace firmware, or gamedev, even 10 years from now.
- on_the_train 2y ago[flagged]
- bsnnkv 2y agoOut of the major operating systems, Windows is probably by far my favorite to develop for[1] using Rust. windows-rs[2] is officially supported and is constantly being worked on and improved. [1]: https://github.com/LGUG2Z/komorebi https://github.com/LGUG2Z/komorebi [2]: https://github.com/microsoft/windows-rs https://github.com/microsoft/windows-rs
- no_wizard 2y agoThis makes me wonder what .NET would look like if developed in Rust instead of C#
- e12e 2y agoLike working with dotnet from f#?
- renewedrebecca 2y agoRust#
- mgnn 2y agoRust-sharp? That's tetanus.
- estebank 2y agoFun fact I didn't learn until adulthood: rust itself doesn't carry tetanus. What does is dirt. A rusty nail can pierce through clothing and skin because it is a nail, and can be assumed to have been in the dirt because it is rusty. It's "only" a useful approximation.
- lostmsu 2y agoNot quite the same guarantees.
- bsnnkv 2y ago
- sedatk 2y agoGreat talk. I wish Mark had gone over the "dislikes" slide a bit longer though. For instance, I'm not sure what "dynamic linking will eventually bite us" means. He says dynamic linking is commonly used on Windows, but I don't understand how that's problematic with Rust.
- KerrAvon 2y agoRust doesn't have a stable ABI for things that can't be expressed in C, so I assume he means when you're screwed when you want to publish Rust-specific interfaces to a shared library. This is one area where Swift is far ahead of Rust, at least for now.
- gauge_field 2y agoThe stable ABI is really tricky. Another pointer from another talk was about how stabilizing ABI might reduce the performance hash functions (which is used by the compiler) by 0.5%. So, it is really a tricky decision to make that involves doing the right tradeoff at the right point in time.
- estebank 2y agoI'm convinced that a COM-like solution with support for concepts that Rust/Swift have will be the sweet spot.
- heraldgeezer 2y agoI really loved watching Mark Russinovichs troubleshooting videos. This guy really knows Windows client and server. The case of the unexplained https://www.youtube.com/watch?v=AJyr21spwkA&list=PLhFhDWFYccZ9eb0ND71IZyLCB4IRL21R2 https://www.youtube.com/watch?v=AJyr21spwkA&list=PLhFhDWFYcc...
- weinzierl 2y agoHis two part serious about Windows memory management was an eye opener for me. 1st part: https://youtube.com/watch?v=TrFEgHr72Yg&pp=ygUpd2luZG93cyBtZW1yeSBtYW5hZ2VtZW50IG1hcmsgcnVzc2lub3ZpY2g%3D https://youtube.com/watch?v=TrFEgHr72Yg&pp=ygUpd2luZG93cyBtZ... Sadly seems the second part is missing.
- OptionOfT 2y agoI've spoken to a few former colleagues and a lot of them took roles because it was in writing Rust. It's not that the role required writing Rust and they happened to know it, it's that they selected jobs based on whether they would be writing Rust or not. One of the problems I currently have is that I am not comfortable writing other languages anymore that aren't as strict. I was able to shift part of the cognitive load to the compiler. There are productivity benefits associated with that if you're writing code at that level. That said, it's hard to find the jobs themselves as quite often you see requirements of Python/Java/Rust/Go. Doesn't tell you what stack they use.