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 1 of 4  [1] 2 3 4  Next page →


#61362 — Understandability

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-01 17:55 -0700
SubjectUnderstandability
Message-ID<f088f6c5-01bd-44ca-b51a-04e71d1bd169@googlegroups.com>
I googled "gcc tutorial" and looked at each hit. Two of the hits on 
the first page are not really about gcc. Here are the title and first 
sentence of the of the other hits:

=====

    Compiling C and C++ Programs
gcc is the "GNU" C Compiler, and g++ is the "GNU C++ compiler, while 
cc and CC are the Sun C and C++ compilers also available on Sun 
workstations

     GCC and Make
     Compiling, Linking and Building C/C++ Applications
The original GNU C Compiler (GCC) is developed by Richard Stallman, 
the founder of the GNU Project. 

     Tutorial of gcc and gdb
The graphical user interface (GUI) domainates the current operating 
environments for personal computing. 

     Welcome to the Getting Started section of the GCC Wiki
We are constantly looking for new developers who are willing to donate 
their time to advance GCC.

     15 Most Frequently Used GCC Compiler Command Line Options
GCC Compiler is a very powerful and popular C compiler for various 
Linux distributions. 

     How to Create a First C Program on Linux
Most computer users will never write a computer program, just as most 
people who enjoy music will never write a musical composition.

     How do I use gcc, g++, and gdb?
The C compiler on eniac is gcc. Its C++ counterpart is g++.

     gcc
Released by the Free Software Foundation, gcc is a *nix-based C 
compiler usually operated via the command line. 

=====

Not a single one starts with a statement about what gcc is and does. 
A tutorial is for beginners and I would expect a tutorial for gcc to 
begin more or less like

    Gcc is a computer program that reads human-readable program code
     and rewrites (compiles) it as code the machine understand. It is 
     called a compiler.

The state of art of describing computer programs seems to be abysmal. 
No wonder so few people understand actual source code. 

[toc] | [next] | [standalone]


#61364

FromKeith Thompson <kst-u@mib.org>
Date2015-05-01 19:41 -0700
Message-ID<87oam3og4d.fsf@kst-u.example.com>
In reply to#61362
David Kleinecke <dkleinecke@gmail.com> writes:
> I googled "gcc tutorial" and looked at each hit. Two of the hits on 
> the first page are not really about gcc. Here are the title and first 
> sentence of the of the other hits:

[snip]

> Not a single one starts with a statement about what gcc is and does. 
> A tutorial is for beginners and I would expect a tutorial for gcc to 
> begin more or less like
>
>     Gcc is a computer program that reads human-readable program code
>      and rewrites (compiles) it as code the machine understand. It is 
>      called a compiler.

It appears that the authors assumed that the reader knows what a
"compiler" is.  I tend to think that's a reasonable assumption.
I suspect that most people who don't know what a compiler is (and
no doubt there are plenty of them) wouldn't be looking for a gcc
tutorial in the first place.

Perhaps I'm mistaken on that point -- but anyone reading an online
tutorial will have access to search engines and Wikipedia.

-- 
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]


#61365

Fromwssimms@gmail.com
Date2015-05-01 20:45 -0700
Message-ID<3e3d10dd-30fd-4c1d-8c16-ec0444cd06ee@googlegroups.com>
In reply to#61362
Am Samstag, 2. Mai 2015 09:56:08 UTC+9 schrieb David Kleinecke:
> I googled "gcc tutorial" and looked at each hit. Two of the hits on 
> the first page are not really about gcc. Here are the title and first 
> sentence of the of the other hits:
> 
> Not a single one starts with a statement about what gcc is and does. 
> A tutorial is for beginners and I would expect a tutorial for gcc to 
> begin more or less like
> 
>     Gcc is a computer program that reads human-readable program code
>      and rewrites (compiles) it as code the machine understand. It is 
>      called a compiler.
> 
> The state of art of describing computer programs seems to be abysmal. 
> No wonder so few people understand actual source code.

