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


Groups > comp.lang.c > #61362 > unrolled thread

Understandability

Started byDavid Kleinecke <dkleinecke@gmail.com>
First post2015-05-01 17:55 -0700
Last post2015-05-03 10:58 -0700
Articles 20 on this page of 73 — 16 participants

Back to article view | Back to comp.lang.c


Contents

  Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-01 17:55 -0700
    Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-01 19:41 -0700
    Re: Understandability wssimms@gmail.com - 2015-05-01 20:45 -0700
    Re: Understandability Bartc <bc@freeuk.com> - 2015-05-02 10:38 +0100
      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-02 09:15 -0700
        Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-04 09:26 +0200
          Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-04 12:52 -0700
    Re: Understandability Noob <root@127.0.0.1> - 2015-05-02 14:21 +0200
      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-02 09:13 -0700
        Re: Understandability Ian Collins <ian-news@hotmail.com> - 2015-05-03 08:07 +1200
        Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-02 13:11 -0700
          Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-03 10:50 -0700
            Re: Understandability Tim Rentsch <txr@alumni.caltech.edu> - 2015-05-03 13:26 -0700
              Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-04 12:29 -0700
                Re: Understandability Tim Rentsch <txr@alumni.caltech.edu> - 2015-05-05 05:47 -0700
          Re: Understandability raltbos@xs4all.nl (Richard Bos) - 2015-05-08 21:10 +0000
            Re: Understandability Ian Collins <ian-news@hotmail.com> - 2015-05-09 09:17 +1200
            Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-08 14:32 -0700
              Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-09 09:13 -0700
                Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-09 16:48 -0700
                  Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-10 11:05 -0700
                    Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-11 08:48 +0200
                      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-11 09:55 -0700
                        Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-11 17:52 -0400
                          Re: Understandability glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-05-11 22:54 +0000
                          Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-12 08:49 +0200
                            Re: Understandability Morris Dovey <mrdovey@iedu.com> - 2015-05-12 02:15 -0500
                          Re: Understandability Phil Carmody <pc+usenet@asdf.org> - 2015-05-25 03:15 +0300
                            Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-25 00:45 -0400
                            Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-25 10:26 -0700
                      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-11 10:06 -0700
                        Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-12 08:59 +0200
                          Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-12 08:37 -0700
                            Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-13 08:53 +0200
                              Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-13 08:16 -0700
                                Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-13 09:49 -0700
                                  Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-13 10:53 -0700
                                    Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-14 10:35 -0700
                              Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-13 09:31 -0700
                                Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-13 13:10 -0400
                                  Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-14 10:27 -0700
                                    Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-14 22:51 -0400
                                      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-15 10:02 -0700
                                        Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-15 13:37 -0400
                                          Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-16 09:18 -0700
                                            Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-16 23:56 +0200
                                              Re: Understandability gazelle@shell.xmission.com (Kenny McCormack) - 2015-05-17 12:45 +0000
                                              Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-17 09:16 -0700
                                                Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-17 12:47 -0400
                                                  Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-18 10:54 -0700
                                                    Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-18 15:00 -0400
                                                      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-19 09:49 -0700
                                                        Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-19 13:10 -0400
                                            Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-16 19:01 -0400
                                              Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-17 09:30 -0700
                                                Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-17 12:58 -0400
                                                  Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-18 10:54 -0700
                                                    Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-18 14:56 -0400
                                                      Re: Understandability David Kleinecke <dkleinecke@gmail.com> - 2015-05-19 09:46 -0700
                                                        Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-19 13:16 -0400
                                                          Re: Understandability Richard Heathfield <rjh@cpax.org.uk> - 2015-05-19 18:23 +0100
                                                            Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-19 14:02 -0400
                                              Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-19 00:11 +0200
                                                Re: Understandability James Kuyper <jameskuyper@verizon.net> - 2015-05-18 18:28 -0400
                                        Re: Understandability Keith Thompson <kst-u@mib.org> - 2015-05-15 10:52 -0700
                                Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-13 21:53 +0200
            Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-09 16:18 +0200
            Re: Understandability Noob <root@127.0.0.1> - 2015-05-09 18:31 +0200
              Re: Understandability raltbos@xs4all.nl (Richard Bos) - 2015-05-17 10:44 +0000
                Re: Understandability glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-05-17 15:53 +0000
        Re: Understandability David Brown <david.brown@hesbynett.no> - 2015-05-04 09:15 +0200
          Re: Understandability Waldek Hebisch <hebisch@math.uni.wroc.pl> - 2015-05-16 00:28 +0000
    Re: Understandability Tim Rentsch <txr@alumni.caltech.edu> - 2015-05-03 10:58 -0700

Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →


#61829

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-10 11:05 -0700
Message-ID<611c75e6-443d-425b-93b9-67b35c207220@googlegroups.com>
In reply to#61813
On Saturday, May 9, 2015 at 4:48:46 PM UTC-7, Keith Thompson wrote:
> David Kleinecke <dkleinecke@gmail.com> writes:
> > On Friday, May 8, 2015 at 2:32:16 PM UTC-7, Keith Thompson wrote:
> >> In any case, the distinction between gcc and glibc isn't what was being
> >> discussed.  GCC itself is not a single compiler; it's a collection of
> >> compilers for several different languages.  The "gcc" command is what's
> >> used to invoke one of those compilers, and possibly other parts of the
> >> implementation such as a linker.  David seemed to be implying that
> >> someone has been falsely claiming that gcc is a free-standing program;
> >> I'm not aware of anyone making that claim, nor do I see any connection
> >> between that and what you're talking about.
> >  
> > Not a claim and not here. It is the impression given by people who
> > refer to it in a way that gives that makes it seem a simple program.
> 
> For many purposes, it doesn't matter whether it's a simple program or
> not.  I run the "gcc" command, it does whatever it does, and I end up
> with an executable file and/or some diagnostic messages.
> 
> Upthread, you wrote "It is really a fiction that gcc is a free-standing
> program."  Perhaps I'm just missing the point you were making.
 
