Delete prior iterations of the loop in the same timeline? I’m not sure there’s anything in quantum mechanics to permit that…
Delete prior iterations of the loop in the same timeline? I’m not sure there’s anything in quantum mechanics to permit that…
In the universe where the list is sorted, it doesn’t actually matter how long the destruction takes!
Reminds me of quantum-bogosort: randomize the list; check if it is sorted. If it is, you’re done; otherwise, destroy this universe.
Or Stockholm Syndrome
🤷 That wasn’t my experience, and I used it as my primary dev environment for four years.
It doesn’t go through a translation layer, though. WSL 2 has a whole separate kernel. You can even use GUI apps with Wayland.
For what it’s worth, WSL 2 with VSCode is actually great. Almost all the benefits of Linux (I still miss true tiling window management), with fewer weird driver issues.
That said, I generally just use whatever my company wants me to use, and I haven’t worked somewhere that let us use native Linux boxes since 2014.
Every technology that gets used frequently enough facilitates maladaptation to its faults. 😑
Hopefully you only chmod’d your own systems. Early in my career, I worked on a project wherein we gave a contracting company root access to a computer they could use to test the software they were writing for us. One morning, they sent us a message saying they couldn’t log in. We looked at the computer and discovered it wouldn’t boot. Turned out someone on the remote team had chmod 777’d the entire filesystem. Of course we locked down their access after that.
[warning: “annoying Rust guy” comment incoming]
I don’t think Rust is perfect, but arguably I do “idolize” it, because I genuinely think it’s notably better both in design and in practice than every other language I’ve used. This includes:
In a literal sense, I agree that all (practical) languages “are flawed.” And there are things I appreciate about all of the above languages (…except Tcl/Tk), even if I don’t “like” the language overall. But I sincerely believe that statements like “all languages are flawed” and “use the best tool for the job” tend to imply that all (modern, mainstream) languages are equally flawed, just in different ways, which is absolutely not true. And in particular, it used to be true that all languages made tradeoffs between a fairly static, global set of binary criteria:
Looking at these, it’s pretty easy to see where most of the languages in my list above fall on each side of each of these criteria. What’s special about Rust is that the core language design prevents a relatively novel set of tradeoffs, allowing it to choose “both” for the first two criteria (though certainly not the latter three; the “ease-of-use” one is debatable) at the expense of higher implementation complexity and a steeper learning curve.
The great thing about this isn’t that Rust has “solved” the problem of language tradeoffs. It’s that Rust has broadened the space of available tradeoffs. The assumption that safety necessarily comes at a runtime cost was so pervasive prior to Rust that some engineers still believe it. But now, Rust has proven, empirically, that this is not the case! And so my ultimate hope for Rust isn’t that it becomes ubiquitous; it’s that it inspires even better languages, or at least, more languages that use concepts Rust has brought to the mainstream (such as sum-types) as a means to explore new design tradeoff spaces. (The standard example here is a language with a lightweight garbage-collecting runtime that also has traits, sum-types, and correct-by-default parallelism.)
There are other languages that, based on what I know about them, might inspire the same type of enthusiasm if I were to actually use them more:
…but, with the exception of Swift, these are all effectively “niche” languages. One notable thing about Rust is that its adoption has actually been rather astounding, by systems language standards. (Note that D and Ada never even got close to Rust’s popularity.)
For runtime reflection, no, you’d specifically be able to do things that would be impossible to optimize out.
But the proposal is actually for static (i.e. compile-time) reflection anyway, so the original performance claim is wrong.
If you look at the proposal, this is specifically “static reflection”, i.e. compile-time reflection. So it doesn’t actually have any of the downsides you mention, as far as I can tell.
Creation is easy, assuming the many-worlds interpretation of quantum mechanics!