Le 30/04/12 13:26, James Kuyper a écrit :
> On 04/30/2012 02:33 AM, Robert Wessel wrote:
> ...
>> And if you can't address C's ubiquity, you aren't going to have a
>> better language than C.
>
> One of the key features of C that has lead to it's ubiquity is also one
> that's been most strongly reviled: the freedom it gives implementors in
> implementing the language. The standard deliberately leaves many
> features implementation-defined or otherwise unspecified, and in many
> cases says that the behavior is undefined. In many cases, it does so
> because it was thought that there might be some platforms, now or in the
> future, for which requiring a specific behavior would make it
> excessively difficult to create a fully conforming implementation of C
> with acceptable performance.
>
[snip]
That doesn't justify taking 20+ years for getting rid of gets() however.
There are obvious WARTS and BUGS in the C standard. asctime() had a
built in buffer overflow in the sample code of the C99 standard.
We have discussed about the trigraphs for years and they are STILL THERE
in the 2011 standard that didn't dare to fix all bugs apparently, they
were busy introducing more problems with their thread specs.
jacob