Don't you have something better to do than this?

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


#61371

FromBartc <bc@freeuk.com>
Date2015-05-02 10:38 +0100
Message-ID<mi25se$9sl$1@dont-email.me>
In reply to#61362
On 02/05/2015 01:55, David Kleinecke wrote:
> I googled "gcc tutorial" and looked at each hit. Two of the hits on
> the first page are not really about gcc. Here are the title and first
> sentence of the of the other hits:

> Not a single one starts with a statement about what gcc is and does.

This is a fairly typical experience for me.

Look at any open source project, and the comments at the start of most 
source files tend to be concerned with licence agreements rather than 
what the application or module does. The readme file is invariably some 
sort of version history. Or gives installation details. Or is about any 
subject under the sun except what the whole ******* thing is about and 
what it's for!

(I've been equally frustrated with user manuals and help files in the 
past. They usually assume that nothing has gone wrong and that 
everything works perfectly. But you only resort to the manual or help 
file when something doesn't work or has gone wrong!)

-- 
Bartc

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


#61390

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-02 09:15 -0700
Message-ID<c4cbd63a-8ae0-4e44-ba95-db8304d45824@googlegroups.com>
In reply to#61371
On Saturday, May 2, 2015 at 2:38:30 AM UTC-7, Bart wrote:
> On 02/05/2015 01:55, David Kleinecke wrote:
> > I googled "gcc tutorial" and looked at each hit. Two of the hits on
> > the first page are not really about gcc. Here are the title and first
> > sentence of the of the other hits:
> 
> > Not a single one starts with a statement about what gcc is and does.
> 
> This is a fairly typical experience for me.
> 
> Look at any open source project, and the comments at the start of most 
> source files tend to be concerned with licence agreements rather than 
> what the application or module does. The readme file is invariably some 
> sort of version history. Or gives installation details. Or is about any 
> subject under the sun except what the whole ******* thing is about and 
> what it's for!
> 
> (I've been equally frustrated with user manuals and help files in the 
> past. They usually assume that nothing has gone wrong and that 
> everything works perfectly. But you only resort to the manual or help 
> file when something doesn't work or has gone wrong!)
> 
> -- 
> Bartc

The reason I did what I did seems to have gone right by most commentators
but you get my point.

I was addressing the question of how to describe a computer program. So
I took one well-known and much-written-about program, gcc, as an example. 
Actually I am not at all sure any of the examples I found were attempts
to describe gcc - it is often difficult to tell what things are intended
for but I would assume something that answers to "tutorial" is aimed at
people who don't know much about a subject and want to learn more. That is
as close to a description as I could get.

I assume the best way to describe something is a tree. Very broadbrush at
the top with more and more specific stuff further down (my tree is a
computer tree - upside down). In the case of a computer program he actual
code would be at the bottom.

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


#61482

FromDavid Brown <david.brown@hesbynett.no>
Date2015-05-04 09:26 +0200
Message-ID<mi76th$kmq$1@dont-email.me>
In reply to#61390
On 02/05/15 18:15, David Kleinecke wrote:

> The reason I did what I did seems to have gone right by most commentators
> but you get my point.

Perhaps that's because you didn't /say/ why you were doing this?  As far
as your first post in this thread is concerned, you simply moaned about
tutorials you found for gcc don't say what gcc actually /is/.  Of
course, this is hardly surprising - if I were to search for articles
about "how to drive a car", I think most hits would assume that I know
what a "car" is.

You followed this up with a rant about the wikipedia page on gcc, which
mostly boils down to a complaint that it merely describes it as a
"compiler system", and you have to click on the word "compiler" to find
out what that is.

> 
> I was addressing the question of how to describe a computer program. So
> I took one well-known and much-written-about program, gcc, as an example. 
> Actually I am not at all sure any of the examples I found were attempts
> to describe gcc - it is often difficult to tell what things are intended
> for but I would assume something that answers to "tutorial" is aimed at
> people who don't know much about a subject and want to learn more. That is
> as close to a description as I could get.
> 
> I assume the best way to describe something is a tree. Very broadbrush at
> the top with more and more specific stuff further down (my tree is a
> computer tree - upside down). In the case of a computer program he actual
> code would be at the bottom.
> 

If you want to learn how to describe a computer program, start with
something simple - start with a "hello, world!" program and work up from
there.  Picking such complex monstrosities (let's be honest - gcc is a
fantastic piece of work, but it is not easy to understand in its
entirety) as gcc and emacs is a bit like learning to write biographies
by starting with Hamlet or Jesus.

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


#61521

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-04 12:52 -0700
Message-ID<316c05fe-d2a3-4c79-9c1d-2b5a79489d34@googlegroups.com>
In reply to#61482
On Monday, May 4, 2015 at 12:26:47 AM UTC-7, David Brown wrote:
> On 02/05/15 18:15, David Kleinecke wrote:
> 
> > The reason I did what I did seems to have gone right by most commentators
> > but you get my point.
> 
> Perhaps that's because you didn't /say/ why you were doing this?  As far
> as your first post in this thread is concerned, you simply moaned about
> tutorials you found for gcc don't say what gcc actually /is/.  Of
> course, this is hardly surprising - if I were to search for articles
> about "how to drive a car", I think most hits would assume that I know
> what a "car" is.
> 
> You followed this up with a rant about the wikipedia page on gcc, which
> mostly boils down to a complaint that it merely describes it as a
> "compiler system", and you have to click on the word "compiler" to find
> out what that is.
> 
> > 
> > I was addressing the question of how to describe a computer program. So
> > I took one well-known and much-written-about program, gcc, as an example. 
> > Actually I am not at all sure any of the examples I found were attempts
> > to describe gcc - it is often difficult to tell what things are intended
> > for but I would assume something that answers to "tutorial" is aimed at
> > people who don't know much about a subject and want to learn more. That is
> > as close to a description as I could get.
> > 
> > I assume the best way to describe something is a tree. Very broadbrush at
> > the top with more and more specific stuff further down (my tree is a
> > computer tree - upside down). In the case of a computer program he actual
> > code would be at the bottom.
> > 
> 
> If you want to learn how to describe a computer program, start with
> something simple - start with a "hello, world!" program and work up from
> there.  Picking such complex monstrosities (let's be honest - gcc is a
> fantastic piece of work, but it is not easy to understand in its
> entirety) as gcc and emacs is a bit like learning to write biographies
> by starting with Hamlet or Jesus.

But it's the monstrosities that need the special care.

Anybody can describes a "Hello World" - that's why it's used as a first
example. 

I don't think Hamlet has a biography and Jesus already has far too many.

As I comment in another comment -  I am having trouble with my 
examples so I am now looking at gedit. 

There seems to be a bit of potential trouble here with the word
"program". If I invoke gcc on a command line it looks like I am
invoking a program. Actually I am invoking one facet of what Gnu
calls a compiler collection. 

In the original spirit of these things I need another command line
switch so I can invoke

     compiler_collection -c ....

or

     compiler_collection -cpp .... 

In real life compiler_collection needs a better name - I would suggest
letting gcc mean Gnu Compiler Collection so I might compile a Java 
program with the command line
 
     gcc -j ...

and describe it beginning 

     Gcc is a computer application for converting computer instruction
     collections (programs) written in human-readable ways into sets of
     instructions in a form the computer can follow. This process is
     called compiling and gcc is a compiler.

o
       

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


#61381

FromNoob <root@127.0.0.1>
Date2015-05-02 14:21 +0200
Message-ID<mi2fei$75j$2@dont-email.me>
In reply to#61362
On 02/05/2015 04:05, Stefan Ram wrote:

> Then restrict your search to wikipedia.

Indeed!

https://en.wikipedia.org/wiki/GNU_Compiler_Collection

> The GNU Compiler Collection (GCC) is a compiler system produced by
> the GNU Project supporting various programming languages. GCC is a
> key component of the GNU toolchain.

https://en.wikipedia.org/wiki/Compiler

> A compiler is a computer program (or set of programs) that transforms
> source code written in a programming language (the source language)
> into another computer language (the target language, often having a
> binary form known as object code). The most common reason for
> converting a source code is to create an executable program.

Regards.

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


#61389

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-02 09:13 -0700
Message-ID<ddd5d238-7d70-4b42-a6f9-c449ea163c27@googlegroups.com>
In reply to#61381
On Saturday, May 2, 2015 at 5:21:48 AM UTC-7, Noob wrote:
> On 02/05/2015 04:05, Stefan Ram wrote:
> 
> > Then restrict your search to wikipedia.
> 
> Indeed!
> 
> https://en.wikipedia.org/wiki/GNU_Compiler_Collection
> 
> > The GNU Compiler Collection (GCC) is a compiler system produced by
> > the GNU Project supporting various programming languages. GCC is a
> > key component of the GNU toolchain.
> 
> https://en.wikipedia.org/wiki/Compiler
> 
> > A compiler is a computer program (or set of programs) that transforms
> > source code written in a programming language (the source language)
> > into another computer language (the target language, often having a
> > binary form known as object code). The most common reason for
> > converting a source code is to create an executable program.
> 
> Regards.

The Wikipedia page on "GNU Compiler Collection" is very poorly written
and is an excellent example of what I deplore.

The definition on the "Compiler" is an excellent example of what I want.
A description of gcc might well start with that definition (edited 
perhaps), then follow up:
   The program gcc is a compiler for programs written in C programming
   language. The C language is described in ...  

Gnu is right to call their work a collection. It is really a fiction 
that gcc is a free-standing program. 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.   

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


#61396

FromIan Collins <ian-news@hotmail.com>
Date2015-05-03 08:07 +1200
Message-ID<cqkp3pFmnv4U3@mid.individual.net>
In reply to#61389
David Kleinecke wrote:
>
> Gnu is right to call their work a collection. It is really a fiction
> that gcc is a free-standing program. 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.

A rather strange definition of a "true program".  If you look at the 
options, you'll see gcc (like other compilers I've used) has a -pipe option.

-- 
Ian Collins

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


#61397

FromKeith Thompson <kst-u@mib.org>
Date2015-05-02 13:11 -0700
Message-ID<87bni2oi3i.fsf@kst-u.example.com>
In reply to#61389
David Kleinecke <dkleinecke@gmail.com> writes:
> On Saturday, May 2, 2015 at 5:21:48 AM UTC-7, Noob wrote:
>> On 02/05/2015 04:05, Stefan Ram wrote:
>> 
>> > Then restrict your search to wikipedia.
>> 
>> Indeed!
>> 
>> https://en.wikipedia.org/wiki/GNU_Compiler_Collection
>> 
>> > The GNU Compiler Collection (GCC) is a compiler system produced by
>> > the GNU Project supporting various programming languages. GCC is a
>> > key component of the GNU toolchain.
>> 
>> https://en.wikipedia.org/wiki/Compiler
>> 
>> > A compiler is a computer program (or set of programs) that transforms
>> > source code written in a programming language (the source language)
>> > into another computer language (the target language, often having a
>> > binary form known as object code). The most common reason for
>> > converting a source code is to create an executable program.
>> 
>> Regards.
>
> The Wikipedia page on "GNU Compiler Collection" is very poorly written
> and is an excellent example of what I deplore.

It seems like a decent article to me -- but if you think it can be
improved you can do so.

> The definition on the "Compiler" is an excellent example of what I want.
> A description of gcc might well start with that definition (edited 
> perhaps), then follow up:
>    The program gcc is a compiler for programs written in C programming
>    language. The C language is described in ...  

Should a manual for an automobile start with an explanation of what an
automobile is?  Would you expect someone who doesn't already know what a
compiler is to have any use for a gcc tutorial?  Would someone
encountering the unfamiliar word "compiler" in an online tutorial have
any difficulty finding out what it means?

> Gnu is right to call their work a collection. It is really a fiction 
> that gcc is a free-standing program.

Saying it's a "fiction" implies that someone is making that claim.

The term "gcc" refers both to the compiler collection and to the command
used to invoke it (one might use "GCC" vs. "gcc" to distinguish between
them).  The latter, though it isn't just a single free-standing program,
does act like one; the fact that it invokes other commands is largely
irrelevant to a typical user.

>                                      There are two parts - the front 
> and back ends.

There are more than two.

>                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.

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".

>                                                      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.   

gcc does have a "-pipe" option.

The way gcc is organized internally is not particularly relevant either
to the C language (the topic of this newsgroup) or to your statements
about the clarity of gcc tutorials.

-- 
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]


