By: cqwrteur (euloanty.delete@this.live.com), July 14, 2021 2:12 am
Room: Moderated Discussions
> Where did you get that from? He could always ban use of the feature, or even have a ompiler
> that didn't use debug data to restore registers - that would lead to faster predictable
> exception handling even if it slightly slows normal processing when exceptions are not thrown.
> It is not as though C++ actually encourages use of the feature like Python does.
On Tue, 20 Jan 2004, Robin Rosenberg wrote:
>
> This is the "We've always used COBOL^H^H^H^H" argument.
In fact, in Linux we did try C++ once already, back in 1992.
It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed:
- the whole C++ exception handling thing is fundamentally broken. It's
_especially_ broken for kernels.
- any compiler or language that likes to hide things like memory
allocations behind your back just isn't a good choice for a kernel.
- you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++.
In general, I'd say that anybody who designs his kernel modules for C++ is
either
(a) looking for problems
(b) a C++ bigot that can't see what he is writing is really just C anyway
(c) was given an assignment in CS class to do so.
Feel free to make up (d).
Linus
Yes, Exception Handling is the largest issue. Linus Torvalds' own words.
> that didn't use debug data to restore registers - that would lead to faster predictable
> exception handling even if it slightly slows normal processing when exceptions are not thrown.
> It is not as though C++ actually encourages use of the feature like Python does.
On Tue, 20 Jan 2004, Robin Rosenberg wrote:
>
> This is the "We've always used COBOL^H^H^H^H" argument.
In fact, in Linux we did try C++ once already, back in 1992.
It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed:
- the whole C++ exception handling thing is fundamentally broken. It's
_especially_ broken for kernels.
- any compiler or language that likes to hide things like memory
allocations behind your back just isn't a good choice for a kernel.
- you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++.
In general, I'd say that anybody who designs his kernel modules for C++ is
either
(a) looking for problems
(b) a C++ bigot that can't see what he is writing is really just C anyway
(c) was given an assignment in CS class to do so.
Feel free to make up (d).
Linus
Yes, Exception Handling is the largest issue. Linus Torvalds' own words.
Topic | Posted By | Date |
---|---|---|
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/09 08:56 PM |
Is unsafe hell truly good for linux kernel in the future? | Brendan | 2021/07/09 11:59 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 12:37 PM |
Is unsafe hell truly good for linux kernel in the future? | anon | 2021/07/10 03:14 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 12:40 PM |
Is unsafe hell truly good for linux kernel in the future? | Gabriele Svelto | 2021/07/10 02:59 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 03:42 PM |
Is unsafe hell truly good for linux kernel in the future? | anon | 2021/07/11 05:11 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/12 11:40 AM |
Is unsafe hell truly good for linux kernel in the future? | Foo_ | 2021/07/10 05:56 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 08:59 AM |
Most RWT posters don’t decide what goes into the Linux kernel | Mark Roulo | 2021/07/10 11:55 AM |
Is unsafe hell truly good for linux kernel in the future? | Foo_ | 2021/07/22 10:10 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 09:22 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 09:24 AM |
Déja Vu | Dismissive | 2021/07/10 09:41 AM |
Déja Vu | cqwrteur | 2021/07/10 09:47 AM |
Déja Vu | Dismissive | 2021/07/10 09:51 AM |
Déja Vu | Michael S | 2021/07/10 12:11 PM |
Is unsafe hell truly good for linux kernel in the future? | Gabriele Svelto | 2021/07/10 11:51 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 12:32 PM |
Is unsafe hell truly good for linux kernel in the future? | Michael S | 2021/07/10 01:04 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 01:25 PM |
Is unsafe hell truly good for linux kernel in the future? | Gabriele Svelto | 2021/07/10 02:56 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 03:41 PM |
Is unsafe hell truly good for linux kernel in the future? | Rayla | 2021/07/10 04:33 PM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 05:27 PM |
Interesting response... (NT) | Rayla | 2021/07/10 08:02 PM |
perhaps just another lousy AI bot? (NT) | anonymou5 | 2021/07/10 08:33 PM |
perhaps just another lousy AI bot? | dmcq | 2021/07/10 10:26 PM |
perhaps just another lousy AI bot? | cqwrteur | 2021/07/10 10:56 PM |
perhaps just another lousy AI bot? | dmcq | 2021/07/11 02:29 AM |
perhaps just another lousy AI bot? | anon | 2021/07/11 05:16 AM |
perhaps just another lousy AI bot? | cqwrteur | 2021/07/12 02:56 PM |
perhaps just another lousy AI bot? | Rayla | 2021/07/11 05:13 AM |
perhaps just another lousy AI bot? | cqwrteur | 2021/07/11 10:59 AM |
When did I call you a bot, Kebabbert? (NT) | Rayla | 2021/07/11 07:51 PM |
Alternatives? | Brendan | 2021/07/11 12:54 AM |
Alternatives? | Michael S | 2021/07/11 05:01 AM |
Alternatives? | Brendan | 2021/07/11 05:51 AM |
Alternatives? | cqwrteur | 2021/07/11 10:58 AM |
Alternatives? | Gabriele Svelto | 2021/07/12 12:31 AM |
Alternatives? | Michael S | 2021/07/12 02:58 AM |
Alternatives? | anon2 | 2021/07/12 08:08 AM |
Alternatives? | Michael S | 2021/07/12 08:22 AM |
cqwrteur: Keep it polite | David Kanter | 2021/07/13 07:59 AM |
Alternatives? | dmcq | 2021/07/12 08:37 AM |
Alternatives? | cqwrteur | 2021/07/12 03:04 PM |
Alternatives? | dmcq | 2021/07/12 03:26 PM |
Alternatives? | cqwrteur | 2021/07/13 12:47 AM |
Alternatives? | dmcq | 2021/07/13 05:54 AM |
Alternatives? | Jörn Engel | 2021/07/13 03:53 PM |
Alternatives? | FrankHB | 2021/07/17 06:56 AM |
Differences between Rust and C/Go | Gabriele Svelto | 2021/07/14 04:57 AM |
Differences between Rust and C/Go | FrankHB | 2021/07/17 08:47 AM |
Alternatives? | FrankHB | 2021/07/12 09:08 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 01:28 PM |
Inappropriate messages removed: cqwrteur | David Kanter | 2021/07/15 09:59 AM |
Alternatives? | FrankHB | 2021/07/16 05:43 AM |
Alternatives? | Anon | 2021/07/16 11:01 AM |
Alternatives? | Gabriele Svelto | 2021/07/16 12:44 PM |
Type abstraction and kernel programming | FrankHB | 2021/07/17 12:44 AM |
Type abstraction and kernel programming | dmcq | 2021/07/18 03:00 AM |
Type abstraction and kernel programming | dmcq | 2021/07/18 03:36 AM |
Type abstraction and kernel programming | Etienne Lorrain | 2021/07/19 12:03 AM |
Type abstraction and kernel programming | dmcq | 2021/07/19 01:01 AM |
Type abstraction and kernel programming | Anon | 2021/07/19 01:05 AM |
Type abstraction and kernel programming | dmcq | 2021/07/19 02:23 AM |
Type abstraction and kernel programming | Brendan | 2021/07/19 06:05 AM |
Alternatives? | gallier2 | 2021/07/20 03:57 AM |
Alternatives? | Anon | 2021/07/20 05:24 AM |
Alternatives? | Michael S | 2021/07/20 09:14 AM |
Alternatives? | Anon | 2021/07/20 09:53 AM |
Alternatives? | gallier2 | 2021/07/21 10:44 PM |
Alternatives? | Adrian | 2021/07/20 11:00 AM |
Alternatives? | Brett | 2021/07/20 10:13 PM |
Alternatives? | Michael S | 2021/07/21 01:12 AM |
Alternatives? | dmcq | 2021/07/22 11:58 AM |
Alternatives? | Anon | 2021/07/21 07:58 AM |
Alternatives? | Brendan | 2021/07/12 01:34 AM |
Alternatives? | FrankHB | 2021/07/12 09:57 AM |
Alternatives? | cqwrteur | 2021/07/12 11:55 AM |
Alternatives? | FrankHB | 2021/07/12 08:44 PM |
Alternatives? | Brendan | 2021/07/12 07:52 PM |
Alternatives? | cqwrteur | 2021/07/12 10:05 PM |
Alternatives? | Anon | 2021/07/12 10:42 PM |
Alternatives? | cqwrteur | 2021/07/12 11:42 PM |
Alternatives? | cqwrteur | 2021/07/12 11:44 PM |
Alternatives? | Anon | 2021/07/13 07:32 PM |
Alternatives? | cqwrteur | 2021/07/13 08:36 PM |
Alternatives? | cqwrteur | 2021/07/13 08:39 PM |
Alternatives? | Anon | 2021/07/13 09:02 PM |
Alternatives? | cqwrteur | 2021/07/13 09:18 PM |
Alternatives? | cqwrteur | 2021/07/13 08:49 PM |
Alternatives? | Anon | 2021/07/13 09:07 PM |
Alternatives? | cqwrteur | 2021/07/13 09:16 PM |
Alternatives? | Anon | 2021/07/13 10:31 PM |
Alternatives? | cqwrteur | 2021/07/13 11:30 PM |
Alternatives? | Anon | 2021/07/14 12:55 AM |
Alternatives? | cqwrteur | 2021/07/14 01:22 AM |
Alternatives? | Anon | 2021/07/14 02:05 AM |
Alternatives? | cqwrteur | 2021/07/14 02:11 AM |
Alternatives? | Anon | 2021/07/14 03:16 AM |
Alternatives? | cqwrteur | 2021/07/14 06:06 AM |
Alternatives? | Anon | 2021/07/14 07:20 AM |
Alternatives? | cqwrteur | 2021/07/14 07:51 AM |
Alternatives? | Anon | 2021/07/14 11:33 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 12:19 PM |
Alternatives? | FrankHB | 2021/07/16 06:07 AM |
Alternatives? | cqwrteur | 2021/07/13 11:33 PM |
Alternatives? | Anon | 2021/07/14 12:57 AM |
Alternatives? | cqwrteur | 2021/07/14 01:21 AM |
Alternatives? | dmcq | 2021/07/14 02:06 AM |
Alternatives? | cqwrteur | 2021/07/14 02:50 AM |
Alternatives? | ⚛ | 2021/07/15 07:33 AM |
Alternatives? | FrankHB | 2021/07/16 06:13 AM |
Alternatives? | cqwrteur | 2021/07/13 11:39 PM |
Alternatives? | Anon | 2021/07/14 01:08 AM |
Alternatives? | cqwrteur | 2021/07/14 01:20 AM |
Alternatives? | dmcq | 2021/07/14 01:46 AM |
Alternatives? | cqwrteur | 2021/07/14 01:52 AM |
Alternatives? | dmcq | 2021/07/14 09:13 AM |
Alternatives? | dmcq | 2021/07/14 09:23 AM |
Dealing with memory errors | Brendan | 2021/07/14 11:50 AM |
Dealing with memory errors | dmcq | 2021/07/14 03:27 PM |
Dealing with memory errors | Brendan | 2021/07/14 03:55 PM |
Alternatives? | cqwrteur | 2021/07/14 02:12 AM |
Alternatives? | Anon | 2021/07/14 03:16 AM |
Alternatives? | cqwrteur | 2021/07/14 05:55 AM |
Alternatives? | FrankHB | 2021/07/16 06:27 AM |
Alternatives? | cqwrteur | 2021/07/14 01:38 AM |
Alternatives? | anon | 2021/07/14 02:50 AM |
Stop feeding that troll | none | 2021/07/14 03:13 AM |
Alternatives? | cqwrteur | 2021/07/14 06:39 AM |
Alternatives? | Brendan | 2021/07/14 11:15 AM |
Alternatives? | Anon | 2021/07/14 03:19 AM |
Alternatives? | cqwrteur | 2021/07/14 06:12 AM |
Alternatives? | Anon | 2021/07/14 07:17 AM |
Alternatives? | cqwrteur | 2021/07/14 07:47 AM |
Alternatives? | Anon | 2021/07/14 12:00 PM |
Alternatives? | cqwrteur | 2021/07/14 12:44 PM |
Alternatives? | ⚛ | 2021/07/15 09:36 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 12:26 PM |
Alternatives? | cqwrteur | 2021/07/14 12:46 PM |
Alternatives? | Gabriele Svelto | 2021/07/14 01:36 PM |
Alternatives? | cqwrteur | 2021/07/14 01:55 PM |
Alternatives? | Smoochie | 2021/07/14 11:07 PM |
Alternatives? | ⚛ | 2021/07/15 07:37 AM |
Alternatives? | Brendan | 2021/07/15 10:21 AM |
Alternatives? | Anon | 2021/07/15 12:15 PM |
Alternatives? | FrankHB | 2021/07/16 06:27 AM |
Alternatives? | None | 2021/07/14 01:50 AM |
Alternatives? | cqwrteur | 2021/07/14 01:54 AM |
Alternatives? | cqwrteur | 2021/07/14 01:55 AM |
Alternatives? | Rayla | 2021/07/14 04:47 AM |
Alternatives? | cqwrteur | 2021/07/14 05:54 AM |
Alternatives? | Gabriele Svelto | 2021/07/14 12:43 PM |
Alternatives? | FrankHB | 2021/07/12 11:47 PM |
Alternatives? | FrankHB | 2021/07/12 11:05 PM |
Alternatives? | Michael S | 2021/07/13 12:01 AM |
Alternatives? | FrankHB | 2021/07/13 12:25 AM |
Alternatives? | Doug S | 2021/07/12 11:29 PM |
Alternatives? | cqwrteur | 2021/07/12 11:48 PM |
Alternatives? | FrankHB | 2021/07/13 12:07 AM |
Is unsafe hell truly good for linux kernel in the future? | ⚛ | 2021/07/12 05:27 AM |
Is unsafe hell truly good for linux kernel in the future? | Anon | 2021/07/12 08:46 AM |
Is unsafe hell truly good for linux kernel in the future? | Etienne Lorrain | 2021/07/13 01:00 AM |
Is unsafe hell truly good for linux kernel in the future? | cqwrteur | 2021/07/10 12:38 PM |