Wise people plant trees whose shade they’ll never stand in.
Wise people plant trees whose shade they’ll never stand in.
If two characters are hurting your 260 character limit then you have other more serious problems to contend with.
Until people start applying the same logic everywhere for consistency, not just in file names.
Just you wait…
Did the software industry learn nothing from Y2K? Was it too long ago already for people to remember the mess we made for ourselves?
Saving two characters in a file name is not worth the hell you are leaving in your trail by shoving this nonsense in an obscure corner of production code that people are going to forget about until it’s too late.
I recently had an accountant file something for the IRS that was dated as expiring in 1940 when it should’ve been 2040. I had to catch it myself after reading through 70 pages of dense forms before it was sent off, and I could’ve easily missed it.
Digital records have existed long enough now that it’s downright irresponsible to leave off the century for anything where having an accurate date might even slightly matter.
There are several ways to achieve an effect equivalent to operator overloading in Rust, depending on exactly how you want the overloading to work.
The most common is
fn do_something(arg: impl Into<Args>) {
...
}
This lets you pass in anything into the function that can be converted into the Args
type. If you define the Args
type yourself then you can also define any conversion that you want, and you can make any construction method you want for it. It’s a small touch more explicit than C++'s operator overloading, but I think it pays off overall because you know exactly what function implementation all different choices of arguments will be funneling into.
I’ll admit there’s one thing from C++ that I frequently wish were available in Rust: specialization. Generics in Rust aren’t exactly the same as templates in C++ but they’re close enough that the concept of specialization could apply to traits and generics. There is ongoing work to bring specialization into the language, but it’s taking a long time, and one of my projects in particular would seriously benefit from them being available.
Still, Rust will have specialization support long before C++ has caught up to even a quarter of the benefits that Rust has over it.
Even with modern C++ it’s loaded with seg fault and undefined behavior footguns.
The times when C++ feels more ergonomic than Rust are the times when you’re writing unsafe code and there’s undefined behavior lurking in there, waiting to ambush you once you’ve sent it to production. Code that is 100% guaranteed safe is always, and I really want to emphasize this: always more ergonomic to write in Rust than it is to write in C++.
Show me any case where C++ code seems more ergonomic than its Rust equivalent, and I will always be able to show you how either the C++ code has a bug hiding in it or how the Rust code can be revised with syntactic sugar to be more ergonomic than the C++.
C++ was far and away my favorite language (I used it professionally for 10 years and was always excitedly keeping up with new ISO developments), until I learned the basics of Rust…
Now it’s my firm belief that the world will become a better place when C++ stops existing. C++ just has no positive role to play in a world where Rust exists at the level of maturity that it already has.
Whatever they might try to do to C++ to make it less intolerable will be in vain until they’re ready to break backwards compatibility. And once they’re willing to break backwards compatibility to legitimately improve the language, they’re just going to end up with a messy knock off of Rust.
I’m not trying to shill for Google but I really think it would be a mistake to break up Google without breaking up Microsoft simultaneously if not first. If they actually manage to crack open Google’s search and browser monopoly, who do they really think is going to start filling in that void? Local mom and pop search engines…? No it’s primarily going to be Microsoft with Bing and Edge, and I’m absolutely certain that whatever people don’t like about Google having its monopolies is going to be orders of magnitude worse if Microsoft gains ground there.
I’m not convinced he really believes that OpenAI is going to roll out AGI in the next ten years, but I’m completely sure he’s determined that it’s a good marketing strategy to make people believe that he believes it.
Speaking as an annoying Rust user, you’re being bigoted. I’m annoying, but the vast majority of Rust users are normal people who you wouldn’t even know are using Rust.
Don’t lump all the others in with me, they don’t deserve that.
Rust makes sense though.
I really don’t think that there is any perfect programming language.
You’d be wrong 🦀🦀🦀🦀🦀
I think a long time ago a vicious cycle began in the advertising space where predatory ads had more incentive to pay for ad space, so sensible people start to perceive ads in general as predatory. Now no sensible advertiser that’s trying to promote a legitimate product for legitimate reasons will do so by buying ad space, thus reinforcing the increasingly accurate perception that all ads are predatory.
Still much better than C++ templates, and I say that as someone who used to genuinely love C++ template metaprogramming. Admittedly Rust traits+generics are far more limited than C++ templates, but very often I find that to be a positive. The list of things that I feel traits+generics are missing is small and rapidly shrinking.
A good enough compiler would prevent them from happening 🦀
Sorry to be pedantic but Rust only guarantees no data races can happen. It does not prevent race conditions more generally.
Don’t get me wrong, I absolutely love the language for sparing me from the hell that is data races, but the language alone won’t solve race conditions for you.
Looks like this whole post is an ad for someone’s project. The links hardly have to do with the post.