B
Barièeviæi
Can somebody list some books or internet pages concerning c leraning
tutorials?
If it was posted I appologize
tutorials?
If it was posted I appologize
You can download a tutorial, and its associated C compiler from:Barièeviæi said:Can somebody list some books or internet pages concerning c leraning
tutorials?
If it was posted I appologize
If you are already an experienced programmer, but just haven't yet
learned C, you will appreciate the briefer approach of Brian
Kernighan (silent 'g', by the way), and Dennis Ritchie. Kernighan
is the 'K' in AWK, and Dennis Ritchie wrote the C language itself.
The book is very short (272 pages including the index), but its
information density is colossal. This book teaches you more about C
than many books four times the size:
Can somebody list some books or internet pages concerning c leraning
tutorials?
If it was posted I appologize
Richard said:jacob navia said:
The OP may not be aware that Jacob Navia is the maintainer of
lcc-win32 and has a commercial interest therein, so he is not
exactly a disinterested party.
Furthermore, since lcc-win32 does
not claim to conform to C90 and does not yet conform to C99, it
isn't actually a C compiler.
Note that the tutorial to which Jacob Navia posted a link says:
"What the C language concerns, this is not a full-fledged
introduction to all of C." In fact, large chunks of it are devoted
to the lcc-win32 interface, to Windows, and to extensions.
It is easy for a C aficionado to pick tiny holes in the tutorial,
but that would be uncharitable and I don't plan to do it here. So
here are three medium-to-large mistakes instead (the first three I
found). I deliberately stopped recording after finding three, but I
did find several others.
In 1.3.2, the tutorial confuses "argument" and "parameter". The
distinction between them is vital to understanding pass-by-value,
so this is not a minor nit.
I was trying to avoid objecting to the claim that main() is always
the entry point, on the grounds that it is not that unreasonable to
expect the user to be concerned primarily with a hosted
implementation. But in 1.4.2.1 the tutorial specifically mentions
freestanding implementations, and incorrectly claims that on such
implementations the entry point is always int main(void).
In 1.6.9, the table claims that there are two flavours of char -
signed or unsigned. In fact, there are three (plain char was
omitted).
If I discover that these have been fixed, I'll go and find the next
three.
I can recommend the Tom Torfs tutorial or the Steve Summit tutorial.
jacob said:This is not true since the download is without any charge for the user
This is another attempt by heathfield to misrepresent lcc-win.
Sure sure, and heathfield is not a c programmer.
Contrary to heathfield, I do not say:
"This book is the best of the best, The first and final stop for all
your readings"
This is not true
This is not true
You have no right to download or use my book, nor my compiler.
I can recommend to fix the bugs in your book before you give lessons
to anyone here
Barièeviæi said:Can somebody list some books or internet pages concerning c leraning
tutorials?
If it was posted I appologize
jacob navia said:
I made these three claims. Which one are you claiming is false?
(a) you are the maintainer of lcc-win32
(b) you have a commercial interest in lcc-win32
(c) you are not a disinterested party
The claim that I am not a C programmer is indeed not true, but I
don't think you meant that. I think you meant it's not true that
lcc-win32 is not a C compiler. So are you now claiming that
lcc-win32 conforms to at least one version of the ISO 9899
standard? Because that's the benchmark.
How is that "contrary to heathfield"?
Yes, it is. Look for yourself.
Not true that there's such a thing as plain char? See 6.2.5(15):
"The three types char, signed char, and unsigned char are
collectively called the character types. The implementation shall
define char to have the same range, representation, and behavior as
either signed char or unsigned char."
Not true that you claimed there are two flavours? See 1.6.9 of your
tutorial:
char 1 Character or small integer type. Comes in two fla-
vours: signed or unsigned.
If you don't want people to download stuff from your Web site, don't
put it on your Web site. If you put it on your Web site under
"downloads", you can hardly be surprised if people download it.
I have done so, to the best of my knowledge, by publishing a
comprehensive errata list. For a printed work, that's about all I
can do, and you know it well. If you know of any bugs not listed on
the errata, feel free to tell me about them. Unlike you, I welcome
corrections.
Keith Thompson said:I'm sure it would turn up plenty of things -- and would demonstrate
that Sturgeon was an optimist.
(Sturgeon's law: 90% of everything is crud.)
Richard said:Nick Keighley said:
The clc wiki is not in good shape. It is currently advertising all
kinds of bizarre medications. In fact, the last fourteen edits (all
the ones shown on "Recent Changes") are all spam.
Richard Heathfield said:osmium said:
<snip>
ITYM:
<snip>
Phil said:It's not a vendetta to repeatedly correct someone who persistently
posts things of little or negative use. It may to some appear to be
a waste of effort, but if Jacob persists with his posts _someone_
will persist with picking his frequent misdirections and mistakes
to pieces.
Richard said:jacob navia said:
So the names "Christopher Fraser" and "David Hanson" don't ring any
bells for you?
Richard Heathfield" said:If I discover that these have been fixed, I'll go and find the next
three.
osmium said:If that doesn't desribe a vendetta, WTF does?
I would suggest that Jacob fix the parameter/argument thing, I can't get
very worked up about the other things.
jacob navia said:I do post code here, I do post help to people.
I have written a C compilation system without the help of anyone, and
without anyone's financing. It is a very popular C99 implementation,
with more than 1 million downloads since we started counting, some 4-5
years ago.
This has been a huge effort for the C community, an effort that has
been here repeatedly misrepresented as being selfish or plain commercial
by people whose only credentials are to complain about my compiler
in this group.
If I propose to that poster that asked for a tutorial to download my
tutorial is because I have taken from my time countless hours to write
that 500 pages tutorial in the first place!
osmium said:If that doesn't desribe a vendetta, WTF does?
I would suggest that Jacob fix the parameter/argument thing, I can't get
very worked up about the other things.
I don't spend all my waking hours obsessing about this stuff, but as I
semi-interested bystander, I thought the vast majority of compilers are not
C compilers by the standards you apply to him. I know my compiler allows //
comments but if I tried to use the built in complex numbers, I am quite sure
it would barf. So it is not a C compiler, QED.
Richard Heathfield said:jacob navia said:
So you didn't write a C compilation system without anyone's help
after all. (In fact, it seems that you didn't write a C compilation
system *at all* - see below.)
Undoubtedly. It's a huge distance. But it's not the /whole/
distance.
[...]jacob navia said:From this, heathfield says I do not explain the difference between
passing by value and passing by address. That is just bad faith, only
to be had from a PEDANT. "Argument" and "parameter" are using
interchangeably in common day language.
BartC said:I don't know what proportion of the lcc-win32 project still consists of lcc.
But how small a proportion would that have to be for you to admit that it
might now be a largely independent effort? (For my own projects, I made sure
they were 100% my own code, to avoid exactly this kind of argument.)
There is nothing after all to stop anyone downloading and using lcc instead
of lcc-win32, so there must be a good reason for someone to prefer the
latter over lcc.
Not having used lcc, I wouldn't know but might guess it might be that
lcc-win32 works out of the box and is complete with headers and libraries
not only for standard C, but for Windows, and for a host of other common
addons, together with the other utilities mentioned.
Perhap even the excellent tutorial might play a part, describing not just
the usual C stuff but showing what is possible by going beyond the standard
language a little way, which is a good way to keep it interesing. But to
dismiss the lot because on one page it might have mistakenly described an
argument as a parameter or whatever it was ...
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.