#61446

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-03 10:50 -0700
Message-ID<a9cd0a38-64c9-48f7-8a29-7af3623887cc@googlegroups.com>
In reply to#61397
On Saturday, May 2, 2015 at 1:11:24 PM UTC-7, Keith Thompson wrote:
> David Kleinecke <dkleinecke@gmail.com> writes:
> > On Saturday, May 2, 2015 at 5:21:48 AM UTC-7, Noob wrote:
> >> On 02/05/2015 04:05, Stefan Ram wrote:
> >> 
> >> > Then restrict your search to wikipedia.
> >> 
> >> Indeed!
> >> 
> >> https://en.wikipedia.org/wiki/GNU_Compiler_Collection
> >> 
> >> > The GNU Compiler Collection (GCC) is a compiler system produced by
> >> > the GNU Project supporting various programming languages. GCC is a
> >> > key component of the GNU toolchain.
> >> 
> >> https://en.wikipedia.org/wiki/Compiler
> >> 
> >> > A compiler is a computer program (or set of programs) that transforms
> >> > source code written in a programming language (the source language)
> >> > into another computer language (the target language, often having a
> >> > binary form known as object code). The most common reason for
> >> > converting a source code is to create an executable program.
> >> 
> >> Regards.
> >
> > The Wikipedia page on "GNU Compiler Collection" is very poorly written
> > and is an excellent example of what I deplore.
> 
> It seems like a decent article to me -- but if you think it can be
> improved you can do so.
> 
> > The definition on the "Compiler" is an excellent example of what I want.
> > A description of gcc might well start with that definition (edited 
> > perhaps), then follow up:
> >    The program gcc is a compiler for programs written in C programming
> >    language. The C language is described in ...  
> 
> Should a manual for an automobile start with an explanation of what an
> automobile is?  Would you expect someone who doesn't already know what a
> compiler is to have any use for a gcc tutorial?  Would someone
> encountering the unfamiliar word "compiler" in an online tutorial have
> any difficulty finding out what it means?
> 
> > Gnu is right to call their work a collection. It is really a fiction 
> > that gcc is a free-standing program.
> 
> Saying it's a "fiction" implies that someone is making that claim.
> 
> The term "gcc" refers both to the compiler collection and to the command
> used to invoke it (one might use "GCC" vs. "gcc" to distinguish between
> them).  The latter, though it isn't just a single free-standing program,
> does act like one; the fact that it invokes other commands is largely
> irrelevant to a typical user.
> 
> >                                      There are two parts - the front 
> > and back ends.
> 
> There are more than two.
> 
> >                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.
> 
> 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".
> 
> >                                                      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.   
> 
> gcc does have a "-pipe" option.
> 
> The way gcc is organized internally is not particularly relevant either
> to the C language (the topic of this newsgroup) or to your statements
> about the clarity of gcc tutorials.
> 
> -- 
> 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"

