[comp.sys.mac.programmer] Getting started with Mac programming

cberg@leadsv.UUCP (Charles R Berg) (09/21/89)

I have an opportunity to port an MS-DOS application to the Macintosh.  I'm
motivated by a strong need for the program (and I only own a Mac), as well
as by the chance to make some money, and learn how to program the Mac.

I've been designing and building systems for 20 years.  I've programmed in
most all of the well-known languages, on most all of the well-known systems.
I'm not concerned by the level of difficulty.

BUT, clearly, the Macintosh is different than any other machine I've dealt
with, so the question is -

             What do I need to know to get started?

The application I need to port is written in 'c'.  What compilers are
available to me?  Where do I get them?  Obviously, the Mac user interface
is vastly different than the user interface in the existing code.  How do
you develop user interfaces on the Mac?  I'm assuming there are utilities to
do this interactively.  Where do I get them?

I'd appreciate any assistance anyone can offer.  Thanks.

Chuck Berg
leadsv!cberg

zben@umd5.umd.edu (Ben Cranston) (09/24/89)

In article <7893@leadsv.UUCP> cberg@leadsv.UUCP (Charles R Berg) writes:

> I have an opportunity to port an MS-DOS application to the Macintosh.  I'm
> motivated by a strong need for the program (and I only own a Mac), as well
> as by the chance to make some money, and learn how to program the Mac.

Throw away the main routine.  Attempt to make each functional capability
of the program into a subroutine.  Especially beware of situations in which
the control thread of the main routine ensures that the subroutines are
performed in a certain order.  In the Mac world, when you can do any menu
selction at any time, you may need additional control superstructure to
ensure the input data is present before a function subroutine can be called.

Actually, it's pretty grim to try to do porting.  Either you end up completely
rewriting the program anyway, or you end up with a mutant version with a
crippled user interface that nobody but its mother could love...

> I've been designing and building systems for 20 years.  I've programmed in
> most all of the well-known languages, on most all of the well-known systems.
> I'm not concerned by the level of difficulty.

