Signed word lengths and indexes
Walter Bright
newshound1 at digitalmars.com
Tue Jun 15 20:07:40 PDT 2010
bearophile wrote:
> Walter Bright:
>
>> I'd rephrase that as D supports many different styles. One of those styles
>> is as a "better C".<
>
> D can replace many but not all usages of C; think about programming an
> Arduino (http://en.wikipedia.org/wiki/Arduino ) with a dmd compiler of today.
The Arduino is an 8 bit machine. D is designed for 32 bit and up machines.
Full C++ won't even work on a 16 bit machine, either.
>> I agree on those points. Those features would not be used when using D as a
>> "better C".<
> A problem is that some of those D features can worsen a kernel code. So for
> example you have to review code to avoid operator overloading usage :-) There
> is lot of D compiler complexity useless for that kind of code. A simpler
> compiler means less bugs and less D manual to read.
If you're a kernel dev, the language features should not be a problem for you.
BTW, you listed nested functions as disqualifying a language from being a kernel
dev language, yet gcc supports nested functions as an extension.
>> The answer is that C++ doesn't offer much over C that does not involve
>> those trouble causing features. D, on the other hand, offers substantial
>> and valuable features not available in C or C++ that can be highly useful
>> for kernel dev. Read on.<
> I don't know if D offers enough of what a kernel developer needs.
It offers more than what C does, so it must be enough since C is enough.
>> Since it has more than C does, and C is used for kernel dev, then it must
>> be enough.<
>
> Kernel C code uses several GCC extensions to the C language.
As I pointed out, D implements the bulk of those extensions as a standard part of D.
>> With all due respect to Linus, in 30 years of professionally writing
>> software, I've found that if you solely base improvements on what customers
>> ask for, all you have are incremental improvements. No quantum leaps, no
>> paradigm shifts, no game changers.<
>
> You are right in general, but I don't know how much you are right regarding
> Linus. Linus desires some higher level features but maybe he doesn't exactly
> know what he desires :-)
Linus may very well be an expert on various languages and their tradeoffs, but
maybe not. As far as languages go, he may only be an expert on C. All I know for
sure is he is an expert on C and kernel development, and a gifted manager.
> 4.3 Labels as Values: that's computed gotos, they can be useful if you write
> an interpreter or you implement some kind of state machine.
They are useful in some circumstances, but are hardly necessary.
More information about the Digitalmars-d
mailing list