I started where you are. I tried to use gcc as an example of a program
I might call just like you do. But I got some static and, thinking about
the matter, I realized that people might object because what gcc makes
happen is not, in some senses, "a" program. I added a little commentary
to help anyone who didn't immediately get the point.

I am not sure exactly what "program" means these days. Normally I would
speak of applications (of which gcc is one). Perhaps "program" means a 
"main" function. But I think that is a poor idea for reasons we might 
discuss. 

[toc] | [prev] | [next] | [standalone]


#61840

FromDavid Brown <david.brown@hesbynett.no>
Date2015-05-11 08:48 +0200
Message-ID<mipj9b$4gd$1@dont-email.me>
In reply to#61829
On 10/05/15 20:05, David Kleinecke wrote:
> On Saturday, May 9, 2015 at 4:48:46 PM UTC-7, Keith Thompson wrote:
>> David Kleinecke <dkleinecke@gmail.com> writes:
>>> On Friday, May 8, 2015 at 2:32:16 PM UTC-7, Keith Thompson wrote:
>>>> In any case, the distinction between gcc and glibc isn't what was being
>>>> discussed.  GCC itself is not a single compiler; it's a collection of
>>>> compilers for several different languages.  The "gcc" command is what's
>>>> used to invoke one of those compilers, and possibly other parts of the
>>>> implementation such as a linker.  David seemed to be implying that
>>>> someone has been falsely claiming that gcc is a free-standing program;
>>>> I'm not aware of anyone making that claim, nor do I see any connection
>>>> between that and what you're talking about.
>>>  
>>> Not a claim and not here. It is the impression given by people who
>>> refer to it in a way that gives that makes it seem a simple program.

I can't imagine anyone thinking of gcc as a "simple" program!

>>
>> For many purposes, it doesn't matter whether it's a simple program or
>> not.  I run the "gcc" command, it does whatever it does, and I end up
>> with an executable file and/or some diagnostic messages.
>>
>> Upthread, you wrote "It is really a fiction that gcc is a free-standing
>> program."  Perhaps I'm just missing the point you were making.
>  
> I started where you are. I tried to use gcc as an example of a program
> I might call just like you do. But I got some static and, thinking about
> the matter, I realized that people might object because what gcc makes
> happen is not, in some senses, "a" program. I added a little commentary
> to help anyone who didn't immediately get the point.
> 
> I am not sure exactly what "program" means these days. Normally I would
> speak of applications (of which gcc is one). Perhaps "program" means a 
> "main" function. But I think that is a poor idea for reasons we might 
> discuss. 
> 

I think I am also missing the point here.  You haven't really said /why/
you want to make a distinction between a standalone single-executable
program and a collection of executables such as gcc.  If we understood
why this matters to you, it might be possible to give suggestions or ideas.

As for what a "program" or "application" means, I am not sure that one
can make a concrete definition in this sense.  In particular, it depends
on your viewpoint.  From a user's viewpoint, gcc is clearly a program -
you run the "gcc" command on your source files, and hopefully get a
useful result.  From a compiler developer's viewpoint, gcc is a
collection of programs, libraries, headers, target run-time code, linker
scripts, etc.

[toc] | [prev] | [next] | [standalone]


#61848

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-11 09:55 -0700
Message-ID<05f5d8b2-868c-4d10-99e6-a5aa8edab26b@googlegroups.com>
In reply to#61840
On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
> 
> I can't imagine anyone thinking of gcc as a "simple" program!
 
Conceptually quite simple - compile a text.

[toc] | [prev] | [next] | [standalone]


#61863

FromJames Kuyper <jameskuyper@verizon.net>
Date2015-05-11 17:52 -0400
Message-ID<mir881$kg3$1@dont-email.me>
In reply to#61848
On 05/11/2015 12:55 PM, David Kleinecke wrote:
> On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
>>
>> I can't imagine anyone thinking of gcc as a "simple" program!
>  
> Conceptually quite simple - compile a text.

You can make anything simple by giving it a sufficiently high-level
description. The deepest and most fundamental equation describing the
behavior of the entire universe? A=0. What is A? Take all of the
separate equations describing the universe, with the i'th formula
conceptually of the form Left_side[i] = right_side[i], and that define A
= product over i of (left_size[i] - right_side[i]).


It's only when you get down into the details that you start appreciating
how many there are.

-- 
James Kuyper

[toc] | [prev] | [next] | [standalone]


#61865

Fromglen herrmannsfeldt <gah@ugcs.caltech.edu>
Date2015-05-11 22:54 +0000
Message-ID<mirbvl$m0g$1@speranza.aioe.org>
In reply to#61863
James Kuyper <jameskuyper@verizon.net> wrote:

