Path: utzoo!utgpu!watmath!att!tut.cis.ohio-state.edu!unmvax!gatech!prism!loligo!pepke
From: pepke@loligo.cc.fsu.edu (Eric Pepke)
Newsgroups: comp.sys.mac
Subject: Re: Real Multifinder
Message-ID: <258@loligo.cc.fsu.edu>
Date: 17 Aug 89 13:49:39 GMT
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>
Reply-To: pepke@loligo.UUCP (Eric Pepke)
Organization: Supercomputer Computations Research Institute
Lines: 50

In article <1989Aug16.175351.24310@sj.ate.slb.com> enk@slcs.slb.com (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
>Artificial Intelligence Workstations from which the Macintosh developed its
>user interface.)  Instead of having to dispatch on every possible event in the
>main event loop, one establishes a hook that is automatically called when an
>event takes place.

Paul DuBois' TransSkel works a bit like this.  I used it for a couple of 
projects but then abandoned it because I prefer my way of doing cursor 
changes and menu updates.

>     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.

Do you really think so?  Sure, it took me a couple of weeks to figure out
how to design a main loop, but that was four years ago, and I only had
to do it once.  I had to make small changes for MultiFinder, but they had
more to do with keeping the clipboard clean than anything else.  Getting
a new main loop running from an old one now only takes me about 30 minutes
and is by far the least of my worries.  Compared to the task of designing
the interface, it is a triviality.

Having said that, I should also say that the Macintosh needs preemptive
multitasking.  It won't really affect my life very much--my Mac programs
tend to have a very similar structure to my IRIS programs--but it will
affect a lot of people.  Specifically, there are a lot of people who need
to use the Macintosh as a computer, as well as an "information appliance."
Many of them are not interested in analyzing and rethinking the algorithms
of 50,000-line FORTRAN numerical codes handed down from generation to 
generation, but they want to be able to run them in the background. In
many environments, such as the one in which I work, this is a major 
criterion for deciding which machine to buy.

Of course, the Apple folks tend not to think of themselves as competing
with so-called "workstations."  Then again, they have many tens of
thousands of bucks from us, at least, because Macintoshes are to some
degree competitive with workstations, regardless of what the marketing
types say.  If Apple have any sense, they will want people who can get
$30,000 grants to be their friends.

Eric Pepke                                     INTERNET: pepke@gw.scri.fsu.edu
Supercomputer Computations Research Institute  MFENET:   pepke@fsu
Florida State University                       SPAN:     scri::pepke
Tallahassee, FL 32306-4052                     BITNET:   pepke@fsu

Disclaimer: My employers seldom even LISTEN to my opinions.
Meta-disclaimer: Any society that needs disclaimers has too many lawyers.