* <<G1G.1395>> "The Complete Computing Environment"
Someone posted a
[[https://pump.ghic.org/diane/note/OPnRl0BXSK6YCno2_aSKiQ][note]]
about an all-Emacs-all-the-time environment, which led me to
[[http://doc.rix.si/cce/cce.html][The Complete Computing
Environment]], which looks like one man's attempt to add enough
features to Emacs that he'll almost never have to use any
"application software" again – something I think a lot of us wish
we could do.  Reading that page brought to mind my own search for the
best, most useful and general computing/writing environment, and my
fascination with the Canon Cat and Raskin's LEAP/Swift ideas which
ultimately led me to Emacs and Org-mode.

Over the years, I've kept coming back to language-based environments
like Smalltalk, Self, Symbolics Genera, and even Emacs, as the most
elegant solution to the computing problem.  What, you may ask, is
"the computing problem"?  This:

How do you maximize the user's ability to utilize the computer's
capability?

There are a few fundamental things: the user needs to be able to
program, and the user needs to be able to read and modify existing
programs.  Beyond that, you can go a million different ways, though.

A major component of the computing problem is system
comprehensibility.  In order for a person to fully utilize a system,
they have to understand it.  One thing that aids system
comprehensibility is to do the whole system in one language.
Smalltalk, Genera, Emacs all take this approach.  However, there's
certainly a case to be made for the value of being able to use
different languages in different domains.  UNIX, when done properly,
handles heterogeneity well; all sorts of programs, some compiled,
some interpreted, all in different languages, can be strung together
in user programs to perform powerful and complex tasks.  But, on the
system comprehensibility side, your average UNIX-like system is a
complete disaster these days.

As an aside: I've often mused over how you could sort-of fake an
object-oriented system by using directories as objects, executables
as methods, and files as properties.  You could create classes by
building an example directory structure with all the method and
property files, then instantiate new objects by copying that
directory structure to a new location.  You'd want to symlink the
methods back to the "class" files, so that changes in the methods
would propagate out to all of the objects in the system.

Anyway, back to Emacs.

Now, I'm an Emacs user.  I'm an Emacs fan, really.  I write in it, I
code in it, I do email and news in it, I do a little bit of file
management in it – Emacs is great.  But, I'm a visual artist, and
graphics are major part of my day-to-day life.  If I were going to go
whole-hog into building an operating environment out of one piece of
software, with one language, I think I'd try a web browser and do
everything in Javascript.

Speaking of Javascript, I've been hacking on the PROTODOCUPLEXTRON a
little bit over the past couple of days (last time I looked at it was
[[E1E.1950]]).  January/February seem to be the months that I always
come back to working on hypertext projects.  Tonight I've been
thinking about how I could use it as a testbed for making a
Xanalogical text editor.  I don't have a working Alph server right
now, but I'm just thinking about using an element inside of the HTML
file to hold all of the plain-text, and then work-out the tricky
parts of dynamically filling elements with transcluded text,
splitting elements to insert new text and committing that new text to
the heap of source text, getting transclusion source addresses of
selections, visualizing transclusions, and so-on.  I have
illustration work I need to be doing this month, but this is the kind
of stuff that's firing my imagination right now.

--
Excerpted from:

PUBLIC NOTES (G)
http://alph.laemeur.com/txt/PUBNOTES-G
©2016 Adam C. Moore (LÆMEUR) <[email protected]>