By: cqwrteur (euloanty.delete@this.live.com), July 12, 2021 12:55 pm
Room: Moderated Discussions
FrankHB (frankhb1989.delete@this.gmail.com) on July 12, 2021 10:57 am wrote:
> Brendan (btrotter.delete@this.gmail.com) on July 12, 2021 2:34 am wrote:
>
> > > Also recently I've found the stupidity like this:
> > > https://github.com/Rust-for-Linux/linux/commit/c606d85a0d3c67b8221fee5fa67028bdebd4b0cc#diff-521fe5c9ece1aa1f8b66228171598263574aefc6fa4ba06a61747ec81ee9f5a3
> > >
> > >
> > > Instead of doing this
> > > void foo()
> > > {
> > > p[1].x().y() = p[2].x().y();
> > > }
> > >
> > >
> > > Now you have to do this. Who the fuck in rust team though this is a good idea.
> > > ///SAFETY: p has 5 elements
> > > ///XXXX
> > > ///XXXX
> > > unsafe fn foo()
> > > {
> > > (unsafe{p.get_mut_unchecked(1)}.unsafe {x()}.unwrap().unsafe{y()?})? =
> > > (unsafe{p.get_mut_unchecked(2)}.unsafe {x()}.unwrap().unsafe{y()?})?;
> > > }
> > >
> > > Rust one is completely unreadable, wasting programmers time and probably even leading to slower compilation.
> >
> > Unlike C++; where it's impossible to be sure what something as innocent looking as "a = b + c;"
> > actually does without scouring the source code to determine who overloaded what; where compile
> > times have a reputation for being the worst of any language ever created (despite scavenging the
> > concept of modules from other languages and slapping it onto their huge pile recently)?
>
> This is red herring. The example is about some crazy and absurd code abuse, which is also complaint by average
> Rust users. In constrast, operator overloading is quite idiomatic and irrelavant to the point here.
>
> As of this C++ case, it should not cause trouble once the overloaded operator is well-designed
> to expose its intent properly. It is also ridiculous to blame the contextual-dependent nature
> solely of the overloading. The name lookup on variables "a", "b" and "c" also requires reading
> the declaration to ensure the meaning clear, so you are actually forbidden from being that
> innocent unless you don't use any languages having such kinds of scoped variables.
>
> BTW, overloading, being a form of ad-hoc polymorphism, is certainly evil in many sorts. But in the context of
> C++, my hatred to the feature mostly comes from the effects that over-complicated overloading rules bloat the
> language specification (i.e. ISO/IEC 14882) a lot. As of Rust... well, where is the language specification?
>
> And thanks to Rust, reputation of compile time of today's C++ seems to be
> promoted a bit. (I'm against C++ module for some other reasons, though.)
>
> > > If the goal of Rust team is to make everything painful, why should I waste time to fight against
> > > the compiler? Instead of using that time to sanitize and fuzz? What's the benefit of using it?
> >
> > Heh. This is how I feel about "smart pointers" in C++. If the goal of C++ is to double
> > the (already 10 times worse) learning curve why should I fight against the compiler?
>
> Why do you feel C++'s smart pointers difficult to learn? Is
> Rc really simpler than shared_ptr besides the spelling?
>
> > Note: I'm not a Rust advocate (I'm just willing to let other people spend their time experimenting
> > so I can obtain better empirical evidence about the benefits and pitfalls of certain language features).
> > To me; the goal should be to reduce complexity of the language
> > (because I think "more complexity" translates
> > directly into "higher chance of mistakes" and that programmers have enough complexity to deal with
> > from the problem their code is trying to solve), and to reduce the time between a programmer making
> > a mistake and the programmer finding out a mistake was made (primarily by designing language to maximize
> > the practicality and effectiveness of "continual analysis while you type").
> >
>
> Professional empirical evidence (in the sense of programming language theory and authoring the language
> specification) shows both C++ and Rust are the kind of most evil ones about both complexity of language
> rules and learning curves for most users. There do exist a few worse, say, Haskell; but C++ and Rust are
> already enough far from easy and simple for non-specialists. And they will both become worse in the forseeable
> future. I don't see the essential differences here, besides "disgned by commitee v. community".
>
>
Linus Torvalds is a god in Linux community. People just defend his decisions for no reasons. Of course they hate C++ for no reasons.
The funniest joke is https://lwn.net/Articles/764664/ nonsense. Deliberately use the identifier class to break C++, even in the user space.
> Brendan (btrotter.delete@this.gmail.com) on July 12, 2021 2:34 am wrote:
>
> > > Also recently I've found the stupidity like this:
> > > https://github.com/Rust-for-Linux/linux/commit/c606d85a0d3c67b8221fee5fa67028bdebd4b0cc#diff-521fe5c9ece1aa1f8b66228171598263574aefc6fa4ba06a61747ec81ee9f5a3
> > >
> > >
> > > Instead of doing this
> > > void foo()
> > > {
> > > p[1].x().y() = p[2].x().y();
> > > }
> > >
> > >
> > > Now you have to do this. Who the fuck in rust team though this is a good idea.
> > > ///SAFETY: p has 5 elements
> > > ///XXXX
> > > ///XXXX
> > > unsafe fn foo()
> > > {
> > > (unsafe{p.get_mut_unchecked(1)}.unsafe {x()}.unwrap().unsafe{y()?})? =
> > > (unsafe{p.get_mut_unchecked(2)}.unsafe {x()}.unwrap().unsafe{y()?})?;
> > > }
> > >
> > > Rust one is completely unreadable, wasting programmers time and probably even leading to slower compilation.
> >
> > Unlike C++; where it's impossible to be sure what something as innocent looking as "a = b + c;"
> > actually does without scouring the source code to determine who overloaded what; where compile
> > times have a reputation for being the worst of any language ever created (despite scavenging the
> > concept of modules from other languages and slapping it onto their huge pile recently)?
>
> This is red herring. The example is about some crazy and absurd code abuse, which is also complaint by average
> Rust users. In constrast, operator overloading is quite idiomatic and irrelavant to the point here.
>
> As of this C++ case, it should not cause trouble once the overloaded operator is well-designed
> to expose its intent properly. It is also ridiculous to blame the contextual-dependent nature
> solely of the overloading. The name lookup on variables "a", "b" and "c" also requires reading
> the declaration to ensure the meaning clear, so you are actually forbidden from being that
> innocent unless you don't use any languages having such kinds of scoped variables.
>
> BTW, overloading, being a form of ad-hoc polymorphism, is certainly evil in many sorts. But in the context of
> C++, my hatred to the feature mostly comes from the effects that over-complicated overloading rules bloat the
> language specification (i.e. ISO/IEC 14882) a lot. As of Rust... well, where is the language specification?
>
> And thanks to Rust, reputation of compile time of today's C++ seems to be
> promoted a bit. (I'm against C++ module for some other reasons, though.)
>
> > > If the goal of Rust team is to make everything painful, why should I waste time to fight against
> > > the compiler? Instead of using that time to sanitize and fuzz? What's the benefit of using it?
> >
> > Heh. This is how I feel about "smart pointers" in C++. If the goal of C++ is to double
> > the (already 10 times worse) learning curve why should I fight against the compiler?
>
> Why do you feel C++'s smart pointers difficult to learn? Is
> Rc really simpler than shared_ptr besides the spelling?
>
> > Note: I'm not a Rust advocate (I'm just willing to let other people spend their time experimenting
> > so I can obtain better empirical evidence about the benefits and pitfalls of certain language features).
> > To me; the goal should be to reduce complexity of the language
> > (because I think "more complexity" translates
> > directly into "higher chance of mistakes" and that programmers have enough complexity to deal with
> > from the problem their code is trying to solve), and to reduce the time between a programmer making
> > a mistake and the programmer finding out a mistake was made (primarily by designing language to maximize
> > the practicality and effectiveness of "continual analysis while you type").
> >
>
> Professional empirical evidence (in the sense of programming language theory and authoring the language
> specification) shows both C++ and Rust are the kind of most evil ones about both complexity of language
> rules and learning curves for most users. There do exist a few worse, say, Haskell; but C++ and Rust are
> already enough far from easy and simple for non-specialists. And they will both become worse in the forseeable
> future. I don't see the essential differences here, besides "disgned by commitee v. community".
>
>
Linus Torvalds is a god in Linux community. People just defend his decisions for no reasons. Of course they hate C++ for no reasons.
The funniest joke is https://lwn.net/Articles/764664/ nonsense. Deliberately use the identifier class to break C++, even in the user space.
Topic | Posted By | Date |
---|---|---|
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/09 09:56 PM |
Is unsafe hell truly good for linux kernel in the future? | Brendan | 2021/07/10 12:59 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 01:37 PM |
Is unsafe hell truly good for linux kernel in the future? | anon | 2021/07/10 04:14 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 01:40 PM |
Is unsafe hell truly good for linux kernel in the future? | Gabriele Svelto | 2021/07/10 03:59 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 04:42 PM |
Is unsafe hell truly good for linux kernel in the future? | anon | 2021/07/11 06:11 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/12 12:40 PM |
Is unsafe hell truly good for linux kernel in the future? | Foo_ | 2021/07/10 06:56 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 09:59 AM |
Most RWT posters don’t decide what goes into the Linux kernel | Mark Roulo | 2021/07/10 12:55 PM |
Is unsafe hell truly good for linux kernel in the future? | Foo_ | 2021/07/22 11:10 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 10:22 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 10:24 AM |
Déja Vu | Dismissive | 2021/07/10 10:41 AM |
Déja Vu | cqwrteur | 2021/07/10 10:47 AM |
Déja Vu | Dismissive | 2021/07/10 10:51 AM |
Déja Vu | Michael S | 2021/07/10 01:11 PM |
Is unsafe hell truly good for linux kernel in the future? | Gabriele Svelto | 2021/07/10 12:51 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 01:32 PM |
Is unsafe hell truly good for linux kernel in the future? | Michael S | 2021/07/10 02:04 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 02:25 PM |
Is unsafe hell truly good for linux kernel in the future? | Gabriele Svelto | 2021/07/10 03:56 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 04:41 PM |
Is unsafe hell truly good for linux kernel in the future? | Rayla | 2021/07/10 05:33 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 06:27 PM |
Interesting response... (NT) | Rayla | 2021/07/10 09:02 PM |
perhaps just another lousy AI bot? (NT) | anonymou5 | 2021/07/10 09:33 PM |
perhaps just another lousy AI bot? | dmcq | 2021/07/10 11:26 PM |
perhaps just another lousy AI bot? | cqwrteur | 2021/07/10 11:56 PM |
perhaps just another lousy AI bot? | dmcq | 2021/07/11 03:29 AM |
perhaps just another lousy AI bot? | anon | 2021/07/11 06:16 AM |
perhaps just another lousy AI bot? | cqwrteur | 2021/07/12 03:56 PM |
perhaps just another lousy AI bot? | Rayla | 2021/07/11 06:13 AM |
perhaps just another lousy AI bot? | cqwrteur | 2021/07/11 11:59 AM |
When did I call you a bot, Kebabbert? (NT) | Rayla | 2021/07/11 08:51 PM |
Alternatives? | Brendan | 2021/07/11 01:54 AM |
Alternatives? | Michael S | 2021/07/11 06:01 AM |
Alternatives? | Brendan | 2021/07/11 06:51 AM |
Alternatives? | cqwrteur | 2021/07/11 11:58 AM |
Alternatives? | Gabriele Svelto | 2021/07/12 01:31 AM |
Alternatives? | Michael S | 2021/07/12 03:58 AM |
Alternatives? | anon2 | 2021/07/12 09:08 AM |
Alternatives? | Michael S | 2021/07/12 09:22 AM |
cqwrteur: Keep it polite | David Kanter | 2021/07/13 08:59 AM |
Alternatives? | dmcq | 2021/07/12 09:37 AM |
Alternatives? | cqwrteur | 2021/07/12 04:04 PM |
Alternatives? | dmcq | 2021/07/12 04:26 PM |
Alternatives? | cqwrteur | 2021/07/13 01:47 AM |
Alternatives? | dmcq | 2021/07/13 06:54 AM |
Alternatives? | Jörn Engel | 2021/07/13 04:53 PM |
Alternatives? | FrankHB | 2021/07/17 07:56 AM |
Differences between Rust and C/Go | Gabriele Svelto | 2021/07/14 05:57 AM |
Differences between Rust and C/Go | FrankHB | 2021/07/17 09:47 AM |
Alternatives? | FrankHB | 2021/07/12 10:08 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 02:28 PM |
Inappropriate messages removed: cqwrteur | David Kanter | 2021/07/15 10:59 AM |
Alternatives? | FrankHB | 2021/07/16 06:43 AM |
Alternatives? | Anon | 2021/07/16 12:01 PM |
Alternatives? | Gabriele Svelto | 2021/07/16 01:44 PM |
Type abstraction and kernel programming | FrankHB | 2021/07/17 01:44 AM |
Type abstraction and kernel programming | dmcq | 2021/07/18 04:00 AM |
Type abstraction and kernel programming | dmcq | 2021/07/18 04:36 AM |
Type abstraction and kernel programming | Etienne Lorrain | 2021/07/19 01:03 AM |
Type abstraction and kernel programming | dmcq | 2021/07/19 02:01 AM |
Type abstraction and kernel programming | Anon | 2021/07/19 02:05 AM |
Type abstraction and kernel programming | dmcq | 2021/07/19 03:23 AM |
Type abstraction and kernel programming | Brendan | 2021/07/19 07:05 AM |
Alternatives? | gallier2 | 2021/07/20 04:57 AM |
Alternatives? | Anon | 2021/07/20 06:24 AM |
Alternatives? | Michael S | 2021/07/20 10:14 AM |
Alternatives? | Anon | 2021/07/20 10:53 AM |
Alternatives? | gallier2 | 2021/07/21 11:44 PM |
Alternatives? | Adrian | 2021/07/20 12:00 PM |
Alternatives? | Brett | 2021/07/20 11:13 PM |
Alternatives? | Michael S | 2021/07/21 02:12 AM |
Alternatives? | dmcq | 2021/07/22 12:58 PM |
Alternatives? | Anon | 2021/07/21 08:58 AM |
Alternatives? | Brendan | 2021/07/12 02:34 AM |
Alternatives? | FrankHB | 2021/07/12 10:57 AM |
Alternatives? | cqwrteur | 2021/07/12 12:55 PM |
Alternatives? | FrankHB | 2021/07/12 09:44 PM |
Alternatives? | Brendan | 2021/07/12 08:52 PM |
Alternatives? | cqwrteur | 2021/07/12 11:05 PM |
Alternatives? | Anon | 2021/07/12 11:42 PM |
Alternatives? | cqwrteur | 2021/07/13 12:42 AM |
Alternatives? | cqwrteur | 2021/07/13 12:44 AM |
Alternatives? | Anon | 2021/07/13 08:32 PM |
Alternatives? | cqwrteur | 2021/07/13 09:36 PM |
Alternatives? | cqwrteur | 2021/07/13 09:39 PM |
Alternatives? | Anon | 2021/07/13 10:02 PM |
Alternatives? | cqwrteur | 2021/07/13 10:18 PM |
Alternatives? | cqwrteur | 2021/07/13 09:49 PM |
Alternatives? | Anon | 2021/07/13 10:07 PM |
Alternatives? | cqwrteur | 2021/07/13 10:16 PM |
Alternatives? | Anon | 2021/07/13 11:31 PM |
Alternatives? | cqwrteur | 2021/07/14 12:30 AM |
Alternatives? | Anon | 2021/07/14 01:55 AM |
Alternatives? | cqwrteur | 2021/07/14 02:22 AM |
Alternatives? | Anon | 2021/07/14 03:05 AM |
Alternatives? | cqwrteur | 2021/07/14 03:11 AM |
Alternatives? | Anon | 2021/07/14 04:16 AM |
Alternatives? | cqwrteur | 2021/07/14 07:06 AM |
Alternatives? | Anon | 2021/07/14 08:20 AM |
Alternatives? | cqwrteur | 2021/07/14 08:51 AM |
Alternatives? | Anon | 2021/07/14 12:33 PM |
Alternatives? | Gabriele Svelto | 2021/07/14 01:19 PM |
Alternatives? | FrankHB | 2021/07/16 07:07 AM |
Alternatives? | cqwrteur | 2021/07/14 12:33 AM |
Alternatives? | Anon | 2021/07/14 01:57 AM |
Alternatives? | cqwrteur | 2021/07/14 02:21 AM |
Alternatives? | dmcq | 2021/07/14 03:06 AM |
Alternatives? | cqwrteur | 2021/07/14 03:50 AM |
Alternatives? | ⚛ | 2021/07/15 08:33 AM |
Alternatives? | FrankHB | 2021/07/16 07:13 AM |
Alternatives? | cqwrteur | 2021/07/14 12:39 AM |
Alternatives? | Anon | 2021/07/14 02:08 AM |
Alternatives? | cqwrteur | 2021/07/14 02:20 AM |
Alternatives? | dmcq | 2021/07/14 02:46 AM |
Alternatives? | cqwrteur | 2021/07/14 02:52 AM |
Alternatives? | dmcq | 2021/07/14 10:13 AM |
Alternatives? | dmcq | 2021/07/14 10:23 AM |
Dealing with memory errors | Brendan | 2021/07/14 12:50 PM |
Dealing with memory errors | dmcq | 2021/07/14 04:27 PM |
Dealing with memory errors | Brendan | 2021/07/14 04:55 PM |
Alternatives? | cqwrteur | 2021/07/14 03:12 AM |
Alternatives? | Anon | 2021/07/14 04:16 AM |
Alternatives? | cqwrteur | 2021/07/14 06:55 AM |
Alternatives? | FrankHB | 2021/07/16 07:27 AM |
Alternatives? | cqwrteur | 2021/07/14 02:38 AM |
Alternatives? | anon | 2021/07/14 03:50 AM |
Stop feeding that troll | none | 2021/07/14 04:13 AM |
Alternatives? | cqwrteur | 2021/07/14 07:39 AM |
Alternatives? | Brendan | 2021/07/14 12:15 PM |
Alternatives? | Anon | 2021/07/14 04:19 AM |
Alternatives? | cqwrteur | 2021/07/14 07:12 AM |
Alternatives? | Anon | 2021/07/14 08:17 AM |
Alternatives? | cqwrteur | 2021/07/14 08:47 AM |
Alternatives? | Anon | 2021/07/14 01:00 PM |
Alternatives? | cqwrteur | 2021/07/14 01:44 PM |
Alternatives? | ⚛ | 2021/07/15 10:36 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 01:26 PM |
Alternatives? | cqwrteur | 2021/07/14 01:46 PM |
Alternatives? | Gabriele Svelto | 2021/07/14 02:36 PM |
Alternatives? | cqwrteur | 2021/07/14 02:55 PM |
Alternatives? | Smoochie | 2021/07/15 12:07 AM |
Alternatives? | ⚛ | 2021/07/15 08:37 AM |
Alternatives? | Brendan | 2021/07/15 11:21 AM |
Alternatives? | Anon | 2021/07/15 01:15 PM |
Alternatives? | FrankHB | 2021/07/16 07:27 AM |
Alternatives? | None | 2021/07/14 02:50 AM |
Alternatives? | cqwrteur | 2021/07/14 02:54 AM |
Alternatives? | cqwrteur | 2021/07/14 02:55 AM |
Alternatives? | Rayla | 2021/07/14 05:47 AM |
Alternatives? | cqwrteur | 2021/07/14 06:54 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 01:43 PM |
Alternatives? | FrankHB | 2021/07/13 12:47 AM |
Alternatives? | FrankHB | 2021/07/13 12:05 AM |
Alternatives? | Michael S | 2021/07/13 01:01 AM |
Alternatives? | FrankHB | 2021/07/13 01:25 AM |
Alternatives? | Doug S | 2021/07/13 12:29 AM |
Alternatives? | cqwrteur | 2021/07/13 12:48 AM |
Alternatives? | FrankHB | 2021/07/13 01:07 AM |
Is unsafe hell truly good for linux kernel in the future? | ⚛ | 2021/07/12 06:27 AM |
Is unsafe hell truly good for linux kernel in the future? | Anon | 2021/07/12 09:46 AM |
Is unsafe hell truly good for linux kernel in the future? | Etienne Lorrain | 2021/07/13 02:00 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 01:38 PM |