C++ in the kernel
Bruce M Simpson
bms at incunabulum.net
Sat Oct 27 03:50:02 PDT 2007
Hi Poul,
Thanks for the feedback.
Poul-Henning Kamp wrote:
> I think it would be nice to augment C in the kernel, but C++ would
> not be the correct augmentation for this purpose.
>
I should point out that I am not recommending the habitual use of C++
for FreeBSD kernel development, nor am I condoning that we accept C++
code into the tree without any *less* consideration than might be the
case for contributions in other languages (usually C).
I reiterate: as per my message to Alfred, C++ makes it very easy to
write bad code, but despite this, it is a very powerful tool when
wielded properly.
My experiences in working with C++ have been very positive, although
limited because I have been very choosy about the subset of the
developers, and C++ code, that happen to exist in the world...
> Instead of repeating myself, I'll just refer to my previous ramblings
> on the subject and the SoC correspondence on the 'K' language
> experiments.
>
I could not find any reference to this discussion in a mailing list
search. I did read the article at: http://wiki.freebsd.org/K. It sounds
like a new and interesting approach to a C-like language (* see footnote).
However, that was not the original topic of my thread, which is to gauge
interest for C++ runtime support in FreeBSD and if anyone is already
doing this.
C++ is happening *now*, in other environments, it is more relevant to
what people are doing in the wider world than K, so I don't see how K is
analagous to C++, it would be most helpful if your discussion on this
issue were more easily available.
The ultimate litmus test is how it gets used and if it's a qualitative,
and quantitative, improvement.
regards,
BMS
(*) It sounds like K reinvents Microsoft's Structured Exception Handling
(SEH). GCC have had a Google SoC student working on porting SEH to GCC,
I contacted their SoC mentor this week to try to find out what the
status of that code is.
More information about the freebsd-arch
mailing list