OK. Clearly we need to agree on some things first. I was using gcc as an
example of a complex piece of software. Too late I realized that it was
not really a good example because it was not monolithic. As nearly as I 
can tell, gcc uses not one but two intermediate languages and does its
optimization in the "middle end" between them. But, as noted, the subject
is really C.

What I am visualizing is a situation like this: I am curious about how
text editors work so I want to pick of a description of, say, emacs, and
read it. (I haven't tried this - may be I should). The description should
not assume much about what the reader knows. Just to be absolutely certain
the description should start off with a paragraph placing emacs in the
world and explaining just what it is trying to do.

If you look at these big complex structures you see that matters that seem
almost peripheral to the language - linking and how functions work are
crucial. It is easy to write a Hello World program - explaining why it
is main and what stdio means are the hard part.

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


#61458

FromTim Rentsch <txr@alumni.caltech.edu>
Date2015-05-03 13:26 -0700
Message-ID<kfnioc9l868.fsf@x-alumni2.alumni.caltech.edu>
In reply to#61446
David Kleinecke <dkleinecke@gmail.com> writes:

> [snip]
>
> What I am visualizing is a situation like this:  I am curious
> about how text editors work so I want to pick of a description of,
> say, emacs, and read it.  (I haven't tried this - may be I
> should).  The description should not assume much about what the
> reader knows.  Just to be absolutely certain the description
> should start off with a paragraph placing emacs in the world and
> explaining just what it is trying to do.

That would be a _long_ paragraph. :)

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


