Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!wuarchive!brutus.cs.uiuc.edu!apple!Apple.COM!lsr From: lsr@Apple.COM (Larry Rosenstein) Newsgroups: comp.sys.mac Subject: Re: Real Multifinder Message-ID: <3995@internal.Apple.COM> Date: 31 Aug 89 17:58:40 GMT Sender: usenet@Apple.COM Organization: Objects-R-Us, Apple Computer, Inc. Lines: 45 References:<46100321@uxe.cso.uiuc.edu> <1989Aug15.001507.14552@sj.ate.slb.com> <24626@iuvax.cs.indiana.edu> <3576@internal.Apple.COM> <1989Aug16.175351.24310@sj.ate.slb.com> In article <1989Aug16.175351.24310@sj.ate.slb.com> enk@corona (Edan Kabatchnik) writes: > Granted, (parts of) UNIX should be done away with. But, there is a > superior form to the main event loop: callbacks (found in X and Xerox I agree in general with your approach. A cleaner way to get the same affect, however, is to use an object-oriented language, and develop an application framework such as MacApp. Callbacks are just a hack to implement the same thing without special language constructs. The advantage of using an OO language, however, is that is much more natural to define methods than to specify call backs. It is easy to override a method and still execute the original version, which is not as straightforward using call backs. I also think that because defining new call backs is more tedious (in terms of bookkeeping and initialization) that there would be a tendency to define only high-level call backs (eg, menu-item-chosen). In MacApp, for example, there are several menu handling methods, which gives the developer more flexibility. > So much code has been written for the Macintosh which works without > callbacks, making it unlikely that future versions of the system will take > advantage of callbacks. But, if Apple could figure out a way of making both > systems work, then future programmers would be spared a great deal of pain. It probably wouldn't be hard to add some kind of call backs (there are some already for dialogs, for example). If a call back is installed then the system would take action otherwise it would do the current thing. Since Apple is already using OO languages, I doubt that you would see wide-scale use of call backs. On the other hand, there are packages built on top of the existing ROM which achieve the same results. MacApp is one that uses an OO language, but MacExpress is one that works with standard languages and uses call backs as you suggested. Larry Rosenstein, Apple Computer, Inc. Object Specialist Internet: lsr@Apple.com UUCP: {nsc, sun}!apple!lsr AppleLink: Rosenstein1