
1. | Welcome | ToC | FAQ
| Resources | Courses
| Projects | Mail
Lists | Members | Misc |
2. | Fundamentals | Languages
| Tools | Net
| Core | Advanced
|
3. | MacOS Core Programming |
4. | Prerequisites | Enrollment | Materials | Participation
| Lessons | Participants
| Credit |
MacOS Core Programming Course
Prerequisites
Programming Skills
The MacOS Core Course assumes that the student is already proficient
in either C or Pascal. All materials and example code are designed to illustrate
the specifics of using the managers and utilities provided by the MacOS
Toolbox to build applications for MacOS computers, not to teach general
programming techniques or programming language specific syntax or techniques.
If you are reasonably proficient in either C or Pascal you should have no
trouble with the course materials.
Knowledge of the Macintosh Human Interface Guidelines is important when
designing the user interface for a new application. Apple publishes specific
guidelines, but the knowledge gained from direct use of a few typical MacOS
applications is probably sufficient to keep most developers in sync with
the user's expectations for the behavior of a Macintosh application.
The MacOS was originally written in Pascal, and the syntax of system
calls sometimes show this origin. Pascal programmers will immediately recognize
some of the "types" used by the Mac OS managers. C language programmers
should take the time to learn the associated types (with special attention
to Pascal's length based approach to string handling). Most MacOS based
C language compilers provide versions of the headers that declare the common
structures in C syntax, but Apple and other third party supplied Mac Toolbox
documentation frequently is only available in the "Pascal" flavor.
Special note on the relevance of the "Standard C Library".
C programs generally rely on the "standard C library" (included
with the C compiler) for console input/output and to perform file I/O. While
most of the standard library is still useful, these two subsets of it are
rendered obsolete by the requirements of the Macintosh Human Interface Guidelines.
Console input/output has no relevance in the world of the Macintosh Graphical
User Interface, and Macintosh C demonstration programs utilise system software
routines from the MacOS Toolbox, rather than C standard library routines,
to effect both console and file input/output.
Programming Tools
The tools you will require for the Mac C Course are as follows:
- Development System. The Mac C Course necessarily involves running,
and experimenting with, the Macintosh C demonstration programs. Accordingly,
you will need to have and know how to use one of the following systems:
- Metrowerks CodeWarrior. All CodeWarrior variants will be suitable,
including the new beginner's package "Discover Programming for Macintosh".
The Metrowerks home page has full
details of the relevant Metrowerks products.
Special Note:
By special arrangement between The MOST and Metrowerks, bona fide MOST
students are eligible to purchase the Academic version of Codewarrior directly
from Metrowerks at student pricing. Please note that persons who are enrolled
in an accredited academic institution should use their status THERE to
qualify with Metrowerks instead of using their MOST status, as Metrowerks
has asked us to limit the number who qualify for this offer through us.
However, if you think that "Codewarrior Academic" is your best
bet as your primary development tool for taking a MOST course and you can't
afford the full professional version of Codewarrior but you can't otherwise
qualify for the academic pricing, send radar an email and he'll discuss
what it takes to qualify through the MOST. DISCLAIMER: The MOST, nor any
of our members, receive any compensation from this process, nor does this
offer constitute an endorsement of Metrowerks tools on the part of The
MOST. It's just a way to facilitate getting a suitable and affordable tool
into the hands of our students that was offered by a sympathetic vendor.
- Symantec's THINK C (preferably Version 6.0), or the later Symantec
products. Visit Symantec's home page
for information on their products.
Please note that the
THINK C edition of the course materials used in the MacOS Core course is
considered "frozen" by its author (K.J.Bricknell) and will not
be developed further. It will remain lodged in the 680X0 microprocessor
and pre-Universal Headers era in recognition of the many amateurs who are
quite happy to remain in that era. The THINK C edition will therefore not
carry you through to the PowerPC microprocessor era. Only the CodeWarrior
edition contains information on porting applications to the Power Macintosh,
and only the CodeWarrior edition will be further developed to accommodate
new versions of the Mac OS. The foregoing should not be interpreted as
representing an endorsement by either The MOST or the author of one development
system over the other. It is simply a statement of fact which prospective
students should take into account before deciding on which edition to download
and before procuring their development system.
- Resource Editor. You may not know what "Resources"
are yet, but you won't get very far in studying the MacOS before encountering
them, and the need for a tool to create and edit them. The resource editor
used in course materials is ResEdit (preferably Version 2.1.3) because
it is free. Of course, if you wish to use Resorcerer, that's fine
too. Most of the mentors, being MacOS developers, probably have a copy
of that excellent commercial utility also :-).
- On-Line Reference. You may be able to just get by without an
on-line reference in the very early stages, but you will need one eventually.
You can choose between:
- Symantec's disk-based THINK Reference, which is a little out-of
date but still extremely useful.
- Apple's CD-ROM-based Macintosh Programming Toolbox Assistant.
For additional detail on the tools and preparation required for this
course, see the preface
to the course text. Please note that this link takes you to the MacTech web site (the company that hosts
the text which is used for the course). Their company web site is *NOT*
part of the MOST, and has no links back to this page. If your browser does
not support a "Back" facility, please set a bookmark for this
spot before taking the above link.
Copyright
© 1996, 1997, 1998, 1999. Last Update to This
Page: 1999/04/18
This Page Maintained by: radar
pangaean * * * Original Author: radar
pangaean
The MOST web site is built and
maintained by the voluntary efforts/donations of our members.