#61518

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-04 12:29 -0700
Message-ID<ac50935f-a8e4-4858-aea6-f0084de541c7@googlegroups.com>
In reply to#61458
On Sunday, May 3, 2015 at 1:26:14 PM UTC-7, Tim Rentsch wrote:
> David Kleinecke <dkleinecke@gmail.com> writes:
> 
> > [snip]
> >
> > What I am visualizing is a situation like this:  I am curious
> > about how text editors work so I want to pick of a description of,
> > say, emacs, and read it.  (I haven't tried this - may be I
> > should).  The description should not assume much about what the
> > reader knows.  Just to be absolutely certain the description
> > should start off with a paragraph placing emacs in the world and
> > explaining just what it is trying to do.
> 
> That would be a _long_ paragraph. :)

I seem to be having trouble with my examples. Emacs, as you observe,
is too big a deal to handle easily.

Lets try gedit instead.

A description of gedit might start:

    Gedit is a computer application for reading, writing and editing 
    written texts. It assumes there is a keyboard where input text and
    and a screen where to text is printed. Texts can be saved in files
    or printed out if a printer is attached. 

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


#61560

FromTim Rentsch <txr@alumni.caltech.edu>
Date2015-05-05 05:47 -0700
Message-ID<kfnh9rrjimy.fsf@x-alumni2.alumni.caltech.edu>
In reply to#61518
David Kleinecke <dkleinecke@gmail.com> writes:

