fluffything
Joined 7 years ago
Joined 7 years ago
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...
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.
You could do Rust alias analysis with 33 MHZ.
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.
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
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).
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.
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)
vector<int> v{1,2,3,4}; for (auto&& i: v) v.push_back(i);