Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #108205

Re: Linux and GCC

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.lang.c
Subject Re: Linux and GCC
Date 2017-04-17 17:37 +0200
Organization A noiseless patient Spider
Message-ID <od2nar$pdq$1@dont-email.me> (permalink)
References (8 earlier) <oc65oe$cda$1@dont-email.me> <58ea3a03.3105375@news.xs4all.nl> <ocdh7l$6bt$1@dont-email.me> <ocdhhd$64o$2@dont-email.me> <58f0b188.6051750@news.xs4all.nl>

Show all headers | View raw


On 14/04/17 13:39, Richard Bos wrote:
> David Brown <david.brown@hesbynett.no> wrote:
>
>> On 09/04/17 16:45, Noob wrote:
>>> On 09/04/2017 15:42, Richard Bos wrote:
>>>
>>>> David Brown wrote:
>>>>
>>>>> Yes, it is so widely supported that there are a range of compilers that
>>>>> can be used to compile the Linux kernel.  Oh, wait, that's wrong - gcc
>>>>> is the /only/ compiler that can be used for the kernel, because it is
>>>>> the /only/ compiler to support this particular variant of C.
>
>>>> I thought Linux and gcc had nothing to do with one another?
>>>> Make your mind up.
>>>
>>> It's not clear what your point is.
>>
>> His point is that he doesn't like gcc, Linux, or (I think) any sort of
>> free or open source software.  So he likes to point out possible
>> inconsistencies when people have said nice things about such software.
>
> Bullshit, and you know it. I have made it quite clear quite often before
> that what I dislike is not OSS itself but the hypocrisy of its adherents
> and the lack of criticism it, and in particularly gcc, gets in this
> newsgroup where commercialisms are roundly slated and even mocked for
> similare, and often the very same, faults.

I am not a fan of hypocrisy either - few people are.  If you were to dig 
through all the posts I have made (I am not suggestion you do so - it's 
not worth the effort), you'd see some posts I have made that are 
critical to gcc.  But it just so happens that I think it is an excellent 
tool, and far and away the best compiler for /my/ needs.  Clearly, I 
have a lot more good things to say about it than bad things - that is 
not hypocrisy, it is merely being fond of a good tool.  And most of the 
criticisms against gcc in this newsgroup have been things that are, 
IMHO, of very little relevance.

>
> If Microsoft makes its API easy to use for MSVC, and harder for gcc,
> that's Microsoft's fault.

Of course it would be Microsoft's /fault/ - who wrote the API and the 
MSVC compiler?  Whether it is a problem or not is another matter, and 
there could well be good technical reasons for the API being the way it 
is.  And it is perfectly reasonable for MS to emphasis support for their 
own tools.  But if I think it is technically a poor choice of API, I 
don't see it as unreasonable to say so.

> If Linux makes its API easy to use for gcc and
> harder for other compilers, that's because it's the best design.

The Linux kernel is written using gcc extensions - and currently, that 
is the only compiler that supports everything the Linux kernel needs. 
But the API is made to work with any compiler and any programming 
language that can follow a pretty standard ABI calling convention.

In the early days of the Linux kernel, there were no other compilers 
that could be considered for compiling it - so it made perfect sense to 
use gcc extensions if they helped the code.  Now, there /are/ other 
candidates such as clang and icc, and it makes sense to minimise the 
dependencies on extensions that are not also supported on these compilers.

But the key difference here is that no one expects to compile /Windows/ 
using gcc - they just want to compile user-mode code for Windows with 
gcc.  There has never been any problem compiling user-mode code for 
Linux with other compilers.


> If M$
> makes the compiler use the system DLLs, that's poor practice and
> introduces dependencies. If gcc separates the compiler and the library
> and refuses to acknowledge that they are the two halves of one
> implementation, that's just how it works.

