I mean, the author could have removed most of the complexity by using Rust HALs.
They just decided to reimplement from scratch their own different solution. That’s completely fair, but doesn’t allow you to make the complexity argument.
It would be like deciding to start a C++ project without using the C++ std library and arguing that C++ is hard because you had to reimplement std::Tuple...
Lifetime analysis doesn’t even show up in Rust compiler profiles. It takes 0 seconds.
Rust lifetime analysis is a function-local pass. It never needs to access any state outside the function. It can be done on all functions in parallel, etc.
When somebody pays somebody to write those frameworks.
When nvidia sees a need, they can change CUDA over night to address it, and they pay people to do that.
When you need to do the same in Vulkan, that’s a multi year process till your extension is “open”. A teaser here whose job is to get something done with ML has better things to do than going through that.
But distros do handle this for you. I installed Arch last year with sway and “it just works”.
Like the OP say, if you want HiDPI fractional scaling that’s a solved problem on Wayland. If you want to stick with X11, then that’s never going to work great
Rust actually supports multiple ABIs and you can pick which one to use.
The one I use for maximum portability is the C ABI defined in the ISO C standard and on the platform docs (eg the Itanium ABI specified eg in the x86psABI document on Linux).
I didn’t chose to ignore that. I compiled a Rust binary library 4 years ago, it still works without recompiling today on a dozen of operating systems and toolchains that did not exist back then.
Try doing the same with C++.
I really believe you when you say that you are clueless about how to do this, since you don’t seem to have any idea about what you are talking about, and all your posts start with a disclaimer about that.
But at this point the only thing I have to tell you is RTFM. Doing this is easy. HackerNews isnt a “Rust for illiterates” support group. Go and read the book.
Read the damn Editions RFC. The community agreed that no semantics or ABi breaking changes will land to Rust,
EVER.
This is not a lesson from Py th on, but from C++, which introduces breaking changes every single release, which are much smaller than Python but still a pain in million LOc code bases.
If that ever happens, it was agreed that the result would be a different language, with a different name.
That is, editions don’t have this problem because the FUD that you are trying to spread every single time this issue comes up cannot happen, by design.
Your argument “Rust editions don’t solve this problem because they don’t handle semantic or ABI changes” is false,
because in Rust there CANNOT be any semantics or ABI changes, and editions handle this situation just fine.
In the context of Python 2 vs 3 this argument makes even less sense, because editions allows combining libraries from different editions ina forward and backward compatible way without issues. Source: work on multiple >500kLOC Rust code base and one >1 million LOC and they all use crates from all editions, and mix & match them, without any issues, doing LTO across them, using dynamic libraries, and all possible combinations of binaries across 4 major platforms.
More like a computer is a combination of hardware and software.
A different vendor product with cheaper storage can still be a much worse value proposition than my 2012 MacBook Air.
The problem here is that the Parent you are replying to assumes “storage” is the only issue why I haven’t upgraded. That’s an incorrect assumption.
I haven’t upgraded because paying >1000$ should add value over my MacBook Air 2012, yet for me all laptops in the market do not add enough value to justify the cost.
A new MacBook with 1 TB SSD storage sets you over 2000$, but the value just isn’t there.
Everybody’s mom is recommending an M1 these days, yet crappy webcam, support for 1 monitor only, expensive storage, low ram, being 1st gen of apples arm lineage with 1st gen flaws, no MagSafe, ... make it a bad value proposition right now for me compared with my 2012 air which doesn’t have most of these flaws.. sure it is better in many aspects, but it is also much worse in others (eg 1 external monitor support is a deal breaker for me)
If you want languages that introduce semantic changes and break your code, you have many options to pick from, C++ being one such language in the same space as Rust.
It has a 256GB SSD drive, and a 1 TB SD Card inside that I use for storing photos, video, music, etc. essentially everything that does not need fast storage.
This laptop was only meant to be a 1 year temporary solution, so I’ve been waiting 9 years to upgrade.
I’ve yet to find a new reasonably priced MacBook with 1,256Gb of built in storage.
Carrying an external drive sucks.
Unless Apple makes 1-2 Tb SSDs lower in price to the 100$ mark, the lack of an SD card is a killer for me.
Paying 500$ for an extra 256GB SSD when I can get 1 Tb SD card for 100$ is just ridiculous.
If this is a language for people that didn’t managed to learn C++, D or Rust... lots of questions quite unfavorable for Zig pop up. I’d just remove that sentence.
even if the language is great, if all the ecosystem is written by people that didn’t manage to learn C++ in 25 years, I can’t really trust any library there
vector<int> v{1,2,3,4}; for (auto&& i: v) v.push_back(i);