Path: utzoo!attcan!uunet!ginosko!uakari.primate.wisc.edu!uwm.edu!bionet!agate!saturn!ssyx.ucsc.edu!sirkm From: sirkm@ssyx.ucsc.edu (Greg Anderson) Newsgroups: comp.sys.mac.programmer Subject: Re: Getting started with Mac programming Message-ID: <9197@saturn.ucsc.edu> Date: 24 Sep 89 01:05:34 GMT References: <7893@leadsv.UUCP> <5366@umd5.umd.edu> Sender: usenet@saturn.ucsc.edu Reply-To: sirkm@ssyx.ucsc.edu (Greg Anderson) Distribution: na Organization: UC Santa Cruz; Division of Social Sciences Lines: 96 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 \/ \/