I started out in 1969 doing assembly language on Unisys 1100s and have used
all the languages too, from applesoft basic on apple ][s to APL on Unisys.
You know how programming works, after the third or fourth assembly language
it's just memorizing new opcodes anyway.  We got involved with Macs in 1986
so there are people around with much more experience, but here's my two bits.

> BUT, clearly, the Macintosh is different than any other machine I've dealt
> with, so the question is -
>             What do I need to know to get started?

Memorize Inside Mac volumes I-V.  You cannot do ANYTHING without understanding
the managers.  If you use MultiFinder then read the Programmer's Guide To
Multifinder.  Get access to the Tech Notes if possible, there are over 250
and they contain real good stuff.

Because computers have traditionally talked over a single 7+-2 bit channel
to a (glass) TTY, everything you know is wrong.  Read and understand the
User Interface Guidelines.  If you ever mean to let anybody other than
yourself use your programs, be aware that any deviation whatsoever from these
guidelines stands out like a sore thumb.

> The application I need to port is written in 'c'.  What compilers are
> available to me?  Where do I get them? ...

IMHO Apple's own MPW is the best system, even though it takes a long time to
do a compile-link cycle, because it can easily integrate C, Pascal, and Asm
programs without funny manufacturer-specific goo.  There are third party
compilers available both as alternates for the standard C and Pascal compilers
and for other languages such as Modula 2.  You can get MPW and lots of other
Mac stuff from APDA, the Apple Programmer's and Developer's Association.

Beware, there was a BIG change in the way C is mated to the Mac environment
between MPW 2.0 and the current MPW 3.0 causing some compatability problems.

The Lightspeed Pascal and C from the Think company (which are now called
Think Pascal and Think C I believe) are also very well thought of.

> ...  Obviously, the Mac user interface
> is vastly different than the user interface in the existing code.  How do
> you develop user interfaces on the Mac?  I'm assuming there are utilities to
> do this interactively.  Where do I get them?

Uteelities???  Wee don't need no steeenking uteeelities???    :-)

Sorry.  Some people change their own oil, I make my own cables and write my
own code.  Perhaps somebody else in this group could survey the available
user interface cuisinarts...

> I'd appreciate any assistance anyone can offer.  Thanks.

"...people on the river are happy to give..." -Proud Mary, Ike and Tina Turner

People on this list are very good about helping out.  You may see a lot more
than just this message in response to your query.  Do you have an Internet
address?  Can I forward to leadsv through uunet.uu.net?
-- 
Sig     DS.L    ('ZBen')       ; Ben Cranston <zben@Trantor.UMD.EDU>
* Computer Science Center Network Infrastructures Group
* University of Maryland at College Park

sirkm@ssyx.ucsc.edu (Greg Anderson) (09/24/89)

In article <5366@umd5.umd.edu> zben@umd5.umd.edu (Ben Cranston) writes:
>In article <7893@leadsv.UUCP> cberg@leadsv.UUCP (Charles R Berg) writes:
>> I have an opportunity to port an MS-DOS application to the Macintosh.
>> I've been designing and building systems for 20 years.

>I started out in 1969 doing assembly language on Unisys 1100s .............
>Because computers have traditionally talked over a single 7+-2 bit channel
>to a (glass) TTY, everything you know is wrong.

My experience is closer to Ben Cranston's than Charles Berg's (minus the
twenty years experience!), so I thought I would add a few words as one
novice Mac programmer to another.  I just (well, a few part-time years ago)
moved from the 8-bit-byte-stream world to the event-driven Mac world,
and I don't think that everything is as tough as Charles Berg makes it
out to be.

No disrespect is intended.  Please take my aforementioned lack of experience
as a disclaimer against the advice I am about to offer.

>Memorize Inside Mac volumes I-V.

This, I think, is a bit severe.  I never tried to memorize IM, but when I
program the Mac, I have IM I-V sitting next to me all the time.  They have
indices, and I use them.  If I sat down to memorize IM I-V, I wouldn't get
anything done for three to six months.

Perhaps 'Real Mac Programmers' memorize IM before they write their first line
of code, but for your typical novice, IM is to massive to digest all in one
chunk.  Memorization will come automatically as you use it.

>You cannot do ANYTHING without understanding the managers.

... but you can ignore a manager until you have to use it.  I _still_ haven't
touched the font manager.  Obviously I've never written any code that changes
fonts, but when I do I'll dig into the font manager documentation.

The best thing about IM is that the beginning of each manager tells you
all the managers you need to know how to use before you can dig into the
one you WANT to use.

You do have to read the memory manager, the resource manager and the
event manager before you can do anything, though.  Did I miss a few?
Probably, but that will become apparent soon enough as you move on.  My
adivice is:  don't try to digest something until you need to use it.
The best way to learn how a manager works is to _turn it into working code_.
You can't do that if you're reading IM cover-to-cover, volume by volume.

>If you use MultiFinder then read the Programmer's Guide To Multifinder.

This is something I haven't done that I really think I should.  Is this
a tech note?  Where is it?

>Get access to the Tech Notes if possible, there are over 250
>and they contain real good stuff.

The best thing about the tech notes (especially the HyperCard version) is
that you really _can_ ignore the notes on subjects that don't concern you,
while topics of interest are readily available.  Use the tech notes.  You
can get them from apple.com.

>IMHO Apple's own MPW is the best system

Agree, if you have more than 1 meg of memory.  One note of evilness for
those comming from the IBM -- MPW C defines '\n' as a CR and '\r' as an
LF, which is exactly backwards from Real Life.  Since the Mac uses \r as
line separators, both anomolies tend to cancel each other out.

>> How do you develop user interfaces on the Mac?
>... I make my own cables and write my own code.

Actually, I've found sample code to be _very_ useful.  There are example
applications and DA's included with MPW, and I'm sure that the same is true
of LSC.

There's no way that I'm going to memorize the order to initialize the
various Macintosh managers.  I could look up the information in IM, but
it is so much easier to cut the init routine out of an existing application.
I don't believe this is dishonorable programming, and in the end, only
one person is credited with inventing the wheel anyway.  Use the information
at your disposal.


Macintosh programming looks really scarey at first, but as you go on
it becomes desceptively easy.  I looked at the list manager for the
first time last week, and had a working, scrolling list on the same
day.  It's not hard if you start with as little as possible and slowly
build your understanding along with the functionality of your program.

All of the information you need is in Inside Macintosh.  You don't need
to memorize it, it won't go away.  That, I think, is the best advice
I can offer.

  ___\    /___               Greg Anderson              ___\    /___ 
  \   \  /   /         Social Sciences Computing        \   \  /   /
   \  /\/\  /    University of California, Santa Cruz    \  /\/\  /
    \/    \/              sirkm@ssyx.ucsc.edu             \/    \/

dave@PRC.Unisys.COM (David Lee Matuszek) (09/25/89)

In article <7893@leadsv.UUCP> cberg@leadsv.UUCP (Charles R Berg) writes:

>I've been designing and building systems for 20 years.  I've programmed in
>most all of the well-known languages, on most all of the well-known systems.
>I'm not concerned by the level of difficulty.

I can relate to this.  I started in 1963, and I've programmed in
languages most programmers have never even heard of.  (I do have an
aversion to IBM, though, and only a couple of years' experience with
their machines and systems.)

I also have a full-time job, a wife with a full-time job, four kids,
and Suns at work.  This doesn't leave me much time, and the time I do
have is in small chunks at irregular intervals.  So it took me a
*long* time to climb up the steep learning curve of the Mac; I've
finally made it, but I'm still a real novice.

>BUT, clearly, the Macintosh is different than any other machine I've dealt
>with, so the question is -
>
>             What do I need to know to get started?

You *must* have Inside Mac.  There is no substitute.

In my experience, the first volume contains 90% of what I need to
know.  Most of the rest is in volume II, and I've hardly used III.
Volumes IV and V are more relevant to the SE and the MacII, but I have
only a lowly Mac+, so I haven't purchased them.  If you don't have a
lot of $$, you might wish to postpone getting the later volumes; but
sooner or later, you'll need them, so it's a matter of when to buy
them, not whether to buy them.

>The application I need to port is written in 'c'.  What compilers are
>available to me?  Where do I get them?

The only C compilers worth considering are Think C (formerly
Lightspeed C), and MPW C.  I'd get Think C; it's a super product, and
is substantially cheaper.  (Unfortunately, you need 2 Meg to make full
use of the symbolic debugger.)  I understand MPW has a bigger & better
support environment, and the environment is rather Unix-like, but this
is second-hand knowledge.

You have the same two basic options in Pascal, except that Think
Pascal's symbolic debugger fits very nicely on my 1 Meg machine.  I'm
not sure I could do it without a hard disk, though--I hope you have one.
You should be aware that, although you can program the Mac in either
language, the Macintosh ROM routines use Pascal calling conventions,
so it's a bit trickier in C.  Since your starting application is in C,
though, it's probably best to stick with it.

>  Obviously, the Mac user interface
>is vastly different than the user interface in the existing code.  How do
>you develop user interfaces on the Mac?  I'm assuming there are utilities to
>do this interactively.  Where do I get them?

Real Programmers don't use utilities.

As I mentioned earlier, I haven't been able to give Mac programming my
full attention.  There is a public domain (shareware?) program called
TransSkel, available in both C and Pascal versions, that is basically
a do-nothing skeleton that you can add to to make your own program.
This program may have helped others, but it wasn't enough for me.

What got me over the hump was Prototyper, by SmetherBarnes.  This is a
great interface-building program; works like MacDraw, handles
virtually all of the Mac user interface capabilities, generates C or
Pascal code suitable for any compiler you're likely to have.  Also
creates the resource files.  It has been criticized because it generates
redundant code--for every window you create, it generates very similar
code to open and handle the window--but I can live with that.  I have
found it very effective as a teaching tool;  if I want to do a
particular interface action, I have Prototyper generate the code for
just that thing.  Anyway, I highly recommend it.

>
>I'd appreciate any assistance anyone can offer.  Thanks.

A tip:  don't buy from stores, buy from one of the big mail-order
houses.  MacConnection (1-800-MAC-LISA) is my favorite.  Very
professional, great prices, great service, same-day shipping.

>Chuck Berg
>leadsv!cberg


-- Dave Matuszek (dave@prc.unisys.com)
-- Unisys Corp. / Paoli Research Center / PO Box 517 / Paoli PA  19301
-- Any resemblance between my opinions and those of my employer is improbable.
* 20th anniversary?  Yeah, but it's 17 years since the LAST man on the moon! *

sirkm@ssyx.ucsc.edu (Greg Anderson) (09/25/89)

In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM (David Lee Matuszek) writes:
>Real Programmers don't use utilities.

Hogwash.  Complete and utter nonsense.  If this were true, Real Programmers
wouldn't be using compilers either, they would still be hand-coding
everything in assembler.

>What got me over the hump was Prototyper, by SmetherBarnes.

Now you're saying your not a 'Real Programmer'?  Don't be so modest!

  ___\    /___               Greg Anderson              ___\    /___ 
  \   \  /   /         Social Sciences Computing        \   \  /   /
   \  /\/\  /    University of California, Santa Cruz    \  /\/\  /
    \/    \/              sirkm@ssyx.ucsc.edu             \/    \/

pepke@loligo (Eric Pepke) (09/26/89)

In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM (David Lee Matuszek) writes:
>You *must* have Inside Mac.  There is no substitute.
>
>In my experience, the first volume contains 90% of what I need to
>know.  Most of the rest is in volume II, and I've hardly used III.
>Volumes IV and V are more relevant to the SE and the MacII, but I have
>only a lowly Mac+, so I haven't purchased them.  

There is a lot of information in IV and V for Mac+'s, as well.  You should
have at least IV.  IMHO the most important things in IV are the List Manager
and the calls that let you open up a resource file read-only.  IV also has
the Hierarchical File System, but it is possible to write fully functional
applications without it.  For some strange reason, the pop-up and hierarchical
menu information is in V, but you can get that from other sources, such as
examples in the archives. 

The Inside Macintosh X-ref has a good list of global variables which you will
need before too long.

I would suggest that a programmer new to the Macintosh sit down and read at 
least these chapters before you start to write a program:

Inside Macintosh I- 1, 2, 3, 5, 6, 8, 9, 10, 11, 13, 14, 15, 20
Inside Macintosh II- 1

A lot of the packages interact in fundamental ways, and you have to get 
a feel for how an application hangs together before you can design one.

Next, sit down and write a skeleton.  Nothing fancy, just something that
can open up windows, pretend to open files of a certain type, support
desk accessories, ask the user whether to save changes, put up an About...
dialog, etc.  Once you have done a skeleton, you will have a much better 
feel for the flow of control in a Macintosh application.

Eric Pepke                                     INTERNET: pepke@gw.scri.fsu.edu
Supercomputer Computations Research Institute  MFENET:   pepke@fsu
Florida State University                       SPAN:     scri::pepke
Tallahassee, FL 32306-4052                     BITNET:   pepke@fsu

Disclaimer: My employers seldom even LISTEN to my opinions.
Meta-disclaimer: Any society that needs disclaimers has too many lawyers.

mnkonar@manyjars.SRC.Honeywell.COM (Murat N. Konar) (09/26/89)

In article <215@vsserv.scri.fsu.edu> pepke@loligo.UUCP (Eric Pepke) writes:
>In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM (David Lee Matuszek) writes:
>>You *must* have Inside Mac.  There is no substitute.
>>
>>In my experience, the first volume contains 90% of what I need to
>>know.  Most of the rest is in volume II, and I've hardly used III.
>>Volumes IV and V are more relevant to the SE and the MacII, but I have
>>only a lowly Mac+, so I haven't purchased them.  
>
>There is a lot of information in IV and V for Mac+'s, as well.  You should
>have at least IV.  IMHO the most important things in IV are the List Manager
[etc, etc]

I've said this plenty of times before but here goes anyway:

You can get started using "Macintosh Revealed" volumes 1 and 2 by Stephen
Chericoff.  This is how I got started.  It takes you through the step by
step construction of a simple Text editing program.  The code examples are
in Pascal and source code disks are available.

As you become more advanced, you'll want to get "Inside Mac" volumes 1,4,and 5.
These are the volumes that are at my side when I program.  The X-Ref is good too.

I've found that it's good to take things incrementally and not just jump in
and write a new filesystem  or something as your first project.  
comp.sys.mac.programmer is also good to follow because even if you don't
understand what's being discussed at the moment, it gets stuck in your
head somewhere and this seems to help out when you do finally get around to 
rewriting the operating system.:)

