Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!sdcrdcf!trwrb!scgvaxd!ashtate!dbase!awd From: awd@dbase.UUCP (Alastair Dallas) Newsgroups: comp.sys.mac.programmer Subject: Re: Resource Manager (was Design Philosophy) Summary: Real World is more expedient Keywords: resources Message-ID: <405@dbase.UUCP> Date: 5 Jul 88 21:29:11 GMT References: <434@dogie.edu> <7146@cit-vax.Caltech.Edu> Organization: Ashton Tate Development Center Glendale Cal. Lines: 28 If you're writing a "real" Mac application, you want to end up with all of your string literals as resources, for translation. Likewise, people have come to expect that your menus will be resources, as well, for command-key customization. Last-minute tweaking is really much easier with ResEdit than with many full re-compiles. But just because you want to end up that way, doesn't mean it should be that way from the start. Many things are easier to do inline at first, to speed up turnaround time--to get something working quicker. Then, when you're real proud of yourself, take a day and strip out everything you can into resources. This is similar to the custom MDEF debate described in the great "Tear-Off Menu" article in MacTutor recently. The authors explain that Apple wants you to compile MDEFs as separate projects that create code resources that you link with your main project. The problem is that this is a real pain when you're first debugging, so the authors explain a way to get around this and leave the code in your main project until you're sure it works. The IBM-PC trend is toward resource file concepts, by the way. I just got a C library called "C-Worthy" from the Programmer's Shop which includes facilities for creating and maintaining separate resource files of string literals simply for ease of translation and last minute editing. Without getting specific, I think I can say that we lean toward this approach on dBASE IV. So tell your friend that this is not what the preprocessor is for. Turning your back on any facility that the target machine provides is definately not "real world." /alastair/