Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #61362 > unrolled thread
| Started by | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| First post | 2015-05-01 17:55 -0700 |
| Last post | 2015-05-03 10:58 -0700 |
| Articles | 20 on this page of 73 — 16 participants |
Back to article view | Back to comp.lang.c
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 →
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-05-01 17:55 -0700 |
| Subject | Understandability |
| 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]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2015-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]
| From | wssimms@gmail.com |
|---|---|
| Date | 2015-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]
| From | Bartc <bc@freeuk.com> |
|---|---|
| Date | 2015-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]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-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]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2015-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]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-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]
| From | Noob <root@127.0.0.1> |
|---|---|
| Date | 2015-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]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-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]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Date | 2015-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]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2015-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]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-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]
| From | Tim Rentsch <txr@alumni.caltech.edu> |
|---|---|
| Date | 2015-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]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-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]
| From | Tim Rentsch <txr@alumni.caltech.edu> |
|---|---|
| Date | 2015-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]
| From | raltbos@xs4all.nl (Richard Bos) |
|---|---|
| Date | 2015-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]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Date | 2015-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]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2015-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]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-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]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2015-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