I recommend THINK's Pascal (or, C depending on your religon) as very good
reasonably priced development systems.

I have no connection with Symantec (publishers of THINK Pascal and C)
or Hayden Publishing (the Chernicoff books) except as a satisfied customer.


____________________________________________________________________
Have a day. :^|
Murat N. Konar        Honeywell Systems & Research Center, Camden, MN
mnkonar@SRC.honeywell.com (internet) {umn-cs,ems,bthpyd}!srcsip!mnkonar(UUCP)

wiechman@athos.rutgers.edu (NightMeower) (09/26/89)

Here's a vote for MacApp and OOP, and soon to be C++.  My first
program was written in an non-OOP and contains numerous bugs which
still haven't been tracked down.  After switching to MacApp, I'll
never go back.  It comes with many examples that demonstrate dialogs,
text editing, the important undo structure, and a solid but forgiving
library of routines.  Much of the information contained in IM 1-5 is
useful but can be gradually consumed rather than all at once with
MacApp since you need to only override things that you wish to change.
By gradually overridding things you can easily one thing at a time
leading to nice step-by-step refinement.  Each method has a clearly
defined purpose which gives you an idea of what it does plus with
"objectness" is easily reusable.

MacApp does have its drawbacks though.  You'll add quite a bit of size
to your final application but that can be made up for if you have many
similar actions.  MacApp is not designed for the next greatest selling
arcade game but is plenty fast enough for a word processor or
spreadsheet which need the undo function.

