I got the feeling hat some people here think that C has
a standard that is commonly followed, (more that C++ in
any case.) This is SO FAR from the truth. C has profound
standartzation problem, some of them built-in in the language.

Let me give you some examples.

1) The "standard" IO library

     a. Do you know the standard, simple, sscanf() function? Do you
         know what does it return? It varies bwteen BSD, SYSV, and
         other C environments: In the first, it retrun the first
parameter,and
         in the other, in returns the number of token actually converted.

         And you would think a function THAT basic would have a
         standard.

     b. If you ar not familiar with sscanf, how about fopen(), eh ? Old
         timer, mentioned in K&R. Even THIS has no standard. On most
         Windows/DOS compilers, if you does not use the letter "b" in the
         2nd argument to open, it will add CRLF, or maybe CR, or maybe
         LD after evert 255, or 254 or 246 character without CR,or CRLF,
         or maybe LF, among them. It all depends on your compiler. This is
         the default behaviour which can be changed in diffrent way in
different
        compilers. And you don't want to know about the read operation,
belive
        me.

        Now, if you want the file to be opened as text one on UNIX, there
         is no chance in hell you can know what it does until you read the
         sources , and the worst is, that it varies among UNIX compilers;
some
        doesn'y support this feature at all.

2) The "standard" C variables types

    *) Do you know what is the size of an int ? It is built-in into
        the language definition that you cannot know the size of an
        int variable. It cannot BE standartized. GREAT !

    *) Worse: Do you know the size of a pointer ? A long ?  what
        ever compiler, or on some system, how you booted the machine,
       effect that.

    *) Is the "long long" datatype signed or unsigned by default ?
        Can you read my the "standard" on this ?

3) The "standard" C language Keywords


    *) Have you ever heard of the "far" keyword, sometimes used as the "FAR"
        macro? On 16 bit 8086 systems, it is used widely. Do you know how
        hard is this to go over 100's of 1000's of lines of  "standard" C
code
        and make it 32-bit with this used-to-be widely-used keyword

    *) "register" . Does anyone know what it does? It varies on different
versions
        of the same compiler, for god's sake.

4) The "standard" C Preproccesor

   Don't get me started on this. Almost no two compiler has similar
   preprocessor. Multiple parameters to a macro with the same name?
   sometimes you have it, sometimes not. and the "#pargma" directive,
   which makes sure that your code will not compile somewjere else,
   makes sure that you have to read ALL the manual of ALL the c
   compiler you are using.


All those things are just thing I came across during the 10 years
or so I am writing in C as a payed professional. If you
really want to see it all, go to the metaacutoconfig source.


And, I don't know why you guis like Standard so much. There
is one language that have a full tandard: ADA.

Do you like ADA ?

 I wrote an SQL interprutter in this thing.  I don't.


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to