Article View: comp.lang.misc
Article #4918Re: software ICs vs. libraries
From: Ritchey Ruff
Date: Fri, 23 Oct 1987 14:25
Date: Fri, 23 Oct 1987 14:25
52 lines
3241 bytes
3241 bytes
In article <244@gethen.UUCP> farren@gethen.UUCP (Michael J. Farren) writes:
>In article <3349@uw-june.UUCP> bnfb@uw-june.UUCP (Bjorn Freeman-Benson) writes:
>>A "software-IC" would seem to be a more thoroughly thought out, better
>>designed, unit of software that could be used for multiple purposes.
>
> You have said that the Macintosh Toolbox routines aren't what you
>are talking about, and it seems to me that they, as well as the similar
>libraries available on most complex machines today...
>...If the routines are going
>to be flexible enough to be used for different purposes, they are also
>going to be complex enough to be difficult to use correctly for any of
>them. If they are simple enough to be used correctly by "the masses", as
>you put it, then it seems to me that they will also be much less flex-
>ible. How do you propose to solve this dilemma? Examples, please.
You asked for it! I have used both the Macintosh Toolbox routines
to work with windows and the Interlisp-D windowing system. Both will
do almost exactly the same types of things, but I can write a program
to do windowing in Interlisp-D about 10 times faster! The keys here
are -
(1) Graceful defaults - if I don't want to anything nonstandard
then all I do is make a simple call or two and there
it is. Scroll bars, selection, shrinking to an icon,
everything.
(2) Message-base paradigm - when I do want to do something
nonstandard I attach a function to the property
on a window. Lets say I want the mouse pointer
to change when it enters window A, I just putprop
a routine to do that on the "enter-window" property
of window A and now every time the mouse cursor enters
window A that function is called and the cursor changes.
All there is to it!!!
Example - I like the "zoom" feature for windows (moving quickly between
the last two window sizes). I wrote one for my mac (after I
was an experienced mac-hack) and it took me about 2 days. I wrote
one as a first windowing program for Interlisp-D and it took
about 3 hour. The mac one is buggy and the Interlisp-D
one has not been touched after that 3 hours work.
I'm ramblin' on so will wrap it up saying "what you want is not JUST
a powerful interface, but a WELL THOUGHT OUT powerful interface. This
does not mean one that does everything you want: it means one that does
everything you want with the LEAST amount of programming effort." (That's
the hard part.)
--ritchey ruff
ruffwork@cs.orst.edu
{ hp-pcd | tektronix }!orstcs!ruffwork
It's against my programming to impersonate a diety!
-- C3PO
Technical Details
Message-ID:
<700@orstcs.CS.ORST.EDU>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!orstcs!ruffworkReferences:
<3405@ece-csc.UUCP> <638@its63b.ed.ac.uk>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!orstcs!ruffwork From: ruffwork@orstcs.CS.ORST.EDU (Ritchey Ruff) Newsgroups: comp.lang.misc Subject: Re: software ICs vs. libraries Message-ID: <700@orstcs.CS.ORST.EDU> Date: Fri, 23-Oct-87 09:25:52 EST Article-I.D.: orstcs.700 Posted: Fri Oct 23 09:25:52 1987 Date-Received: Sun, 25-Oct-87 15:37:19 EST References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk> Reply-To: ruffwork@orstcs.CS.ORST.EDU.UUCP (Ritchey Ruff) Organization: Oregon State University - CS - Corvallis, Oregon Lines: 52