What's C's biggest mistake?

BCS none at anon.com
Fri Jan 1 15:35:07 PST 2010


Hello Kevin,

> I would say these are the technical merits of C that get it chosen
> these days:
> 
> 1. The new code they're writing will be part of a large body of
> existing C code which they don't have time, permission, or inclination
> to convert to C++.

Probably the most common reason that C is used (OTOH I'm not sure that counts 
as "choose" rather than just used)

> 
> 2. They need to be aware of every tiny low level detail anyway, so
> having the language do too many things "for you" is not the desired
> approach (security, O/S and embedded work).

Nod.

> 
> 3. C has a real ABI on almost every platform; therefore, C is chosen
> for most inter-language work such as writing python modules.
> 

Nod.

> But some people really *are* choosing C for aesthetics.  Linus
> Torvalds, bless his little world dominating heart, chose C for a
> normal app (git), and he cited that the existence of operator
> overloading in C++ is bad because it hides information -- e.g. in the
> general case you "never know what an expression is actually doing."

Is that choosing C or getting stuck with it after removing the non-options?

> 
> I think this can be seen as mainly an aesthetic choice.  Avoiding a
> language because it *supports* information hiding (which is what I
> think operator overloading is) is not really an 'economic' tradeoff,
> since you could choose not to hide information by not using those
> features.  He'd just rather not be in the vicinity of language
> features that make those kinds of choices because they seem wrong to
> him (and because he wants to keep C++ies out of his code I think.)

I considered citing Linus as the counter example... but there are also people 
who LIKE assembler so I think we should stick to the other 99%.

> 
> Some people want their language to have a "WYSIWYG" relationship with
> the generated assembler code (if I'm right, it does seem consistent
> with him being an OS developer).
> 
> I also know some scientists and mathematicians who use C rather than
> C++.  I think the reason is that by using a simpler language they can
> know everything about the language.  I think the sooner they can 'get
> the computer science stuff out of the way', the sooner they can focus
> on what they see as the domain issues.  (I think once the program gets
> big enough, the CompSci aspects reassert themself and scalability and
> maintainability issues begin to bite you in the rear.)

Odd, I'd expect that crowd to go with Fortran...

> 
> Kevin
> 





More information about the Digitalmars-d mailing list