🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #3829

Re: Real Multifinder

#3829
From: Larry Rosenstein
Date: Thu, 31 Aug 1989 17:58
45 lines
2695 bytes
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
Technical Details
Message-ID: <3995@internal.Apple.COM>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!wuarchive!brutus.cs.uiuc.edu!apple!Apple.COM!lsr
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>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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>