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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to