Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!pasteur!cory.Berkeley.EDU!navas From: navas@cory.Berkeley.EDU (David C. Navas) Newsgroups: comp.sys.amiga.programmer Subject: Re: Hyper Functionality Summary: It's the future, so think about it for a minute. Message-ID: <12952@pasteur.Berkeley.EDU> Date: 23 Apr 91 00:01:09 GMT Sender: news@pasteur.Berkeley.EDU Reply-To: navas@cory.Berkeley.EDU Lines: 100 Copyright (C) 1991 by David C. Navas All Rights Reserved Rights to distribute all information herein are granted to Internet and connected nodes by the author, with the understanding that the rights to further distribute, sell or express said information contained within are reserved solely by said author. :) [I hate lawyer-speak] Sorry, but a bunch of this info is leading in the direction of some darn lucrative work for some, unnamed, programmer who is going to have a bunch of free time on his hands this summer -- and if things get organized well enough I'll try to publish something on this subject, so... [Actually, my work is rather orthogonal, but better not take any chances.] [Anyone know of a better way of expresing all that stupid stuff? I lost Mike Farren's fine example.] ---- In a previous article, Pete Goodeve writes to express why ARexx does not meet a specific set of opportunities, which I previosuly labelled "HyperFunctional." Now that's what I'm interested in. It's perfectly true that ARexx plus a whole lot of extra baggage and layers can give you similar things, but so could an Xserver -- and I ain't advocating that either for similar reasons. If you think of the evolution of computer science from a 21 year old's perspective (which I happen to do with relative ease :) ) in the following manner: Instruction Data | | Function Structure \ / \ / object-oriented integration of class/method/object One realizes that HyperLinks only seem to do half of the job: | HyperLinks ...that is, there's no equivalent definition for HyperFunctions! Seems to me to kludge that idea onto a text-only, macro-oriented *language* is a worse sham than adding object-oriented stuff to 'C'. ;) [Perhaps less upsetting would be to compare it to adding HyperLinks with 'grep'] We're not just talking adding interconnectivity between apps with ARexx ports. Let's talk about adding functionality to existing apps by run-time, even call-time, binding of program functions -- which would transparently allow those functions to work either within the thread of the process, or allow it to be exported to other programs. Without the programmer worrying about the details. Libraries *might* do for work within threads, but there are nasty problems with SetFunction()... ARexx *might* do for work between threads, but now we have two sets of interfaces to deal with -- low on the ZEN rating. The real problem with talking about this is that no reasonable user-interface spec has been created for the idea of Hyper-Functionality. What does it mean that a program *could* connect to a thesaurus if one was in the system? How does one anticipate that you might tell your WordProcessor to go and get a picture from VistPro [(C) HyperCube Engineering], which might be based on the imported data of some spreadsheet which held all the data for some raytracer -- which of course needs the abilities of an Interchange-clone.... What's the programmer's model for it? Sloughing off these details as a "user-problem" (as ARexx seems to do) is not only not acceptable (to me), but it's ignoring a realm of unexplored territory in the world of computer science. Not only that, it's a world which the Amiga is uniquely positioned to explore and exploit. Consider: the Amiga is the only popular system with a CPU-affordable inter-communicating environment. Workbench (tm of some branch of Commodore) is a better metaphor for taking a slew of "programs" and "building" a bigger, more powerful "program," than the desktop metaphor is. etc. etc. My dream is that when I add a spreadsheet to my system, *every* single program automatically has every ability that that spread-sheet has. I'm not sure how such things should be done, ARexx certainly has its place in that world. But it would be a pretty passive role -- certainly programming in REXX would, for the most part, be totally eliminated. Even worse is what the user-interface/metaphor would be. Personally I can see a rather large revolution/evolution on the way, and I wouldn't mind my favorite computer riding the wave... Make of all of this as you will -- maybe you think I should spend six weeks with a psychologist, maybe you think I'm Ted Nelson's half-cousin, but I'd love to see these concepts wrung for every idea contained therein. I happen to think that with the advent of ARexx, file notification, dynamic data exchange, etc. we are just starting to see the tip of an iceburg as big as Olympus Mons. As always, merely one man's inflated opinion. PS> Anyone know of a listing of Tymnet numbers? Later folks: David Navas navas@cory.berkeley.edu 2.0 :: "You can't have your cake and eat it too." Also try c186br@holden, c260-ay@ara and c184-ap@torus