On Feb 24, 2011, at 8:50 AM, Peter Clifton wrote:

> On Thu, 2011-02-24 at 08:38 -0700, John Doty wrote:
>> On Feb 24, 2011, at 8:22 AM, Peter Clifton wrote:
>> 
>>> Means C didn't find the function, and it assumes it returns integer in
>>> that case. Dumb convention IMO.
>> 
>> "C is quirky, flawed, and an enormous success." - Dennis M. Ritchie.
> 
> True.. very true. I believe the behaviour in question dates back to the
> days where prototypes were very different, and C sometimes had to
> assume.

No, it was always possible to declare the return type of a function in C. But 
it's here that C shows its heritage: BCPL and B were typeless languages that 
manipulated machine words. The common culture of the time was that machine 
words represented integers unless otherwise specified (FORTH uses the same 
convention). C effectively defaults to B-like behavior when types are 
unspecified. Remember, C was originally intended as a replacement for B (and 
less directly, for PL/I) for low level systems programming. Manipulating 
machine words was its primary job, so the default was reasonable. 

> 
> I've been debugging some problems in a large 3D CAD + FEA system written
> in C++ recently. Give me nice C code that ANY day over that impenetrable
> crap.

Too many modern programmers don't understand the distinction between 
abstraction and obfuscation. When pressed on this point, they will insist that 
they do understand, and then continue to demonstrate by their actions that they 
do not. This seems especially true in the C++ community, where hiding crucial 
information is a common cultural imperative.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




_______________________________________________
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to