Reflecting on reflective computing.

David Jeske
Thu, 22 Oct 1998 14:33:57 -0700

On Thu, Oct 22, 1998 at 01:02:10PM -0700, David Manifold wrote:
> On Thu, 22 Oct 1998, Jecel Assumpcao Jr wrote:
> > If, in the other hand, I could
> > create tools that would allow me to reduce that average to just a
> > month per app, I would still come out four programs ahead even if
> > it took me 18 years to do it (still four years to go :-).
> Exactly.  And if we spend 50 years and end up with a product that allows
> programs to be built in seconds, we'll still be ahead!

What happens if we spend 50 years to write a product which allows
programs to be built in seconds, but programs are no longer useful in
50 years, because we've replaced computers with some suffuciently
different technology? :)

We really aught to be glad for all the practical (if inefficient)
applications being written out there today. If computers were still
limping along at a stage with no binary compatibility, and everything
in machine code, I doubt we would be sitting around talking about
object reflection.

> > Why not just layer these new things on top of Linux, you ask? After
> > all, DOS and Unix were able to add GUIs after the fact with no
> > problems, right? Of course, other things (multimedia, objects/components
> > and so on) were not as easy to patch into systems not originally
> > designed for them. 
> Right.  Traditional systems require additions to be layered.  This always
> seems to lead to bloat, unmaintainability, and makes code sharing
> difficult.  We believe that with a reflective architecture where every
> feature is treated orthogonally, users will be able to add or subtract
> components (even new ones they develop) while keeping a seamlessly
> integrated system.  For scalability and reuse it's important that the
> typesystem allow any object to attempt to treat any other object as its
> peer. 

There is another factor which I think comes into play, and that's
installed base. Even if your provide a much better functioning
replacement for what people are using today, there is still an
installed base of knowledge about how the old system works. As
primarily technical people, I think we forget all too easily that we
can build a better mousetrap in a day, but it takes alot longer than a
day to create a 'market' (whether it involves money, or just
customers) for a better mousetrap. 

I think that any early version of Tunes could easily exist within
another operating system, if only to piggyback on the installed base
which it has created. Of course, it wouldnt be 'Tunes' as a machine in
the purist sense, but then people would have time to retrain
themselves, or rather, unlearn their current installed base of
knowledge. To imply that Tunes must exist as a bare OS or nothing is
just elitist. 

So Tunes could exist on top of Linux as a platform, just as it could
exist on top of raw x86 PCs as a platform. (or a linux emulation
environment could exist within Tunes) Tunes could even be made to have
interoperability with Linux. However, when Tunes can do what all the
people on this list want it to do, using the 'interoperability with
linux' is going to be like to doing data transfer by "printing a
document, carrying it to another machine, and reentering it there".

David Jeske (N9LCA) + +