Path: utzoo!attcan!uunet!husc6!bloom-beacon!bu-cs!dartvax!eleazar.dartmouth.edu!ack From: ack@eleazar.dartmouth.edu (Andy J. Williams) Newsgroups: comp.sys.mac.programmer Subject: Re: Design Philosophy Message-ID: <9141@dartvax.Dartmouth.EDU> Date: 6 Jul 88 20:13:51 GMT References: <434@dogie.edu> Sender: news@dartvax.Dartmouth.EDU Reply-To: ack@eleazar.dartmouth.edu (Andy J. Williams) Organization: Kiewit Computation Center, Dartmouth College Lines: 42 In article <434@dogie.edu> terranova@vms.macc.wisc.edu writes: > A friend of mine recently expressed his disapproval of the standard >Macintosh program design. Rather than putting windows, menus, icons, >def procs, strings, controls, etc. in resources he would prefer to >hard code everything into the program and make heavy use of #define >statements. He would change the #defines instead of the resources. >"That's why they made the preprocessor." You would then have to compile seperate versions for each language. To enable someone in another country to use your program, you would have to compile a brand new program to do this. It is a piece of cake to go through resources and change them to be what you want them to be, in fact it would be trivial to write a program to go through all the String resources and ask you to change each one. No mucking with ResEdit. On another level, it separates the processing from the display. Things which get shown on the screen (dialogs, windows) are all defined here while the routines (code and such) are defined elsewhere (incidently, the code gets compiled into resources anyway) It allows the user access to the display and some control over it (although some program licenses say you cannot change this at all). It also places the design of display in a different realm. When I write a program, I do not need to muck with the display things. I design my interface on paper, or hypercard, then I create them in resedit. From then on, it is done. I just write my code to use the resources when displaying or getting info from the user. It seems to me a cleaner way to program. >------------------------+------------------------------------------------ >John C. Terranova | I'd start a revolution, but I don't have time. > CS, BS to be | --Billy Joel, "Close to the Boarderline" >------------------------+------------------------------------------------ -Andy Andy J. Williams '90 |Ack Systems: ack@eleazar.dartmouth.edu| _ /| Software Development +--------------------------------------+ \`o_O' ACK! Kiewit Computation Ctr |Hello. Set $NAME='Iinigo Montoya' You | ( ) / Dartmouth College |kill -9 my process. Prepare to vi. | U