Mac's have a reputation for being the easiest computer to use, and the hardest to program. That perception comes from the fact that in addtion to making the logic of your program work, you have to interface with the user by way of standard routines that Apple has created and stored in the Apple ROM. These 4,000 routines, known collectively, as the Macintosh ToolBox present the user with a familiar interface and mean you don't have to create functions for drawing windows or menus, you just have to learn how to use Apple's.

Before you can learn to program the Mac, you have to know how to program in a more general sense. A program is like a recipe, it's instructions for the computer to follow to generate the results you desire. Before you can worry about what you're going to tell the computer to do, you have learn how to talk to the computer, you have to learn a language to write your recipe in.

We can't (easily) understand the computers language, and it would be slowed to a crawl if we tried to make it learn ours. So we compromise. We create langauges that are more efficient than our, but that we can understand better than the machines. Languages like C, C++, Pascal, Dylan, Fortran, Prograph, ADA, and others. Then we create our recipe in that language, and use a program to translate our recipe into the computers own language. That translation is called compiling, and the program that does it is called a compiler. To program a mac you're going to need a good compiler and a few other tools, that are collectively refered to as an IDE, or integrated development environment.

The most common language for programming the Mac is C. It's not the only one, but it's a good one, and pretty much the standard. Also it's a subclass of a more powerfull (and more difficult) language called C++ that is becoming the new standard for Mac programming, so if you learn C you have a usefull language to program the Mac in, and you're half way to learning a (debatebly) better one. There are a lot of good books to help you learn how to "talk" C. I've compiled some brief reviews of books on C and C++ that posted here for reference.

Once you've learned a language, the next step is applying that language to creating programs that have that Mac flavor, you know: windows, menus, dialogs... stuff like that. Apple has provided us with some help to do that. They've created a collection of around 4,000 functions in the Mac's ROM and OS that generate those interface elements and help you handle things like mouse clicks and dragging of icons - the Mac Toolbox. Learning the Mac Toolbox is hard, especially sense it's contantly changing.

Apple provides services for helping programmers: classes (both live and video taped), books, tools, documentation, and subscriptions to journals and tech mailings. All of this info can be got by calling APDA, or visiting Apple's developer sevices web site. You should also consider subscribing to the two leading Mac programming Journals: develop and MacTech Magazine.

There are many internet resources to tap into--and links to some of the most important are listed on my home page.

Anyway, that's the quick story. Hope it helps.



for site info contact: Nick.c DeMello