5 ms·
Rust is the first systems programming language since C++ I have seen pushed by multiple large tech companies. Go was pushed primarily by Google Swift was push
by RcouF1uZ4gsC 3y ago
Rust is the first systems programming language since C++ I have seen pushed by multiple large tech companies.
Go was pushed primarily by Google
Swift was pushed primarily by Apple
C# was pushed primarily by Microsoft
I am seeing a push for Rust by Microsoft, Google, and Amazon.
In retrospect, it almost seems that Mozilla closing the Rust team was a good thing for Rust as a lot of the Rust developers ended up at other companies and Rust became more than just a Mozilla language.
- loeg 3y agoI believe Rust evangelism spread to other companies long before Mozilla stopped incubating the language.
- steveklabnik 3y agoThat is correct. These other companies were already employing people who worked on Rust in some capacity when all that happened.
- whatyesaid 3y agoRust is actually more suited to those companies than the general public (small companies and individual programmers) so it makes sense they do push it hard.
- _rs 3y agoWhy would you say that is, or why do you think so? I would argue Rust is definitely suited towards small companies and individuals for a lot of projects that C/C++ would’ve been used for before, even things like small audio units or plugins
- howinteresting 3y agoRust has many design features that make it work well for larger teams.
- culi 3y agoWell that's not saying much. So does TypeScript. Those features that make it suitable for larger teams also make it a solid choice for smaller teams. It's hard to imagine a feature that benefits a large team much more than would benefit a smaller team but I'm open to an argument
- howinteresting 3y agoThe benefits of making illegal states unrepresentable, providing safe abstractions over unsafe boundaries, and high-quality built-in documentation scale quite nonlinearly to large teams is all.
- Turskarama 3y agoWhile true, the majority of development doesn't happen in systems languages but generally in garbage collected languages.
- whatyesaid 3y agoJonathan Blow puts it as the "cost of experimentation being too high" which I would agree with. Generally, as an individual or small group the limiting factor for you at times becomes time. Sort of the philosophy where you design by programming instead of whiteboard or clearcut stuff. Less flexible design but more automatic correctness is worth it for big companies because projects involve millions of lines of code and thousands of people over the lifecycle. It's sort of like writing microservices when you're an one man shop. The correct philosophy is monolith first - until you're doing something useful, don't obsess that much. If you've got a clear vision of each project, or perhaps it's a larger scale project more similar to those in big tech, then perhaps Rust is best. But those kinds of projects typically don't even need C++/Rust. I use C++ for high performance experimental software. I would like a C++ replacement also though, maybe through a design like Carbon where it's built above it. You could also then do stuff like making the borrow checker optional and with parts of the program instead, as a sort of finalization refactor. Combining the best of both worlds.
- nsajko 3y agoRust tries to be foolproof.
- bfrog 3y agoArguably Rust is great for small/single owner companies as well. It saves vast amounts of time in comparison to c/c++
- junon 3y agoAs someone who once despised working with Rust pre-v1, I firmly believe Rust is the future.
- seabrookmx 3y agoHonestly all three languages are great in their own ways, but you're right in saying none of them really hit that low level "systems" niche. I'm a big C# fan but I see very few use cases where I'd consider both.
- mohaine 3y agoThe main reason is that Rust is the first new systems language in a long time. That no big players owned it helped as well. Go and C# are not systems languages. Maybe a stretch goal at best.