There are, however, definite advantages to be had in bringing
Given a choice between the best C compiler ever written for the Apple
II from the same company who produced the best C compilers ever
written, and trying to use a partially compliant ANSI 89 committee
animal that is hard if not harder to use and featureless by
comparison, I would argue that one should in fact not follow a gang of
kickers and screamers whether they have or not had the experience of
developing for older platforms as well as new, nor the wisdom to tell
the difference, or perhaps do know the difference but should not be
followed anyway.
K & R function prototypes are no problem. If that presents a problem
then one should probably consider taking up pizza delivery rather than
C programming.
I quite agree that in a perfect world the academic approach of using a
single standard would be wonderful, but since each case needs to be
considered on its own merit, probably less focus on what dialect of a
language is better, and since in many ways ANSI C extended K & R C, it
is not bad for a stranger in a strange land to learn to speak in
simple sentences before learning more complicated ones.
If you recall that a function is an int by default in K & R and so are
variables and these can be omitted and unsafely assumed to be int,
consider also that GIO does not need to omit types and can still
operate in a typesafe manner. He doesn't need to use typedefs and
return structures from functions.
Or didn't anyone who wrote a C program before 1989 do at least as good
a job as what I see around me today? You already know what I will say
when someone who has only been programming in C for 10 years or so
challenges me on this.
The examples that I have given him which by the way are also available
to anyone here who cares to look are pretty good. And he studied C as
well and from what I have seen so far he doesn't have much trouble
understanding.
http://www.clipshop.ca/Aztec/index.htm
Now until we can get the source code from Manx Software Systems which
looks like it will come if it still exists, I am not going to start
writing an ansi compliant replacement compiler for the Apple II.
Part of this work may even have been done for the Apple II according
to one of Manx's developers. We'll see. Until then Brodie's C89 was
significant but not currently an option here.
The benefit of having the source code for the Aztec C compilers for
the Apple II, Commodore 64, Amiga, Atari, Mac 68000, Z80 and 8080, and
of course 8086 MS-DOS and CP/M 86, and also of the linkers, the
library managers, symbolic debuggers, and all the rest of those first-
class cross-compilers and native-mode compilers, some which are
already ANSI 89 will be to make them available as cross-compilers for
such platforms as we wish. The Aztec C cross compilers that I have
currently only run in MS-DOS or CP/M.
The person that makes
the compiler I'm using (Aztec-C) available has been talking to the
company that owns it to see if he can get the source and update it to
ANSI standards.
That person would be me.
There is another compiler for the Apple IIe called cc65. It's not too
bad, really, and it is (according to the webpage) almost conforming to
the ISO standard. The program from the K&R book would not compile in it
without modification. Unfortunately, I can't get its output file to run
under ProDOS, which is the OS of choice for the Apple IIe.
Aztec C for the Apple II is "almost" ANSI but it's not.
But when it comes to compilers Aztec C is without equal. It was for
its time simnply the best and was squashed by some very giant
companies including Microsoft who once took out 6 full page ads in a
computer magazine to slam Aztec C.
For quite some time, around 85, 86, or so, it was the world's largest
selling C compiler.
The two unparalelled individuals behind its core were Thomas Fenwick
who later went on to write the CE Kernel, and James Goonow who then
worked with Carl Sassenrath on VIDStream and REBOL.
The floating point libraries at a time when FP was unheard of were
flawless and actually the 6 or so individuals that put these together
are like the whose-who of who invented floating point for compilers as
we know them.
While that is probably a personal problem, I'm going down the path of
least resistance for now.
I think that you aren't the person with the problem and I don't so
much think the problem with that compiler is personal so much as it
isn't finished. By contrast the Aztec C compiler for the Apple II was
used by 60% of the Apple II dvelopers.
We call the path of least reasistance the critical path and it is
always the best one to take because if it turns-out to be the wrong
one you will find-out sooner than the slower path with the most
resistance. Also as suggested perhaps a little more strongly than I
should have (perhaps not) if you can't just jump-in and start coding
then hiow are ya gonna get any learning done?
"All the tired horses in the sun, how'm'I 'sposed to get any riding
done?"
- Bob Dylan