3 ms·
Rust has technical and political challenges. Technical challenges are a lot of things but mostly a pretty unimpressive build-time improvement over C++. An expl
by benreesman 4y ago
Rust has technical and political challenges.
Technical challenges are a lot of things but mostly a pretty unimpressive build-time improvement over C++. An explicit choice to limit the generalized effects system to "we can get a lot of JS people on board" is already showing age.
The political challenges are, ugh, more complicated. It's everything from the PagerDuty response times on every relevant forum by a person of the exact right seniority to respond to anyone expressing even the slightest skepticism to the big blocks of people resigning en masse and publicly (https://developers.slashdot.org/story/21/11/27/0123211/rusts-moderation-team-resigns-to-protest-unaccountable-core-team https://developers.slashdot.org/story/21/11/27/0123211/rusts...) over "Core Team" heavy-handedness, to the still-intriguing mystery of who is paying thousands of people to care more about this than their spouse.
- pas 4y agounless I misinterpret your last paragraph, but isn't the solution to that mystery is the fact that not everyone has a spouse? (also many spouses don't need the attention, so folks are free to spend it on oxidizing the world? :))
- benreesman 4y agoSo (darkly) funny story: when I was like one of eight people with a pager (so to speak) on Instagram’s total stories served per minute/hour/whatever: there were a few of us losers who missed that the servers were more than a little stressed on a Tuesday, and it took especially long to find out because everyone else was doing one of the most important things they’d do all year: it was Valentine’s Day, of course there were a lot more posts than usual. Now we were all making 2 million dollars a year on the low end, so we were certainly compensated, but even then, nothing to brag about.
- zozbot234 4y agoThe interactions of "generalized effects" with the Rust affine types and tne borrow checker are quite non-trivial. This explains why Rust does not use effects better than any explicit choice; building an effect system that works naturally with the language is a research-level question that hasn't been tackled as of yet.
- benreesman 4y agoIt’s unclear from your comment if you’re talking about what Haskell calls “applicative” effects (sequenced but independent in which subsequent computation) or “monadic” (sequenced but the previous effectful computation can determine the next). Linear and affine typing do in fact interact, and yes there’s been a ton of research on it, the papers are there for anyone to read. And if Rust was marketed as a promising research vehicle, then have at it! But it’s not, it’s marketed (very successfully or I wouldn’t care) as “and you will do nothing, because you can do nothing”. Affine typing can get fucked compared to big sloppy arenas if that makes it easier to mutate a variable without talking to the network. That’s a bigger safety and correctness concern full stop. People talk about Rust and it’s borrow checker like it’s the x86_64 ABI or something: it’s not. It’s a vocal and enthusiastic community with non-trivial but still-optional buy-in at the big shops. We can still collectively just ditch it if we want. The borrow checker is still asking for permission to exist: C textual header includes are asking for foreguveness.