I am not an Apple employee so these comments are biased.


Kevin
-- 
===========================================================================
Kevin S. Wiechmann			arpa:  wiechman@rutgers.rutgers.edu

	 This is only a test... for the next sixty seconds...

russotto@wam.UMD.EDU (09/27/89)

In article <9209@saturn.ucsc.edu> sirkm@ssyx.ucsc.edu (Greg Anderson) writes:
>Hogwash.  Complete and utter nonsense.  If this were true, Real Programmers
>wouldn't be using compilers either, they would still be hand-coding
>everything in assembler.
>
>  ___\    /___               Greg Anderson              ___\    /___ 
>    \/    \/              sirkm@ssyx.ucsc.edu             \/    \/
Actually, Real Programmers program on the bare metal, using the front
panel toggle switches.
--
Disclaimer: I am not a Real Programmer

nilesinc@well.UUCP (Avi Rappoport) (09/29/89)

Not to be immodest, but I wrote a general article on just this topic in 
the most recent BMUG newsletter.  
 
It is somewhat out of date already: the Think C 4.0 objects have changed
a lot, and I may well write a second part for the next newsletter.  
 
BMUG is at 415/549-BMUG, mailing address: 1442A Walnut St. #62, Bekeley, CA
94709-1496.  email ARPA: bmug@garnet.berkeley.EDU, BITNET: bmug@ucbgarne 

