[comp.sys.mac.programmer] References on Event-Driven Programming?

G.SIEGMAN@SCORE.STANFORD.EDU (Tony Siegman) (07/25/88)

Can anyone suggest useful references (books, articles) on event-driven
programming techniques?

My underlying interest is in programming the Mac, but I would like to find
any general references on program structuring programming style and
techniques in an event-driven environment: polling techniques, use of flags,
whatever else make for a well-structured event-driven program.

I don't normally have access to this newsgroup, and am having to post this
msg from an account I don't normally use.  If possible, pls reply directly to
SIEGMAN@SIERRA.STANFORD.EDU (Internet) as well as to this account.

Thanks...

siegman@sierra.STANFORD.EDU (siegman) (12/05/90)

In article <1990Dec4.011317.25224@panix.uucp> alexis@panix.uucp
(Alexis Rosen) writes:

>I have some friends who are struggling with "event driven programming" on
>PCs. They are clever enough to realize that that term is a complete red
>herring, and also clever enough to realize that us Mac types have already
>blazed this trail. So they are looking for some good books on the subject.
>
>...(They need)  an overview of programming theory and guidelines, including
>some definitions ... like "What's an event loop?" and "How should I
>organize my code?".

AMEN!!!  I've posted requests for references on exactly the same
thing, roughly a year apart, on Mac newsgroups for several years now,
and gotten nothing...and prowled technical bookstores looking in the
index of every book on programming for entries under "event driven
programming" and also found nothing, except the usual elementary
advice to "initialize, then set up a wait loop, wait for events, and
process 'em".  But how to structure an event-driven programming more
braodly -- no luck.

[Warning:  There is a kind of "event-driven programming" used in real
time systems that has little direct connection I can see with the
"USER-event-driven programming" needed for Macs.]

wieser@cs-sun-fsd.cpsc.ucalgary.ca (Bernhard Wieser) (12/05/90)

You have two options:
1) Look for books on event driven simulation
2) Look for books on computing theory containing finite automa

There are many, many books on both, some complete with examples
of how to implement finite state machines (effectively event driven).

(You could also start working in an object oriented language...)

-- 
(------------------------------------------------------------------------)
(    Bernie Wieser, wieser@cpsc.ucalgary.ca, BSWieser@uncamult.BITNET    )
(    4rth Year Dbl.Mgr Cpsc Clhc University of Calgary     |             )
(    S/H Developer Dept. of Psychology, "   "   "         \|/            )

Chris.Gehlker@p12.f56.n114.z1.fidonet.org (Chris Gehlker) (12/08/90)

> >I have some friends who are struggling with "event driven programming" on
> >PCs. They are clever enough to realize that that term is a complete red
> >herring, and also clever enough to realize that us Mac types have already
> >blazed this trail. So they are looking for some good books on the subject.
> >
> >...(They need)  an overview of programming theory and guidelines, including
 
> >some definitions ... like "What's an event loop?" and "How should I
> >organize my code?".
> 
> AMEN!!!  I've posted requests for references on exactly the same
> thing, roughly a year apart, on Mac newsgroups for several years now,
> and gotten nothing...and prowled technical bookstores looking in the
> index of every book on programming for entries under "event driven
> programming" and also found nothing, except the usual elementary
> advice to "initialize, then set up a wait loop, wait for events, and
> process 'em".  But how to structure an event-driven programming more
> braodly -- no luck.

Go get the latest DDJ and read the "Structured Programming" article.
If you want to do event driven programming on a PC, TurboVision sounds
like a good environment.  It's the TCL thingee that comes with Turbo
Pascal 6.0.

 

--  
Uucp: ...{gatech,ames,rutgers}!ncar!asuvax!stjhmc!56.12!Chris.Gehlker
Internet: Chris.Gehlker@p12.f56.n114.z1.fidonet.org