4 ms·
Emacs is fairly impenetrable for the majority of computer users. Excel is far more familiar - it looks like a normal program, has context menus, and has a conce
by joppy 6y ago
Emacs is fairly impenetrable for the majority of computer users. Excel is far more familiar - it looks like a normal program, has context menus, and has a conceptually simple model of execution: you say what you want a cell to be, and it just automagically becomes that value. No lisp syntax or keyboard shortcuts need to be learned, and nothing new needs to be installed.
I agree that Emacs is more extensible, but it doesn’t make itself as available to regular computer users as something like Excel does.
- nescioquid 6y ago> ... [Emacs] doesn’t make itself as available to regular computer users as something like Excel does. The word "regular" is the load-bearing word in your argument. Your examples suggest that you feel end-user programming is not going on unless the user is taking advantage of some visual affordance like context menus to discover and use the program's capabilities. An online help system (as emacs offers) serves a similar purpose (that is, it similarly allows capabilities to be discovered). But punching in some emacs lisp to change the behavior of the editor does not, in your view, qualify as end-user programming? Maybe if you said it was not "regular end-user programming", I'd agree. Is the distinction useful? I don't know. edit: typos
- joppy 6y agoI guess my perspective is that end-user programming has to be easily discoverable and doable by end-users, and provide some method of progression from simple tasks up to more complicated ones (a perspective shared by the article authors). It’s not the visual affordance of the context menu that I think is good, it’s the progressiveness and discoverability. Sticking a manual in someone’s face is very different to them choosing to ask a certain UI element “what else can be done?” Of course punching in some emacs lisp qualifies as end-user programming, I’m just don’t think it will be a kind of programming accessible or available to the majority of end-users of computers.
- nescioquid 6y agoYeah, now that you mention "progressiveness", I see the distinction. You don't have to know how to accomplish the task in its entirety before you attempt it, and the system exposes more relevant affordances as you make progress on your task.