Xref: utzoo comp.sys.mac:28271 comp.sys.mac.programmer:4996 Path: utzoo!attcan!uunet!ncrlnk!ncrcae!ece-csc!jnh From: jnh@ece-csc.UUCP (Joseph Nathan Hall) Newsgroups: comp.sys.mac,comp.sys.mac.programmer Subject: Re: New Mac Programmer -- HELP! *Commentary added Keywords: Mac, Macintosh, Help, Programming, @%^#%$ Message-ID: <3949@ece-csc.UUCP> Date: 13 Mar 89 16:43:20 GMT References: <64@sppy00.UUCP> Reply-To: jnh@ece-csc.UUCP (Joseph Nathan Hall) Distribution: na Organization: North Carolina State University, Raleigh, NC Lines: 68 In article <64@sppy00.UUCP> jmv@sppy00.UUCP (Jim Vickroy) writes: >I hope I'm not the only one who has felt the ultimate frustration in moving >MS-DOS to the Mac. So I'm going to try tapping this wealth of information: > >Do anyone out there have a blow-by-blow procedure to: >1. Change the desktop icons from the defaults to custom icons? The method for doing this is described in Inside Macintosh II in the Finder section. Unfortunately this section is not particularly clearly written, and what should be one of the easier hurdles in creating a Mac application becomes a multiple-hour exercise in confusion for a beginning Mac programmer. If someone doesn't post a step-by-step description of how to do this in the next couple of days, I will. >2. Change the font of text in a window? > Easy. Use TextFont(fontnumber). See the QuickDraw chapter in IM I. >If these are really stupid questions please bare with me... (Taking off my clothes ... :-)) Seriously, folks. These are simple questions but unfortunately not stupid questions in the Mac programming world. I find it immensely frustrating sometimes trying to discern the *simplest* things about the Toolbox and OS calls. There isn't even a good description of what a complex, real-world event loop should look like in Apple's documentation. For example: IM I has a TextEdit chapter. But where does it say that lines in the TextEdit record are terminated in carriage returns? (What should I assume? Could be LFs, NULLs, whatever!) Where does it say whether the LineStarts are 0- or 1-based? (They're 0-based). Basic stuff, NOT documented in the primary reference. I've said before that I think the Tech Notes are an abomination. IM should have been a looseleaf set from the start. Tech Notes should exist only briefly between updates to IM. There should be no IM 4 and no IM 5 and thus no need for the silly cross-reference volumn. Furthermore, there should be GOOD examples of complex Pascal and C event loops available from Apple (in a book!)--something like a Macintosh Application Programmer's Guide. Not piecemeal (Programming for Multifinder-- yuck!), but a good, solid, systematic introduction to the event loop programming style, + common idiomatic techniques, readily available. You can't expect every future Mac applications programmer to be able to attend a college class, nor expect him/her to want to spend his time trying to find a good non-Apple reference (difficult since most of them are either inaccurate or out-of-date). After 10 years of programming on everything from TRS-80 Model 1s to 11/780s running VMS and 4.3BSD, I've found the Mac the most difficult and irritating environment of all to program in. I've also found the end results the most satisfying, which is why I put up with all the bull**** in the first place. But still ... what do we user/programmers have to do to get decent reference materials from Apple? Why do we join APDA, collect inaccurate/ inadequate textbooks, buy $200 of separately-bound IM and related reference works, collect Tech Notes, post questions on USENET, then STILL run into undocumented "features", bugs, inaccurate documentation (the new Sound Manager!), and inconsistencies? -- v v sssss|| joseph hall || 201-1D Hampton Lee Court v v s s || jnh@ece-csc.ncsu.edu (Internet) || Cary, NC 27511 v sss || the opinions expressed herein are not necessarily those of my -----------|| employer, north carolina state university . . . . . . . . . . .