You must be getting your ideas from some other gcc or Linux fan.  I 
criticise the MS C library for being old (poor C99 support), though its 
C++ support is top class.  This means that any C compiler on Windows 
that relies on the system DLL's and/or MSVC's DLL's for the C runtime 
library will necessarily be limited.  As for the separation of library 
and compiler for gcc - I think it is usually a good thing.  I am a big 
user of gcc - but a very small user of glibc (in my own code), and I am 
glad that I have a selection of libraries to use with gcc for different 
purposes.

However, this separation - like many things about gcc - seems to confuse 
certain people in this group, and needs to be explained again and again.

> I'm sorry that your ego is bruised by this, but that's _not_ how it
> works. You cannot praise Linux and the OSS milieu for the same things
> you criticise M$, Apple and other vendors for. That's nothing to do with
> liking one or the other, that's plain hypocrisy.

And you cannot tar every gcc and/or *nix user with the same brush.  I am 
a happy user of gcc and Linux - and a less happy user of Windows (and 
mostly happy to avoid Apple OS's).  So I am most vocal in arguing 
against unreasonable criticism of gcc or Linux, or promoting their good 
points - because I think they are technically better in many ways than 
the alternatives.  But I don't think they are perfect, nor do I shy from 
criticising them or saying when I think something else is a technically 
better choice.  And I try to make it clear that I write /my/ opinions, 
for /my/ uses - these may not be the same as other people's.

Note that what may appear to be hypocrisy, may be differences that were 
not clearly explained (such as the difference between the compiler(s) 
used for building the operating system, and the compiler(s) used for 
applications on the operating system).

>
> I'm not playing King Lear, here, or even Alceste; I'm playing Mercutio.
> Both, indeed all, your houses deserve the plague, and if I curse Linux
> more often it's only because Linux is more often blindly defended here.
>

OK, fair enough.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Reliable C tutorial for beginners MehdiAmini <atorrses@gmail.com> - 2017-04-04 15:08 +0430
  Re: Reliable C tutorial for beginners Richard Heathfield <rjh@cpax.org.uk> - 2017-04-04 14:10 +0100
    Re: Reliable C tutorial for beginners fir <profesor.fir@gmail.com> - 2017-04-04 09:12 -0700
    Re: Reliable C tutorial for beginners MehdiAmini <atorrses@gmail.com> - 2017-04-05 16:49 +0430
      Re: Reliable C tutorial for beginners Alla <vitale.alla@gmail.com> - 2017-04-05 16:41 +0300
  Re: Reliable C tutorial for beginners raltbos@xs4all.nl (Richard Bos) - 2017-04-05 11:10 +0000
    Re: Reliable C tutorial for beginners jm.bourguet@gmail.com - 2017-04-05 05:55 -0700
      Re: Reliable C tutorial for beginners fir <profesor.fir@gmail.com> - 2017-04-05 08:01 -0700
      Re: Reliable C tutorial for beginners supercat@casperkitty.com - 2017-04-05 09:45 -0700
        Re: Reliable C tutorial for beginners Jean-Marc Bourguet <jm@bourguet.org> - 2017-04-05 20:04 +0200
        Re: Reliable C tutorial for beginners David Brown <david.brown@hesbynett.no> - 2017-04-05 20:36 +0200
          Re: Reliable C tutorial for beginners supercat@casperkitty.com - 2017-04-05 14:26 -0700
            Re: Reliable C tutorial for beginners David Brown <david.brown@hesbynett.no> - 2017-04-06 09:41 +0200
              Re: Reliable C tutorial for beginners supercat@casperkitty.com - 2017-04-06 07:53 -0700
                Re: Reliable C tutorial for beginners scott@slp53.sl.home (Scott Lurndal) - 2017-04-06 15:12 +0000
                Re: Reliable C tutorial for beginners Keith Thompson <kst-u@mib.org> - 2017-04-06 09:12 -0700
                Re: Reliable C tutorial for beginners scott@slp53.sl.home (Scott Lurndal) - 2017-04-06 16:20 +0000
                Re: Reliable C tutorial for beginners Keith Thompson <kst-u@mib.org> - 2017-04-06 09:26 -0700
                Re: Reliable C tutorial for beginners Keith Thompson <kst-u@mib.org> - 2017-04-06 11:53 -0700
                Re: Reliable C tutorial for beginners Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-04-06 12:26 -0400
                Re: Reliable C tutorial for beginners scott@slp53.sl.home (Scott Lurndal) - 2017-04-06 17:09 +0000
                Re: Reliable C tutorial for beginners supercat@casperkitty.com - 2017-04-06 10:37 -0700
                Re: Reliable C tutorial for beginners scott@slp53.sl.home (Scott Lurndal) - 2017-04-06 18:50 +0000
                Re: Reliable C tutorial for beginners David Brown <david.brown@hesbynett.no> - 2017-04-06 21:46 +0200
                Re: Reliable C tutorial for beginners supercat@casperkitty.com - 2017-04-06 14:51 -0700
                Re: Reliable C tutorial for beginners raltbos@xs4all.nl (Richard Bos) - 2017-04-09 13:42 +0000
                Re: Linux and GCC Noob <root@127.0.0.1> - 2017-04-09 16:45 +0200
                Re: Linux and GCC David Brown <david.brown@hesbynett.no> - 2017-04-09 16:50 +0200
                Re: Linux and GCC Noob <root@127.0.0.1> - 2017-04-09 17:06 +0200
                Re: Linux and GCC raltbos@xs4all.nl (Richard Bos) - 2017-04-14 11:39 +0000
                Re: Linux and GCC Tim Rentsch <txr@alumni.caltech.edu> - 2017-04-16 17:41 -0700
                Re: Linux and GCC David Brown <david.brown@hesbynett.no> - 2017-04-17 17:46 +0200
                Re: Linux and GCC David Brown <david.brown@hesbynett.no> - 2017-04-17 17:37 +0200
                Re: Linux and GCC supercat@casperkitty.com - 2017-04-17 09:19 -0700
      Re: Reliable C tutorial for beginners Keith Thompson <kst-u@mib.org> - 2017-04-05 13:50 -0700
        Re: Reliable C tutorial for beginners supercat@casperkitty.com - 2017-04-05 14:47 -0700
          Re: Reliable C tutorial for beginners David Brown <david.brown@hesbynett.no> - 2017-04-06 09:45 +0200
        Re: Reliable C tutorial for beginners jm.bourguet@gmail.com - 2017-04-06 01:57 -0700
  Re: Reliable C tutorial for beginners Real Troll <real.troll@trolls.com> - 2017-04-05 15:16 -0500
    Re: Reliable C tutorial for beginners GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-04-06 11:56 +0200
  Re: Reliable C tutorial for beginners Spiros Bousbouras <spibou@gmail.com> - 2017-04-06 14:14 +0000
    Re: Reliable C tutorial for beginners "C-bot" <cbot@example.com> - 2017-04-08 01:18 +0000
      Re: Reliable C tutorial for beginners Spiros Bousbouras <spibou@gmail.com> - 2017-04-08 14:54 +0000
      Re: Reliable C tutorial for beginners Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-04-08 19:01 +0100
        Re: Reliable C tutorial for beginners Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-04-09 00:04 +0100
        Re: Reliable C tutorial for beginners Jean-Marc Bourguet <jm@bourguet.org> - 2017-04-09 14:03 +0200
          Re: Reliable C tutorial for beginners Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-04-09 15:02 -0600
            Re: Reliable C tutorial for beginners "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-04-09 14:13 -0700
            Re: Reliable C tutorial for beginners Real Troll <real.troll@trolls.com> - 2017-04-09 17:30 -0400
        Re: Reliable C tutorial for beginners Richard Heathfield <rjh@cpax.org.uk> - 2017-04-10 18:35 +0100

csiph-web