(snip)
> You can make anything simple by giving it a sufficiently high-level
> description. The deepest and most fundamental equation describing the
> behavior of the entire universe? A=0. What is A? Take all of the
> separate equations describing the universe, with the i'th formula
> conceptually of the form Left_side[i] = right_side[i], and that define A
> = product over i of (left_size[i] - right_side[i]).

It is supposed to be U (unworldliness)

-- glen

[toc] | [prev] | [next] | [standalone]


#61885

FromDavid Brown <david.brown@hesbynett.no>
Date2015-05-12 08:49 +0200
Message-ID<mis7o3$beh$1@dont-email.me>
In reply to#61863
On 11/05/15 23:52, James Kuyper wrote:
> On 05/11/2015 12:55 PM, David Kleinecke wrote:
>> On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
>>>
>>> I can't imagine anyone thinking of gcc as a "simple" program!
>>  
>> Conceptually quite simple - compile a text.
> 
> You can make anything simple by giving it a sufficiently high-level
> description. The deepest and most fundamental equation describing the
> behavior of the entire universe? A=0. What is A? Take all of the
> separate equations describing the universe, with the i'th formula
> conceptually of the form Left_side[i] = right_side[i], and that define A
> = product over i of (left_size[i] - right_side[i]).
> 

That post is just crying out for a Douglas Adams quotation...

> 
> It's only when you get down into the details that you start appreciating
> how many there are.
> 

[toc] | [prev] | [next] | [standalone]


#61887

FromMorris Dovey <mrdovey@iedu.com>
Date2015-05-12 02:15 -0500
Message-ID<mis9ao$emp$1@speranza.aioe.org>
In reply to#61885
On 5/12/15 1:49 AM, David Brown wrote:
> On 11/05/15 23:52, James Kuyper wrote:
>> On 05/11/2015 12:55 PM, David Kleinecke wrote:
>>> On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
>>>>
>>>> I can't imagine anyone thinking of gcc as a "simple" program!
>>>
>>> Conceptually quite simple - compile a text.
>>
>> You can make anything simple by giving it a sufficiently
>> high-level description. The deepest and most fundamental equation
>> describing the behavior of the entire universe? A=0. What is A?
>> Take all of the separate equations describing the universe, with
>> the i'th formula conceptually of the form Left_side[i] =
>> right_side[i], and that define A = product over i of (left_size[i]
>> - right_side[i]).

> That post is just crying out for a Douglas Adams quotation...

Doug Adams would appreciate the implicit humor of the exercise. As soon
as you’ve done all of that, you discover that the equations only
approximated what /was/ and not what /is/... :-)

https://en.wikipedia.org/wiki/Fine-structure_constant#Is_the_fine-structure_constant_actually_constant.3F

>> It's only when you get down into the details that you start
>> appreciating how many there are.

-- 
Morris Dovey
http://www.iedu.com/Solar

[toc] | [prev] | [next] | [standalone]


#62567

FromPhil Carmody <pc+usenet@asdf.org>
Date2015-05-25 03:15 +0300
Message-ID<874mn1seaz.fsf@bazspaz.fatphil.org>
In reply to#61863
James Kuyper <jameskuyper@verizon.net> writes:
> On 05/11/2015 12:55 PM, David Kleinecke wrote:
> > On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
> >>
> >> I can't imagine anyone thinking of gcc as a "simple" program!
> >  
> > Conceptually quite simple - compile a text.
> 
> You can make anything simple by giving it a sufficiently high-level
> description. The deepest and most fundamental equation describing the
> behavior of the entire universe? A=0. What is A? Take all of the
> separate equations describing the universe, with the i'th formula
> conceptually of the form Left_side[i] = right_side[i], and that define A
> = product over i of (left_size[i] - right_side[i]).

That is satisfied if any one of the components is zero.
You probably wanted: Sum (left_side[i] - right_side[i])^2 == 0
Alas that fails if complex numbers can appear.

Phil
-- 
A well regulated militia, being necessary to the security of a free state,
the right of the people to keep and bear arms, shall be well regulated.

[toc] | [prev] | [next] | [standalone]


#62577

FromJames Kuyper <jameskuyper@verizon.net>
Date2015-05-25 00:45 -0400
Message-ID<mju9b2$ch0$1@dont-email.me>
In reply to#62567
On 05/24/2015 08:15 PM, Phil Carmody wrote:
> James Kuyper <jameskuyper@verizon.net> writes:
...
>> You can make anything simple by giving it a sufficiently high-level
>> description. The deepest and most fundamental equation describing the
>> behavior of the entire universe? A=0. What is A? Take all of the
>> separate equations describing the universe, with the i'th formula
>> conceptually of the form Left_side[i] = right_side[i], and that define A
>> = product over i of (left_size[i] - right_side[i]).
> 
> That is satisfied if any one of the components is zero.
> You probably wanted: Sum (left_side[i] - right_side[i])^2 == 0

You're right - I remembered the basic idea, but I obviously didn't
remember the details correctly, and didn't bother thinking them through.

For complex-values equations, there's two equivalent choices: treat the
real and imaginary components as separate equations, or use
(left_side[i]-right_side[i]) *
complex_conjugate(left_size[i]-right_side[i]), instead of squaring it.
Other bizarre mathematical creatures will require similar fix-ups, but
in every case I can think of, there is some appropriate method for doing it.
-- 
James Kuyper