> On Sunday, May 3, 2015 at 1:26:14 PM UTC-7, Tim Rentsch wrote:
>> David Kleinecke <dkleinecke@gmail.com> writes:
>>
>>> [snip]
>>>
>>> What I am visualizing is a situation like this:  I am curious
>>> about how text editors work so I want to pick of a description of,
>>> say, emacs, and read it.  (I haven't tried this - may be I
>>> should).  The description should not assume much about what the
>>> reader knows.  Just to be absolutely certain the description
>>> should start off with a paragraph placing emacs in the world and
>>> explaining just what it is trying to do.
>>
>> That would be a _long_ paragraph. :)
>
> I seem to be having trouble with my examples.  Emacs, as you observe,
> is too big a deal to handle easily.

Oh, I think emacs is a good example, because it illustrates
the difficulties inherent in cases likely to be of interest.

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


#61786

Fromraltbos@xs4all.nl (Richard Bos)
Date2015-05-08 21:10 +0000
Message-ID<554d2438.33948500@news.xs4all.nl>
In reply to#61397
Keith Thompson <kst-u@mib.org> wrote:

> David Kleinecke <dkleinecke@gmail.com> writes:

> > Gnu is right to call their work a collection. It is really a fiction 
> > that gcc is a free-standing program.
> 
> Saying it's a "fiction" implies that someone is making that claim.

