Le 02/03/2015 23:43, T.J. Duchene a écrit :
> We just see things differently. My first question would be: is there
> are a justified reason NOT to use C?
There is a very good reason, and I heard it was given by Kernighan
and Ritchie: "we assume the programmer knows what (s)he is doing". And
there is a second reason: C is very tied to the hardware; it is lacking
abstractions.
The sentence can be compared to Ada's design rationale: "we assume
the programmer is a human being" (meaning (s)he persistently makes
mistakes). Maybe K&R never wrote that sentence, but I like it because it
fits very well with the nature of the C language.
unsigned u = -2; /* example */
I am very admirative of how the Linux kernel is efficient and safe,
but everybody knows that this is achieved by hard work of some of the
best C programmers in the world. This is THE exception. I had
experiences of big programs in C and my experience is that debugging is
long (and probably never ended) and evolution is a nightmare.
For me, the question is rather why choose a given language out of
all available languages? And the reason is generally because the
programmer feels more comfortable with one. It can be discussed wether
the choice makes sense, but I don't see even why C should always be
considered.
Didier