[toc] | [prev] | [next] | [standalone]


#62608

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-25 10:26 -0700
Message-ID<fc6b15cf-17a2-4b70-9289-8a08685e0b07@googlegroups.com>
In reply to#62567
On Sunday, May 24, 2015 at 5:15:24 PM UTC-7, Phil Carmody wrote:
> James Kuyper <jameskuyper@verizon.net> writes:
> > On 05/11/2015 12:55 PM, David Kleinecke wrote:
> > > On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
> > >>
> > >> I can't imagine anyone thinking of gcc as a "simple" program!
> > >  
> > > Conceptually quite simple - compile a text.
> > 
> > You can make anything simple by giving it a sufficiently high-level
> > description. 

I think describing a text editor (emacs?) is quite a bit harder than 
describing gcc. The hard cases are those where there are multiple 
kinds of input and multiple responeses. 

[toc] | [prev] | [next] | [standalone]


#61849

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-11 10:06 -0700
Message-ID<e95d749c-15ca-408c-8419-7d0df53c338f@googlegroups.com>
In reply to#61840
On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
> On 10/05/15 20:05, David Kleinecke wrote:
> > 
> > I am not sure exactly what "program" means these days. Normally I would
> > speak of applications (of which gcc is one). Perhaps "program" means a 
> > "main" function. But I think that is a poor idea for reasons we might 
> > discuss. 
> > 
> 
> I think I am also missing the point here.  You haven't really said /why/
> you want to make a distinction between a standalone single-executable
> program and a collection of executables such as gcc.  If we understood
> why this matters to you, it might be possible to give suggestions or ideas.
> 
> As for what a "program" or "application" means, I am not sure that one
> can make a concrete definition in this sense.  In particular, it depends
> on your viewpoint.  From a user's viewpoint, gcc is clearly a program -
> you run the "gcc" command on your source files, and hopefully get a
> useful result.  From a compiler developer's viewpoint, gcc is a
> collection of programs, libraries, headers, target run-time code, linker
> scripts, etc.

I don't think in terms of command lines any more (having gone as GUI as
possible) but I remember them. I think you are using "program" to mean
a possible first word in a valid command line. I also remember shell
scripts. These days a user clicks on a button and expects something to
happen - maybe what happens is a command line is executed. 

As a compiler writer myself I am very aware that gcc is a collection. You
name "programs" as part of the collection - just what is a "program" here?

[toc] | [prev] | [next] | [standalone]


#61886

FromDavid Brown <david.brown@hesbynett.no>
Date2015-05-12 08:59 +0200
Message-ID<mis8ap$dsq$1@dont-email.me>
In reply to#61849
On 11/05/15 19:06, David Kleinecke wrote:
> On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
>> On 10/05/15 20:05, David Kleinecke wrote:
>>>
>>> I am not sure exactly what "program" means these days. Normally I would
>>> speak of applications (of which gcc is one). Perhaps "program" means a 
>>> "main" function. But I think that is a poor idea for reasons we might 
>>> discuss. 
>>>
>>
>> I think I am also missing the point here.  You haven't really said /why/
>> you want to make a distinction between a standalone single-executable
>> program and a collection of executables such as gcc.  If we understood
>> why this matters to you, it might be possible to give suggestions or ideas.
>>
>> As for what a "program" or "application" means, I am not sure that one
>> can make a concrete definition in this sense.  In particular, it depends
>> on your viewpoint.  From a user's viewpoint, gcc is clearly a program -
>> you run the "gcc" command on your source files, and hopefully get a
>> useful result.  From a compiler developer's viewpoint, gcc is a
>> collection of programs, libraries, headers, target run-time code, linker
>> scripts, etc.
> 
> I don't think in terms of command lines any more (having gone as GUI as
> possible) but I remember them. I think you are using "program" to mean
> a possible first word in a valid command line. I also remember shell
> scripts. These days a user clicks on a button and expects something to
> happen - maybe what happens is a command line is executed. 

Programmers - especially C programmers (or "real" programmers :-) expect
that compilation is done using a command-line program such as "gcc",
typically under the control of "make".  Much of this may be hidden by an
IDE and it's "build" button, but it's not far below the surface - you
can just watch the terminal output window in the IDE.

In the context of compiling, the compiler is a program.  Whether you
view it as a single program on its own, or are concerned with the other
programs it calls along the way, is a matter of perspective.

Your IDE or editor is also a program, which calls other programs as
needed.  Whether you start the programs by command line, clicking on a
start menu, or from within another program, is incidental.

> 
> As a compiler writer myself I am very aware that gcc is a collection. You
> name "programs" as part of the collection - just what is a "program" here?
> 

/You/ are the one making wild statements about what everyone else things
of gcc and whether it is a free-standing or "simple" program, and who is
concerned about a definition of "program" - I believe that you should be
the one to come up with an exact specification.  The rest of us seem
quite happy with a somewhat rough and vague notion.

[toc] | [prev] | [next] | [standalone]