a subscription is $40 per year, and you get 2 400-page newsletters and other 
good stuff.

Avi 
disclaimer: I'm editing the next newsletter (anyone want to write an article?)
and I'm on the Board of Directors.  No objectivity here whatsoever

mjm@eleazar.dartmouth.edu (Michael McClennen) (10/04/89)

In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM
(David Lee Matuszek) writes:

>You *must* have Inside Mac.  There is no substitute.
>
>In my experience, the first volume contains 90% of what I need to
>know.  Most of the rest is in volume II, and I've hardly used III.
>Volumes IV and V are more relevant to the SE and the MacII, but I have
>only a lowly Mac+, so I haven't purchased them.  If you don't have a
>lot of $$, you might wish to postpone getting the later volumes; but
>sooner or later, you'll need them, so it's a matter of when to buy
>them, not whether to buy them.

True, volume I does contain a lot of what you need to know, but a few critical
managers (memory, file i/o) are documented in vol. II.  And the worst is yet
to come:

MUCH OF VOLUMES I AND II IS OBSOLETE!!!!  EVEN IF YOU ARE WORKING ON A MAC+!!!

In particular, the file manager chapter in volume II is worthless
and should be torn out of the book.  It documents the original flat Macintosh
File System.  All of the original macintoshes that used that system either have
been or should be upgraded or thrown on the junkheap.  The current file i/o
system is documented in Inside Macintosh volume IV.  In fact, volume IV was
written for the Macintosh Plus in particular.  Volume V covers both the SE and
the II, so you don't need it if you are sure that your software is never going
to run on either of those machines.  Volume III is indeed of not very much use,
but if you're going to buy I and II (which you still need, since many of the
basic managers (window, menu, quickdraw, etc.) are documented there and nowhere
else, and haven't changed much) you might as well buy that one too.

