Martin Mares <[email protected]> writes:
>> FWIW, userspace is moving away from C as unproductive and unsafe. KDE is
>> of course C++, mozilla, openoffice are C++, and gnome is moving towards
>> (of all things) C#.
>
> Maybe continuing to write application programs in C instead of using
> higher-level languages is silly and backward, but _stopping_ at the
> level of C++ or C# is equally silly.
>
> However, in the kernel space the main problems the people are spending
> their time with are rarely related to the language.
To some extent that is true. There is a huge amount of work involved
with understanding the hardware.
The things we need to check in the kernel don't seem to coincide
to facility provided by any current programming language. I can't get
the compiler to check that I don't overflow a 4K stack, that I always
use the same permissions checks to guard the same class of objects,
that my aggressive refactoring didn't miss a subtle dependency by the
users of that code.
Currently every language I know of are variations on a theme, that
helps to write applications and abstractions, but provides little
help in verifying those abstractions. In essence what is
needed are compile to assertion checking.
Languages like C++ do seem to make it easier to get to a higher
level of abstraction, and share fundamental abstractions like
your object system with a large body of programs. However once
you are at that level of abstraction in a language current languages
don't seem to provide much real additional help.
So I do agree that the improvement by a language switch is limited
by Amdahl's law, and since most coding time is spent thinking and
testing a language needs to show major gains in at least one
of those areas to really show improvement.
I think it is possible to show major gains in testing but I have
yet to see a language that address that issue. C++ with it's slower
compiler, and greater complexity clearly will neither increase
the frequency of tests nor the number of people qualified to review
the code.
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]