#61906

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-12 08:37 -0700
Message-ID<9ae7e6d2-f4ec-49f9-9a8f-276403ac1ef3@googlegroups.com>
In reply to#61886
On Monday, May 11, 2015 at 11:59:46 PM UTC-7, David Brown wrote:
> On 11/05/15 19:06, David Kleinecke wrote:
> > On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
> >> On 10/05/15 20:05, David Kleinecke wrote:
> >>>
> >>> I am not sure exactly what "program" means these days. Normally I would
> >>> speak of applications (of which gcc is one). Perhaps "program" means a 
> >>> "main" function. But I think that is a poor idea for reasons we might 
> >>> discuss. 
> >>>
> >>
> >> I think I am also missing the point here.  You haven't really said /why/
> >> you want to make a distinction between a standalone single-executable
> >> program and a collection of executables such as gcc.  If we understood
> >> why this matters to you, it might be possible to give suggestions or ideas.
> >>
> >> As for what a "program" or "application" means, I am not sure that one
> >> can make a concrete definition in this sense.  In particular, it depends
> >> on your viewpoint.  From a user's viewpoint, gcc is clearly a program -
> >> you run the "gcc" command on your source files, and hopefully get a
> >> useful result.  From a compiler developer's viewpoint, gcc is a
> >> collection of programs, libraries, headers, target run-time code, linker
> >> scripts, etc.
> > 
> > I don't think in terms of command lines any more (having gone as GUI as
> > possible) but I remember them. I think you are using "program" to mean
> > a possible first word in a valid command line. I also remember shell
> > scripts. These days a user clicks on a button and expects something to
> > happen - maybe what happens is a command line is executed. 
> 
> Programmers - especially C programmers (or "real" programmers :-) expect
> that compilation is done using a command-line program such as "gcc",
> typically under the control of "make".  Much of this may be hidden by an
> IDE and it's "build" button, but it's not far below the surface - you
> can just watch the terminal output window in the IDE.
> 
> In the context of compiling, the compiler is a program.  Whether you
> view it as a single program on its own, or are concerned with the other
> programs it calls along the way, is a matter of perspective.
> 
> Your IDE or editor is also a program, which calls other programs as
> needed.  Whether you start the programs by command line, clicking on a
> start menu, or from within another program, is incidental.
> 
> > 
> > As a compiler writer myself I am very aware that gcc is a collection. You
> > name "programs" as part of the collection - just what is a "program" here?
> > 
> 
> /You/ are the one making wild statements about what everyone else things
> of gcc and whether it is a free-standing or "simple" program, and who is
> concerned about a definition of "program" - I believe that you should be
> the one to come up with an exact specification.  The rest of us seem
> quite happy with a somewhat rough and vague notion.

This all started when I called gcc a program and somebody objected. I am
perfectly happy not having a precise definition of program.

[toc] | [prev] | [next] | [standalone]


#61930

FromDavid Brown <david.brown@hesbynett.no>
Date2015-05-13 08:53 +0200
Message-ID<miusbt$hio$1@dont-email.me>
In reply to#61906
On 12/05/15 17:37, David Kleinecke wrote:
> On Monday, May 11, 2015 at 11:59:46 PM UTC-7, David Brown wrote:
>> On 11/05/15 19:06, David Kleinecke wrote:
>>> On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
>>>> On 10/05/15 20:05, David Kleinecke wrote:
>>>>>
>>>>> I am not sure exactly what "program" means these days. Normally I would
>>>>> speak of applications (of which gcc is one). Perhaps "program" means a 
>>>>> "main" function. But I think that is a poor idea for reasons we might 
>>>>> discuss. 
>>>>>
>>>>
>>>> I think I am also missing the point here.  You haven't really said /why/
>>>> you want to make a distinction between a standalone single-executable
>>>> program and a collection of executables such as gcc.  If we understood
>>>> why this matters to you, it might be possible to give suggestions or ideas.
>>>>
>>>> As for what a "program" or "application" means, I am not sure that one
>>>> can make a concrete definition in this sense.  In particular, it depends
>>>> on your viewpoint.  From a user's viewpoint, gcc is clearly a program -
>>>> you run the "gcc" command on your source files, and hopefully get a
>>>> useful result.  From a compiler developer's viewpoint, gcc is a
>>>> collection of programs, libraries, headers, target run-time code, linker
>>>> scripts, etc.
>>>
>>> I don't think in terms of command lines any more (having gone as GUI as
>>> possible) but I remember them. I think you are using "program" to mean
>>> a possible first word in a valid command line. I also remember shell
>>> scripts. These days a user clicks on a button and expects something to
>>> happen - maybe what happens is a command line is executed. 
>>
>> Programmers - especially C programmers (or "real" programmers :-) expect
>> that compilation is done using a command-line program such as "gcc",
>> typically under the control of "make".  Much of this may be hidden by an
>> IDE and it's "build" button, but it's not far below the surface - you
>> can just watch the terminal output window in the IDE.
>>
>> In the context of compiling, the compiler is a program.  Whether you
>> view it as a single program on its own, or are concerned with the other
>> programs it calls along the way, is a matter of perspective.
>>
>> Your IDE or editor is also a program, which calls other programs as
>> needed.  Whether you start the programs by command line, clicking on a
>> start menu, or from within another program, is incidental.
>>
>>>
>>> As a compiler writer myself I am very aware that gcc is a collection. You
>>> name "programs" as part of the collection - just what is a "program" here?
>>>
>>
>> /You/ are the one making wild statements about what everyone else things
>> of gcc and whether it is a free-standing or "simple" program, and who is
>> concerned about a definition of "program" - I believe that you should be
>> the one to come up with an exact specification.  The rest of us seem
>> quite happy with a somewhat rough and vague notion.
> 
> This all started when I called gcc a program and somebody objected. I am
> perfectly happy not having a precise definition of program.
> 