To summarize, you need to buy I-IV, and probably V as well.

In addition, quite a bit of all five volumes is obsolete, inaccurate, garbled,
or just plain wrong.  So you need to get ahold of a complete set of Macintosh
Technical Notes as well.  There are 253 of them at last count, and more come
out quarterly, including revisions to old ones.  They are sometimes wrong too,
but at least they do get updated once in a while.  (Oh, you can order them
from Apple through their developers' organization, called APDA.)

Michael McClennen (mjm@dartmouth.edu)
Dartmouth College Academic Computing

rmh@apple.com (Rick Holzgrafe) (10/04/89)

In article <15913@dartvax.Dartmouth.EDU> mjm@eleazar.dartmouth.edu 
(Michael McClennen) writes:
> In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM
> (David Lee Matuszek) writes:
> 
> >You *must* have Inside Mac.  There is no substitute.
> >
> >In my experience, the first volume contains 90% of what I need to
> >know.  Most of the rest is in volume II, and I've hardly used III.
> >Volumes IV and V are more relevant to the SE and the MacII, but I have
> >only a lowly Mac+, so I haven't purchased them.  If you don't have a
> >lot of $$, you might wish to postpone getting the later volumes; but
> >sooner or later, you'll need them, so it's a matter of when to buy
> >them, not whether to buy them.
> 
> True, volume I does contain a lot of what you need to know, but a few 
critical
> managers (memory, file i/o) are documented in vol. II.  And the worst is 
yet
> to come:
> 
> MUCH OF VOLUMES I AND II IS OBSOLETE!!!!  EVEN IF YOU ARE WORKING ON A 
MAC+!!!
> 
> In particular, the file manager chapter in volume II is worthless
> and should be torn out of the book.  It documents the original flat 
Macintosh
> File System.

I have to agree with Mr. Matuszek, and disagree with Mr. McClennen's 
rebuttal. 90% of what you need is in Vol I,  and most of the rest is in 
Vol II. Eventually you'll want the rest, but a novice won't need them 
right away. (One error Mr. Matuszek made: Vol IV applies to the Mac Plus, 
and came out before the SE and II.)

The file manager chapter in volume II is not worthless. It is correct and 
usable as is, whether your file system is hierarchical (HFS) or flat 
(MFS). If you need to know about the special features of HFS, then you 
need Vol IV. But the majority of Mac applications work just fine with 
Standard File (Vol I) and the MFS File Manager (Vol II). And so they 
should: the flat file system still exists on single-sided floppies, and 
even the most modern applications on the latest machines will encounter 
them.

Most of Vols I - III is correct and still applies to modern machines and 
systems. But yes, there are some errors and updates. Mr. McClennen is 
correct to recommend the Tech Notes as a supplement to Inside Mac. Apple 
allows them to be freely copied and distributed, so they will cost you 
nothing but copy fees (Xerox, download time, whatever) if you can find 
anyone who has a set and will share. Or you can order them from APDA. New 
ones are posted to comp.binaries.mac as they become available.

==========================================================================
Rick Holzgrafe              |    {sun,voder,nsc,mtxinu,dual}!apple!rmh
Software Engineer           | AppleLink HOLZGRAFE1          rmh@apple.com
Apple Computer, Inc.        |  "All opinions expressed are mine, and do
20525 Mariani Ave. MS: 27-O |    not necessarily represent those of my
Cupertino, CA 95014         |        employer, Apple Computer Inc."

leipold@eplrx7.UUCP (leipold) (10/04/89)

In article <4543@internal.Apple.COM> rmh@apple.com (Rick Holzgrafe) writes:
>
>I have to agree with Mr. Matuszek, and disagree with Mr. McClennen's 
>rebuttal. 90% of what you need is in Vol I,  and most of the rest is in 
>Vol II. Eventually you'll want the rest, but a novice won't need them 
>right away. (One error Mr. Matuszek made: Vol IV applies to the Mac Plus, 
>and came out before the SE and II.)

This is the straight skinny!  When you're getting started in Mac programming,
you don't need highly-detailed, accurate information about every single
whiz-bang contraption on the latest high-end Macs; what you need is a
document that helps you build a correct mental model of the Macintosh.
Only after you have a valid model can you write software that will work.

And anyway, a lot of _good_ programs written before the introduction of the
Mac Plus (and IM vols 4 & 5) run on my IIcx today.

-- 
"As long as you've lit one candle,                         Walt Leipold
you're allowed to curse the darkness."       (leipolw%esvax@dupont.com)
--

kent@sunfs3.camex.uucp (Kent Borg) (10/06/89)

In article <15913@dartvax.Dartmouth.EDU> mjm@eleazar.dartmouth.edu (Michael McClennen) writes:
>In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM
>(David Lee Matuszek) writes:
>
>>You *must* have Inside Mac.  There is no substitute.

True.

>MUCH OF VOLUMES I AND II IS OBSOLETE!!!!  EVEN IF YOU ARE WORKING ON A MAC+!!!

True, but there is no need to scream at us.

>Volume V covers both the SE and the II, so you don't need it if you
>are sure that your software is never going to run on either of those
>machines.  

False.  Other than Color QuickDraw, nearly everything in Vol V now
applies to the Macintosh Plus--in fact to every Plus-or-later
Macintosh.

Patches are wonderful things.

-- 
Kent Borg				"Then again I could be foolish 
kent@lloyd.uucp				 not to quit while I'm ahead..."
or					     -from Evita (sung by Juan Peron)
...!husc6!lloyd!kent			 

siegel@endor.harvard.edu (Rich Siegel) (10/09/89)

In article <529@sunfs3.camex.uucp> kent@lloyd.UUCP (Kent Borg) writes:
>In article <15913@dartvax.Dartmouth.EDU> mjm@eleazar.dartmouth.edu (Michael McClennen) writes:
>>In article <11542@burdvax.PRC.Unisys.COM> dave@PRC.Unisys.COM
>>(David Lee Matuszek) writes:
>>
>>>You *must* have Inside Mac.  There is no substitute.
>
>True.
>
>>MUCH OF VOLUMES I AND II IS OBSOLETE!!!!  EVEN IF YOU ARE WORKING ON A MAC+!!!
>
>True, but there is no need to scream at us.

	False, and true. Volumes 1, 2, and 3 still constitute the standard
reference for things like the general user-interface guidelines, QuickDraw,
the Menu, Window, Control, Dialog, and VBL Managers, the Segment Loader,
and other useful things. Volume IV sports a rewritten File Manager chapter,
which is essential, since it supersedes and supplements the one in Volume II,
and other parts of Volume IV and V merely supplement basic information which
is presented in the first 3 volumes.

>>Volume V covers both the SE and the II, so you don't need it if you
>>are sure that your software is never going to run on either of those
>>machines.  
>
>False.  Other than Color QuickDraw, nearly everything in Vol V now
>applies to the Macintosh Plus--in fact to every Plus-or-later
>Macintosh.

Conditionally true - the non- color- and slot-related material is only relevant
if the Plus is running System 4.1 or later of the System software.

>Patches are wonderful things.

	True, if used correctly. :-)

~~~~~~~~~~~~~~~
 Rich Siegel
 Staff Software Developer
 Symantec Corporation, Language Products Group
 Internet: siegel@endor.harvard.edu
 UUCP: ..harvard!endor!siegel

"There is no personal problem which cannot be solved by sufficient
application of high explosives."

~~~~~~~~~~~~~~~