The claim has been made, repeatedly, in this very newsgroup, that gcc
and glib are completely separate programs and systems which should never
be assumed to be used together and a fault of the Ganuck system is not a
fault of the Ganuck system at all, really, honestly, and we're not
trying to embrace-and-extent, oh no, pinky swear guv'.

Fiction? Or simple dishonesty on the part of the Stallmaniados?

Richard

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


#61787

FromIan Collins <ian-news@hotmail.com>
Date2015-05-09 09:17 +1200
Message-ID<cr4nelF1b5pU1@mid.individual.net>
In reply to#61786
Richard Bos wrote:
> Keith Thompson <kst-u@mib.org> wrote:
>
>> David Kleinecke <dkleinecke@gmail.com> writes:
>
>>> Gnu is right to call their work a collection. It is really a fiction
>>> that gcc is a free-standing program.
>>
>> Saying it's a "fiction" implies that someone is making that claim.
>
> The claim has been made, repeatedly, in this very newsgroup, that gcc
> and glib are completely separate programs and systems which should never
> be assumed to be used together and a fault of the Ganuck system is not a
> fault of the Ganuck system at all, really, honestly, and we're not
> trying to embrace-and-extent, oh no, pinky swear guv'.

Who said anything about glib?

-- 
Ian Collins

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


#61788

FromKeith Thompson <kst-u@mib.org>
Date2015-05-08 14:32 -0700
Message-ID<87twvmhi21.fsf@kst-u.example.com>
In reply to#61786
raltbos@xs4all.nl (Richard Bos) writes:
> Keith Thompson <kst-u@mib.org> wrote:
>> David Kleinecke <dkleinecke@gmail.com> writes:
>> > Gnu is right to call their work a collection. It is really a fiction 
>> > that gcc is a free-standing program.
>> 
>> Saying it's a "fiction" implies that someone is making that claim.
>
> The claim has been made, repeatedly, in this very newsgroup, that gcc
> and glib are completely separate programs and systems which should never
> be assumed to be used together and a fault of the Ganuck system is not a
> fault of the Ganuck system at all, really, honestly, and we're not
> trying to embrace-and-extent, oh no, pinky swear guv'.

No, it has been pointed out that gcc and glibc (not glib, which is
something else) are two separate projects, both of which may be
components of a C implementation.  There are C implementations that
incorporate gcc with a library other than glibc, and there are C
implementations that incorporate a compiler other than gcc with glibc.

The point of the distinction is that, for example, if the rand()
function misbehaves in a program compiled with gcc, it's probably not a
gcc bug; it's a bug in whatever library provides the implementation of
rand().  That library may or may not be glibc.

Of course gcc and glibc are both GNU projects, and of course that
implies a relationship between them.

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.

> Fiction? Or simple dishonesty on the part of the Stallmaniados?

Neither, just an excuse for you to rant about the GNU project (which,
for the record, I am neither attacking nor defending).

-- 
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]


#61805

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2015-05-09 09:13 -0700
Message-ID<cbbf622e-3433-44b1-aede-0f5206c063db@googlegroups.com>
In reply to#61788
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.

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


#61813

FromKeith Thompson <kst-u@mib.org>
Date2015-05-09 16:48 -0700
Message-ID<87lhgxgvmx.fsf@kst-u.example.com>
In reply to#61805
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.

-- 
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]


Page 1 of 4  [1] 2 3 4  Next page →

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


csiph-web