If I remember the history of this thread correctly (and perhaps I
remember /incorrectly/), the key objection was that you wrote "Gnu is
right to call their work a collection.  It is really a fiction that gcc
is a free-standing program."  You followed this with a series of
misconceptions about gcc and the way it works.

I don't think anyone objects to calling gcc a "program", and we can all
be happy with only a vague definition of "program".  (I doubt that this
group could ever agree on a precise definition of "program" !)

[toc] | [prev] | [next] | [standalone]


#61938

FromKeith Thompson <kst-u@mib.org>
Date2015-05-13 08:16 -0700
Message-ID<87d224ecdp.fsf@kst-u.example.com>
In reply to#61930
David Brown <david.brown@hesbynett.no> writes:
[...]
> I don't think anyone objects to calling gcc a "program", and we can all
> be happy with only a vague definition of "program".  (I doubt that this
> group could ever agree on a precise definition of "program" !)

The C standard doesn't have a formal definition of "program", but the
meaning is specified reasonably clearly in section 5.1.1.1 "Program
structure".

But you're right, just because the standard defines a term that doesn't
mean everyone here is going to agree on the definition.

And it's not unreasonable to use the word "program" to define something
other than a "C program" -- for example a command that might invoke one
or more other executables, but that still appears to the user as a
single command.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

[toc] | [prev] | [next] | [standalone]


#61943

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-13 09:49 -0700
Message-ID<5536bb22-069c-4262-8a7a-0f136872dcea@googlegroups.com>
In reply to#61938
On Wednesday, May 13, 2015 at 8:16:43 AM UTC-7, Keith Thompson wrote:
> David Brown <david.brown@hesbynett.no> writes:
> [...]
> > I don't think anyone objects to calling gcc a "program", and we can all
> > be happy with only a vague definition of "program".  (I doubt that this
> > group could ever agree on a precise definition of "program" !)
> 
> The C standard doesn't have a formal definition of "program", but the
> meaning is specified reasonably clearly in section 5.1.1.1 "Program
> structure".
> 
> But you're right, just because the standard defines a term that doesn't
> mean everyone here is going to agree on the definition.
> 
> And it's not unreasonable to use the word "program" to define something
> other than a "C program" -- for example a command that might invoke one
> or more other executables, but that still appears to the user as a
> single command.
> 
> -- 
> Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
> Working, but not speaking, for JetHead Development, Inc.
> "We must do something.  This is something.  Therefore, we must do this."
>     -- Antony Jay and Jonathan Lynn, "Yes Minister"

It seems to me that you are "defining" program to mean "that which is 
executed by a single command". 

5.1.1.1 seems to be thinking of "program" as a collection of enough code
that the whole is executable. 5.1.2.2.1 (I am reading the C90 standard)
says "the function called at program startup is named 'main'." This
suggests that my original suggestion that programs correspond to "main"
functions was what was intended (in 1990 at least). But, as you note,
that really applies only to "C programs" and the word "program" can be
used for other kinds of executables.   

That is - A C program is a main function plus everything else needed to
make the whole executable.

[toc] | [prev] | [next] | [standalone]


#61948

FromKeith Thompson <kst-u@mib.org>
Date2015-05-13 10:53 -0700
Message-ID<874mnge54g.fsf@kst-u.example.com>
In reply to#61943
David Kleinecke <dkleinecke@gmail.com> writes:
> On Wednesday, May 13, 2015 at 8:16:43 AM UTC-7, Keith Thompson wrote:
>> David Brown <david.brown@hesbynett.no> writes:
>> [...]
>> > I don't think anyone objects to calling gcc a "program", and we can all
>> > be happy with only a vague definition of "program".  (I doubt that this
>> > group could ever agree on a precise definition of "program" !)
>> 
>> The C standard doesn't have a formal definition of "program", but the
>> meaning is specified reasonably clearly in section 5.1.1.1 "Program
>> structure".
>> 
>> But you're right, just because the standard defines a term that doesn't
>> mean everyone here is going to agree on the definition.
>> 
>> And it's not unreasonable to use the word "program" to define something
>> other than a "C program" -- for example a command that might invoke one
>> or more other executables, but that still appears to the user as a
>> single command.
>
> It seems to me that you are "defining" program to mean "that which is 
> executed by a single command". 

Not quite.  I'm saying that it's not unreasonable to use the word that
way (though it's inconsistent with the way the C standard uses the
word).

> 5.1.1.1 seems to be thinking of "program" as a collection of enough code
> that the whole is executable. 5.1.2.2.1 (I am reading the C90 standard)
> says "the function called at program startup is named 'main'." This
> suggests that my original suggestion that programs correspond to "main"
> functions was what was intended (in 1990 at least). But, as you note,
> that really applies only to "C programs" and the word "program" can be
> used for other kinds of executables.   
>
> That is - A C program is a main function plus everything else needed to
> make the whole executable.

Programs can be written in any of a number of languages, using
any of a nearly unlimited set of techniques.  As a user, I don't
necessarily care whether typing "gcc" at the command line invokes
a single C program (statically or dynamically linked) or internally
invokes other executables to do part of its job.

