On Jul 26, 2013, at 3:02 AM, Andrew Inggs wrote:
> On 25 July 2013 21:55, Lee Spector wrote:
>> For Sean or anyone who finds Sean's narrative compelling (I do), imagine
>> emacs without the learning curve! I say it's possible and I point to the
>> long-extinct FRED (Fred Resembles Emacs Deliberately) that was part of
>> Macintosh Common Lisp as a proof of principle. I don't have the time or
>> chops to develop such a thing, but if anyone here does then this would be a
>> way to make the world a better place.
>
> Have you heard of Deuce by Håkan Råberg? He gave a talk on it at Skills
> Matter London. It not usable yet, but it looks promising.
I hadn't and yes it looks interesting to me too, although it's only addressing
part of what I'm suggesting (and what FRED did, in Common Lisp). It's about
making emacs work on a Clojure/JVM foundation, and that's great, but the main
reason I think that FRED was "emacs without the learning curve" has to do with
its GUI.
FRED used totally normal and expected GUI conventions, which users would know
from any other application on the platform (Mac OS), so that any new user could
use it and access all of its main functionality without dealing with any exotic
GUI concepts (e.g. hidden buffers in windows, key chords, etc.).
All of emacs's power was there, and it could be deployed with key chords etc.
if you wanted to (and extended with Common Lisp). But most of the core
functionality could also be deployed (and discovered!) through platform-normal
GUI elements like separate windows and menus and dialogs (which didn't really
exist when emacs was first developed; some of emacs's GUI conventions are good
ideas, but many are just historical artifacts).
For example, in FRED standard dialogs were used for standard interactions (e.g.
opening files) and new information would appear in new windows (could be tabs
instead these days, I guess) rather than hiding a current buffer in a current
window. You selected buffers by clicking on windows, just as you would in any
other application. You could click on a function and use platform-obvious menus
to get to the function's documentation or definition or a related namespace
search ("apropos" in Common Lisp). Errors would produce a scrollable/clickable
stack backtrace in a new window, which you could browse, click to see stack
frames with local variable values, etc. You could select an expression in a
Lisp buffer by double-clicking on one of its delimiters. Etc.
The key thing here is that all of that powerful emacs-like functionality was
and could conceivably again be offered in a way that follows reasonably
standard GUI conventions, so that new users basically know how to use it before
they use it, and they can figure out more as they go along. They don't need
cheat sheets or a taste for adventure. And they can install and use the system,
with most of its most commonly used functions, without knowing anything exotic,
and learn more as they go, discovering things via platform-standard GUI
elements.
Several Clojure IDEs seem to be getting much better with respect to
GUI/usability/learning curve issues, but my point was that there's no reason
(in principle :-) that one couldn't build a Clojure programming environment
that really is essentially emacs, with all of its power, but also really has
essentially no learning curve. I know of some projects that have made it much
easier to download/install emacs environments for Clojure, and there are also
some versions of emacs out there with platform-natural menus, but I don't know
of any projects dedicated to providing a complete emacs-based Clojure
environment with the usability and lack of learning curve of FRED. And I do
think this would be a beautiful thing to have in the community!
-Lee
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.