After seeing and writing my fair share of production C++, I have the impression that dealing with its complex semantics will inevitably absorb most of the brainpower of the engineers working on the codebase.
New code has to be carefully considered and examined for its potential invisible side effects, abstractions have to be expertly designated, you rely on a whole playbook of idioms for solving everyday tasks.
To me, Rust looks like a simpler language. If someone already understands the intricacies of C++, there isn't anything they wouldn't be able to grasp there (including the borrow checker, which C++ programmers have to run in their heads every time they make a change).
It's funny how technology develops. We sometimes get stuck in local minimums and it takes an enormous effort of thousands of people to move the needle a bit from there.
I wonder what's going to be the next thing after Rust. Considering how much time these things tend to stick around, I might be dead by then.
And a lot of the C++ (and Hack (no pun) and Python) in the Meta codebase is being gradually displaced by Rust because safe with zero-cost abstraction performance is (almost) magic.
Of MAANG, only Netflix and Apple are still missing from the Rust Foundation.
Speaking from inside a big company, Rust lowers the risk profile for many projects and thus makes them easier to get approved from a business standpoint.
I mean thats mostly posthock justification. (speaking from a tech giant)
The business cares about the following (in order):
o does it do what it's supposed to do?
o does it make the $thing quicker/cheaper/more efficient?
o is it reliable for the end user?
Everything else is supplementary. Even, in most cases security.
look, Its great that people are happy about a language. But its just a brush for logic. Yes, rust is better than C++ for most things.
But, and I cannot emphasise this enough, it is not the new messiah. Its not going to magically make that badly run project run better. Its not going to solve the structural problems that your current project has.
But its just a brush for logic. Yes, rust is better than C++ for most things.
Don't you see how ironic it is to write those statements back-to-back?
But, and I cannot emphasise this enough, it is not the new messiah. Its not going to magically make that badly run project run better.
This is a pretty basic fact, in fact you might as well emphasize the importance of clean drinking water while you're at it. Yes, Flon's Axiom remains as true today as it was in 1975.
Its not going to solve the structural problems that your current project has.
Again, reasonable people do not expect Rust to magically fix their problems. Rather those people see languages like Rust as giving them the necessary tools to fix their problems. Hence why they are willing to put in the extra effort for learning and using Rust.
> Don't you see how ironic it is to write those statements back-to-back?
Ironic? not really. I'm not doubting that rust is an improvement.
> reasonable people do not expect Rust to magically fix their problems.
alas, in the massive mono repo where I work, this is not the case.
What I'm doubting is the effort currently being expended telling me that rust is superior and will solve all of $project's problems with one simple quick re-write. I'm too fucking old for this naive carbonfibre/innovation token sucking evangelism.
rust is fun, great!
rust is memory safe, brilliant!
Rust is fast, super!
now fix the fucking bugs in your existing code, don't make me wait for a failed re-write to not deliver the features we need.
problem: "our CLI tools are fragmented, incoherent and badly documented"
solution: "we are now re-writing everything in rust! its so much faster"
Pretty sure even just the folks at MANGA alone that use Rust outnumber the 1,000 figure by this point.
Anyways, most bugs actually result from changes in code, so it makes sense to focus future improvements on a more robust greenfield codebase. You can fix bugs in C++, but if you want to prevent them from being introduced, you are going to need a bigger hammer.
Reading mentions of big tech on HN is always a Mugato, Gumato moment for me, with every comment using a different acronym to refer to these companies. What's the status of Rust in the greater AGAM(EMNO)N?
What a great read! A crystal clear explanation of several obscure corners of the language with a really nifty stunt to motivate it all.
I learned a few things, had my memory refreshed on others and look forward to absolutely never using this technique under any circumstances except fun experimentation. Kudos for including a warning to that effect and for mentioning the prior art.
C++ turns programming into bloodsport. This is further proof that the language designers failed in every language design competency - at least from user standpoint. And they are working on more of the same!
New code has to be carefully considered and examined for its potential invisible side effects, abstractions have to be expertly designated, you rely on a whole playbook of idioms for solving everyday tasks.
To me, Rust looks like a simpler language. If someone already understands the intricacies of C++, there isn't anything they wouldn't be able to grasp there (including the borrow checker, which C++ programmers have to run in their heads every time they make a change).
It's funny how technology develops. We sometimes get stuck in local minimums and it takes an enormous effort of thousands of people to move the needle a bit from there.
I wonder what's going to be the next thing after Rust. Considering how much time these things tend to stick around, I might be dead by then.