In that context, I suppose "command" is a more precise term than
"program"; "command" also has the advantage of not conflicting with the
terminology used by the C standard.

If someone calls gcc a "program", I may or may not quibble with the use
of the word, depending on the context.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

[toc] | [prev] | [next] | [standalone]


#62009

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-14 10:35 -0700
Message-ID<defc2129-085c-4e1c-b651-334fbe4ed0da@googlegroups.com>
In reply to#61948
On Wednesday, May 13, 2015 at 10:53:34 AM UTC-7, Keith Thompson wrote:
> David Kleinecke <dkleinecke@gmail.com> writes:
> > On Wednesday, May 13, 2015 at 8:16:43 AM UTC-7, Keith Thompson wrote:
> >> David Brown <david.brown@hesbynett.no> writes:
> >> [...]
> >> > I don't think anyone objects to calling gcc a "program", and we can all
> >> > be happy with only a vague definition of "program".  (I doubt that this
> >> > group could ever agree on a precise definition of "program" !)
> >> 
> >> The C standard doesn't have a formal definition of "program", but the
> >> meaning is specified reasonably clearly in section 5.1.1.1 "Program
> >> structure".
> >> 
> >> But you're right, just because the standard defines a term that doesn't
> >> mean everyone here is going to agree on the definition.
> >> 
> >> And it's not unreasonable to use the word "program" to define something
> >> other than a "C program" -- for example a command that might invoke one
> >> or more other executables, but that still appears to the user as a
> >> single command.
> >
> > It seems to me that you are "defining" program to mean "that which is 
> > executed by a single command". 
> 
> Not quite.  I'm saying that it's not unreasonable to use the word that
> way (though it's inconsistent with the way the C standard uses the
> word).
> 
> > 5.1.1.1 seems to be thinking of "program" as a collection of enough code
> > that the whole is executable. 5.1.2.2.1 (I am reading the C90 standard)
> > says "the function called at program startup is named 'main'." This
> > suggests that my original suggestion that programs correspond to "main"
> > functions was what was intended (in 1990 at least). But, as you note,
> > that really applies only to "C programs" and the word "program" can be
> > used for other kinds of executables.   
> >
> > That is - A C program is a main function plus everything else needed to
> > make the whole executable.
> 
> Programs can be written in any of a number of languages, using
> any of a nearly unlimited set of techniques.  As a user, I don't
> necessarily care whether typing "gcc" at the command line invokes
> a single C program (statically or dynamically linked) or internally
> invokes other executables to do part of its job.
> 
> In that context, I suppose "command" is a more precise term than
> "program"; "command" also has the advantage of not conflicting with the
> terminology used by the C standard.
> 
> If someone calls gcc a "program", I may or may not quibble with the use
> of the word, depending on the context.
> 
> -- 
> Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
> Working, but not speaking, for JetHead Development, Inc.
> "We must do something.  This is something.  Therefore, we must do this."
>     -- Antony Jay and Jonathan Lynn, "Yes Minister"

K&R 1978 do define a program.

It is a (non-empty) succession of external definitions. That is, a K&R
program is what is called a translation unit in the standards.

It is obvious why this definition had to be changed. But in the process
it lost "programs" clear meaning was lost. Perhaps it doesn't need one 
but it is nice to know what one is talking about.

[toc] | [prev] | [next] | [standalone]


#61942

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-13 09:31 -0700
Message-ID<4f6b6478-8841-482d-ab39-07bbce61a5ed@googlegroups.com>
In reply to#61930
On Tuesday, May 12, 2015 at 11:54:00 PM UTC-7, David Brown wrote:
> On 12/05/15 17:37, David Kleinecke wrote:
> > On Monday, May 11, 2015 at 11:59:46 PM UTC-7, David Brown wrote:
> >> On 11/05/15 19:06, David Kleinecke wrote:
> >>> On Sunday, May 10, 2015 at 11:48:20 PM UTC-7, David Brown wrote:
> >>>> On 10/05/15 20:05, David Kleinecke wrote:
> >>>>>
> >>>>> I am not sure exactly what "program" means these days. Normally I would
> >>>>> speak of applications (of which gcc is one). Perhaps "program" means a 
> >>>>> "main" function. But I think that is a poor idea for reasons we might 
> >>>>> discuss. 
> >>>>>
> >>>>
> >>>> I think I am also missing the point here.  You haven't really said /why/
> >>>> you want to make a distinction between a standalone single-executable
> >>>> program and a collection of executables such as gcc.  If we understood
> >>>> why this matters to you, it might be possible to give suggestions or ideas.
> >>>>
> >>>> As for what a "program" or "application" means, I am not sure that one
> >>>> can make a concrete definition in this sense.  In particular, it depends
> >>>> on your viewpoint.  From a user's viewpoint, gcc is clearly a program -
> >>>> you run the "gcc" command on your source files, and hopefully get a
> >>>> useful result.  From a compiler developer's viewpoint, gcc is a
> >>>> collection of programs, libraries, headers, target run-time code, linker
> >>>> scripts, etc.
> >>>
> >>> I don't think in terms of command lines any more (having gone as GUI as
> >>> possible) but I remember them. I think you are using "program" to mean
> >>> a possible first word in a valid command line. I also remember shell
> >>> scripts. These days a user clicks on a button and expects something to
> >>> happen - maybe what happens is a command line is executed. 
> >>
> >> Programmers - especially C programmers (or "real" programmers :-) expect
> >> that compilation is done using a command-line program such as "gcc",
> >> typically under the control of "make".  Much of this may be hidden by an
> >> IDE and it's "build" button, but it's not far below the surface - you
> >> can just watch the terminal output window in the IDE.
> >>
> >> In the context of compiling, the compiler is a program.  Whether you
> >> view it as a single program on its own, or are concerned with the other
> >> programs it calls along the way, is a matter of perspective.
> >>
> >> Your IDE or editor is also a program, which calls other programs as
> >> needed.  Whether you start the programs by command line, clicking on a
> >> start menu, or from within another program, is incidental.
> >>
> >>>
> >>> As a compiler writer myself I am very aware that gcc is a collection. You
> >>> name "programs" as part of the collection - just what is a "program" here?
> >>>
> >>
> >> /You/ are the one making wild statements about what everyone else things
> >> of gcc and whether it is a free-standing or "simple" program, and who is
> >> concerned about a definition of "program" - I believe that you should be
> >> the one to come up with an exact specification.  The rest of us seem
> >> quite happy with a somewhat rough and vague notion.
> > 
> > This all started when I called gcc a program and somebody objected. I am
> > perfectly happy not having a precise definition of program.
> > 
> 
> If I remember the history of this thread correctly (and perhaps I
> remember /incorrectly/), the key objection was that you wrote "Gnu is
> right to call their work a collection.  It is really a fiction that gcc
> is a free-standing program."  You followed this with a series of
> misconceptions about gcc and the way it works.
> 
> I don't think anyone objects to calling gcc a "program", and we can all
> be happy with only a vague definition of "program".  (I doubt that this
> group could ever agree on a precise definition of "program" !)

