Having the ability to overload functions or constructors without a million Stuff::with_x
variants is something I consider more ergonomic and not unsafe. I know the Rust community prefers explicitness in many places, but explicitness and safety are somewhat orthogonal in language design. I consider e.g. Swift to be a safe and ergonomic/sugared language, that borrows, no pun intended, a lot of ideas from Rust
- 0 Posts
- 8 Comments
As long as you limit yourself to a subset of modern C++, it’s actually a decent language. Less guardrails than Rust, but more syntactic sugar (think overloading, default parameters, implicit this, implicit reference-taking, implicit conversions). You could argue those are anti-features, but even as someone who really likes Rust, I gotta admit C++ is occasionally more ergonomic.
When case insensitivity is the default I always wonder how many apps unknowingly rely on that due to typos somewhere. I encountered this once while porting a Windows/macOS app to Linux that someone imported a module with the wrong case and nobody noticed
paperplane@lemmy.worldto Programmer Humor@programming.dev•This is my life now, until I finally understand Cmake.271·8 months agoCMake can also emit its own errors during the configure step though, particularly if you have complicated build logic and/or lots of external packages.
paperplane@lemmy.worldto Technology@lemmy.world•Attack of the week: Airdrop tracing – A Few Thoughts on Cryptographic EngineeringEnglish1·1 year agoWhy not just add a timestamp that rotates every, say 5 seconds, to the hashed data?
That would make it infeasible to precompute the table permanently (it would have to be precomputed for a very narrow attack window, which is still better than nothing)
paperplane@lemmy.worldto Technology@lemmy.world•YouTube warns it might make your viewing experience worse if you don't turn off your ad-blockerEnglish5·1 year agoA nice example of this is Ardour: A DAW that’s free in the sense that the source code is GPL, but the prebuilt official binaries have to be paid for.
paperplane@lemmy.worldto Technology@lemmy.world•Apple has a memory problem and we're all paying for itEnglish237·1 year agoHow so? It’s a polished Unix desktop that runs most open-source and a bunch of proprietary apps, including Final Cut and Logic. It’s natively POSIX and has a proper shell.
JS is fine, it’s more that people overdo it and bundle their heavy, deeply layered frameworks with thousands of npm dependencies for the web. Often times analytics/tracking/ad libraries are a major contributor of bloat, I once shrunk down a package-lock from thousands of lines to a few hundred just by stripping the telemetry libraries from an open-source app.
Use the right tool for the job. Sometimes it’s a static page, sometimes a server-rendered dynamic page and sometimes a single-page application, all of those can be made performant.