🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #12613

Re: Standard File Requesters

#12613
From: Stuart H. Ferguson
Date: Fri, 12 May 1989 06:01
56 lines
3331 bytes
+-- pds@quintus.UUCP (Peter Schachte) writes:
| shf@well.UUCP (Stuart H. Ferguson) writes:
| > How about a "filerequester.library?"
| 
| In article <> mp1u+@andrew.cmu.edu (Michael Portuesi) replies:
| >How about instead of a "filerequester.library", we create a shared
| >library named "intuitiontools.library", which contains some high-level
| >user interface tools for intuition.
| 
|  [...] By putting everything in one
| library, you either restrict its scope or burden the whole system with
| lots of code in memory when only a small part is needed.  Putting
| everything in one place (or few places) makes it painful to replace
| several parts of the system.

My reasoning exactly -- that's the purpose of putting the requester in
a library by itself.

| I think a better way to organize these things would be objects
| (classes).  A program would just create objects and send messages to
| them.  The methods (messages implementations) would be kept in something
| much like a library, and each actual instance would keep a pointer to
| its library.

This is a neat idea which I've been thinking about for a while now.
There are several problems, technical and social.  The technical problems
revolve around selecting a message-passing scheme.  My first thought
was to use the library structure itself as a dipatch table to 
enumerated methods.  This is very fast since all "messages" are really
just library calls at hard-coded offsets.  It's limited, however, in
that classes are strictly hierarchical and methods have to be nested.
Another approach would be to use symbolic message codes and have each
"message" to an object involve some sort of string or ID which would
be searched for by the object and passed on if unrecognized.  This is
not nearly as fast and is a lot more complex, but it is fully general
with regards to building subclasses and extending your superclasses. 
This scheme can be made fast, but at a price of complexity.
It also has a giant global namespace which I'm not so hot about.

Any ideas on that Peter?

The social problem is making it catch on.  I suppose if it is
useful enough people would use it, but for commercial applications ...
It's actually the social concerns that have me suggest a filereq.
library.  a) It can be done reasonably quickly. b) It's small and
unobtrusive -- you don't have to buy a whole philosophy to use it.
c) It encuurages the gifted "utility" writers to make their own.
d) If widely used, it shows off the advantage of having your application
broken up into lots of little cooperating bits.  (Once that idea is
sold, it's easier to sell a full-blown O-O system.)

Oh well, I'll leave the social aspects to another group -- this is
comp.sys.amiga.TECH!
-- 
		Stuart Ferguson		(shf@well.UUCP)
		Action by HAVOC
Technical Details
Message-ID: <11636@well.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!husc6!rutgers!apple!well!shf
References: <0914.AA0914@amigash> <941@sactoh0.UUCP> <11583@well.UUCP> <UYNn=hy00VsfE2FI4k@andrew.cmu.edu> <1051@quintus.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!husc6!rutgers!apple!well!shf
From: shf@well.UUCP (Stuart H. Ferguson)
Newsgroups: comp.sys.amiga.tech
Subject: Re: Standard File Requesters
Summary: It's an O-O world.
Message-ID: <11636@well.UUCP>
Date: 12 May 89 06:01:22 GMT
References: <0914.AA0914@amigash> <941@sactoh0.UUCP> <11583@well.UUCP> <UYNn=hy00VsfE2FI4k@andrew.cmu.edu> <1051@quintus.UUCP>
Reply-To: shf@well.UUCP (Stuart H. Ferguson)
Distribution: na
Organization: The Blue Planet
Lines: 56