[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Becoming a "Super User" (was Re: Teach files to AppleWorks Gs)
[My apologies if this winds up as a duplicate post -- news isn't getting
out from my site right now, so I'm posting from a different account.]
In article <sheldon-0312962337430001@lpm2-4.atlcom.net>,
Sheldon Simms <sheldon@atlcom.net> wrote:
>In article <Pine.PMDF.3.91.961203203931.871576C-100000@OBERLIN.EDU>, Toby
>Reiter <str4552@OBERLIN.EDU> wrote:
>> In addition, I know a little about programming (I
>> am taking a class on C++ [essentially C] in college), but have no
>> understanding of assembly language or the IIgs toolbox.
>
>This is just a matter of experience. The Toolbox references generally seem
>to assume that you'll be programming in assembly language, although they
>do have C declarations for toolbox calls and data structures.
For C programming, the another useful form of "documentation" are the
header files. The Toolbox and other references tell you how routines
should behave, the header explicitly tells you the interface. Note that
in <gsos.h> there are generally two sets of calls and related parameter
blocks; the ProDOS version (such as "Create") and the GS/OS version (such
as "CreateGS"). You should use the latter as the former is only provided
for backward compatibility.
Also of use for C programming is (believe it or not) the Orca/M manual;
there are Orca/Shell calls that are only documented in the Orca/M manual.
>As for assembly, I personally don't think it's all that important *in
>general*. However, for Apple II computers it is pretty important.
>Understanding assembly language is the key to knowing how the machine
>actually works and figuring out just how did those FTA programmers do all
>that stuff?!
Agreed, with the caveat that you don't really have to understand assembly
when you're starting out. You can successfully write C programs on the
IIgs with few architecture-specific concerns (other than minimizing
stack usage). Assembly knowledge can be acquired as necessary/desired.
For someone who wants to write in C, there is rarely (if ever) a need
to revert to assembly if you're willing to take a run-time performance hit
(which in many cases is not significant anyway).
No, I don't want to start an assembly-or-C argument; if you're comfortable
with assembly, use it. The above para was aimed at C programmers like the
originator of this thread.
>All this makes me think of two things I think it would be nice to have
>for the IIgs, but I'm not holding my breath on either of them:
>1) A C++ compiler.
Having recently looked at C++ related problems from a compiler writer's
perspective, not only do I not believe we will ever have C++ for the IIgs,
I don't think I would recommend it either. There are various problems,
but they are in one way or another related to bloat code (memory
requirements, stack, excessive runtime indirection, etc). Further, I've
found that even an 8 CPU Power-PC 601 box with 1.5 Gb of RAM is sluggish
when doing C++ compilations of any decent size.
--
Devin Reade gdr@myrias.com