G"C"C

[prev] [thread] [next] [lurker] [Date index for 2003/08/12]

From: Simon Cozens
Subject: G"C"C
Date: 12:36 on 12 Aug 2003
Arthur Bergman:
> it would be fine if it wasn't for the GODAMN ANAL LINKER that AIX uses!

No, it's that gcc is a complete and utter bloody joke. It will compile and
link almost anything. It would probably compile Perl without too much
modification and wouldn't even emit that many warnings. Look! Look at this!

    *&(int)f = 1;

Is that C? I don't fucking think so. And look at this:

    FILE *
    concat_fopen (char *s1, char *s2, char *mode)
    {
      char str[strlen (s1) + strlen (s2) + 1];
      ...
    }

Yes, that's supposed to be C, not C++, because the things they've done to C++
are almost bloody unspeakable. The words "embrace" and "extend" come to
mind. How about this, for instance:

   It is very convenient to have operators which return the "minimum" or the
    "maximum" of two arguments.  In GNU C++ (but not in GNU C),  

    a <? b 
      is the minimum, returning the smaller of the numeric values a and b;  
    a >? b 
      is the maximum, returning the larger of the numeric values a and b.  

What? What the hell is that about? And you know the worst thing? People
actually use these abortions in real code, because obviously, if it compiles on
Linux with gcc, it'll compile anywhere. That's why you're having problems
linking on AIX - because nobody's even thought about AIX before. We use
autoconf, right, so it must be portable? Yeah, fucking right. Portable
between GNU OSes, I think you'll find.

Part of the reason Parrot 0.0.1 was so slow getting out of the door was because
of all these stupid idiots writing GCC "C" and not realising how completely
fucking broken it was.

Of course, number one stupid idiot was myself, but the point remains, dammit!

Generated at 14:02 on 01 Jul 2004 by mariachi 0.52