I protest once again. I believe I understand what gcc is doing. If you 
feel I have "misconceptions" please tell me what they are. It is possible
I do have misconceptions.

[toc] | [prev] | [next] | [standalone]


#61945

FromJames Kuyper <jameskuyper@verizon.net>
Date2015-05-13 13:10 -0400
Message-ID<mj00fb$i44$1@dont-email.me>
In reply to#61942
On 05/13/2015 12:31 PM, David Kleinecke wrote:
> On Tuesday, May 12, 2015 at 11:54:00 PM UTC-7, David Brown wrote:
...
>> If I remember the history of this thread correctly (and perhaps I
>> remember /incorrectly/), the key objection was that you wrote "Gnu is
>> right to call their work a collection.  It is really a fiction that gcc
>> is a free-standing program."  You followed this with a series of
>> misconceptions about gcc and the way it works.

What followed the "fiction" comment was:
>  There are two parts - the front
> and back ends. The front end produces a "source program" in an
> intermediate language which the back end "assembles" into machine
> code. GNU, I believe, uses a Lisplike language called RTL. One way to
> make gcc a true program would be to make the back end a subroutine
> called at the end of front processing. A pipe might be a better idea.

So those sentences presumably contain the misconceptions David was
talking about.

> I protest once again. I believe I understand what gcc is doing. If you 
> feel I have "misconceptions" please tell me what they are. It is possible
> I do have misconceptions.

Two of the very first responses told you what Keith Thompson and David
Browne thought were misconceptions expressed in those sentences:

On 05/02/2015 04:11 PM, Keith Thompson wrote:
> There are more than two.
...
> I don't know a whole lot about gcc's internal workings, but I don't
> believe it writes its intermediate representation to a file.  It does
> generate an assembly language program, but that's the output of the
> "back end".

Your response to that message neither acknowledged nor disputed those
points, but only discussed other issues.

On 05/04/2015 03:15 AM, David Brown wrote:
> Three parts - there is also the "middle end".  (And the assembler and
> linker come in addition - they are normally from binutils rather than
gcc.)
...
> Nope.  The "front end" is specific to the source code language, such
> as C, C++, Fortran, etc.  It produces an intermediate language
> (GIMPLE), which is passed on to the "middle end" where much of the
> optimisation work takes place.
>
> The middle-end is /mostly/ independent of both the back-end target and
> the front-end language, but there is a certain amount of cross-talk
> between the parts.  (llvm has a similar theoretical structure, but has
> much cleaner separation between the parts.).  The output from the
> middle-end is another intermediate language (RTL).
>
> The back-end handles the target-specific register allocation and code
> generation.  The result is assembly, not machine code - an external
> assembler (usually "gas" from binutils) is called to generate the
> machine code.  Then another external program (usually "ln" from
> binutils) is called to link the object code and static libraries into
> an executable.
>
> (Things are a little more complicated when using link-time
> optimisation, but lets skip that for now.)
...
> Pipes /are/ the usual way of passing data and options between the
> passes inside gcc.  Intermediary files are only stored if you ask for
> them (typically for debugging gcc itself).

David's remarks received no response from anybody that I can see.

Were either Keith or David wrong about the discrepancies between your
description and reality on those issues? None of the subsequent
discussion gave me that impression. It just wandered over into a
discussion of other issues.
-- 
James Kuyper

[toc] | [prev] | [next] | [standalone]


Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →

Back to top | Article view | comp.lang.c


csiph-web