6 ms·
Any sufficiently complex system (whether it's a text editor, biological ecosystem, or vehicle) is going to be difficult to interact with for a new user. Emacs
by digitallogic 16y ago
Any sufficiently complex system (whether it's a text editor, biological ecosystem, or vehicle) is going to be difficult to interact with for a new user. Emacs is hard to do, well anything, the first time you fire it up, you're probably going to die in the Amazon if without a knowledgeable guide, and you're not going to be able to sit down at the controls of a fighter jet and just take off.
The trade of for this (is supposed to be) increased flexibility and power for the person interacting with the system once they are familiar with it. You can write elisp to automate tasks you do frequently, see animals in the rain forest not found in zoos, and do maneuvers that can't be approached with a Cessna.
Increased complexity of a system increases the possibilities for the user but also increases the difficulty of acclimation. This is a part of life and not specific to a text editor.
- dpritchett 16y agoClojure's ecosystem is more tightly coupled with emacs than it has to be. In my experience if you want to use the bleeding edge Clojure jars and tools you're best off sticking to emacs. This is an extra training burden for anyone who just wants to poke around in a REPL with some code completion and syntax highlighting capability. Here's my latest (failed) attempt to get VimClojure working with Clojure 1.2 (search for dpritchett): http://clojure-log.n01se.net/date/2010-05-13.html http://clojure-log.n01se.net/date/2010-05-13.html
- cemerick 16y agoBoth enclojure (for NetBeans) and counterclockwise (Eclipse) are solid environments that are being used full-time by a bunch of people. I've used the former for a long time, and am on the bleeding edge most of the time. Check 'em out. :-)
- swannodette 16y agoSigh, Clojure isn't tied to Emacs at all. The problem is rather how many people are on the mailing list or IRC channel who can help you with your less popular setup. You could of course save yourself oodles of time by sticking with one of the IDEs which are positively simple to setup or just using your favorite text editor and a regular REPL.
- dpritchett 16y agoCuriously it hadn't occurred to me to actually stick with a standalone REPL until I read Alex Miller's comment at the article suggesting just that. I am new to REPLs and to Java-based development and to emacs. When I read about the magic of the REPL's positive feedback loop it's easy for me to think that all of the pieces are equally valuable. It's been a few months now and I can see how just copying and pasting from vim into a standalone REPL wouldn't be a horrible way to go about building something. P.S. - Loved your enlive demo! Thank you for one of the best Clojure examples I've read.
- technomancy 16y ago> Curiously it hadn't occurred to me to actually stick with a standalone REPL The out-of-the-box repl experience on Clojure is really bad. In fact, it's so bad that one begins to suspect it's bad on purpose in order to encourage new users to get their editor integration working sooner rather than later.
- deleted 16y ago[deleted]
- briansmith 16y ago> Any sufficiently complex system (whether it's a text editor, biological ecosystem, or vehicle) is going to be difficult to interact with for a new user. Counterexamples: MS Visual Studio. MS Word 2010. MS Excel 2010.
- smhinsey 16y agoI say this as someone who has been working with MS technology for over a decade; once you get past the narrow confines of the sexy demo, VS is not all that friendly to the new user. This characteristic has always been one of my main gripes with VS. (Incidently, I often daydream about a parallel universe where instead of creating VS they decided to invest the same resources into emacs or vim.) Office is a much better example in my experience, particularly Excel.
- briansmith 16y agoI agree. Visual Studio doesn't make everything easy. But, I was shocked at how productive I was at using it immediately after opening it for the first time.
- brlewis 16y agoThose are not counterexamples. Any new user who could fire up those programs and do something useful could also fire up emacs and do something useful. Emacs does have menus at the top, you know.
- briansmith 16y agoHere's an example: I wanted to add TLS 1.1 support to NSS (Mozilla's security library). I downloaded the code, downloaded Visual Studio, and imported the source files into Visual Studio. Then, from the menu I was able to learn that F12 is "go to definition" and Ctrl+Alt+Shift is "go to declaration," which were huge time savers for navigating an unfamiliar codebase. All the other shortcuts I needed were the same as the shortcuts of every other program on my computer. Visual Studio also highlighted all kinds of syntactic and semantic errors in near real time as I edited the files, which saved me many compilation steps. And, it's updated-in-real-time autocomplete was a real time saver as well. As a result, I was able to complete the necessary changes to add TLS 1.1 support within hours of the first time I'd ever used Visual Studio. In contrast, I still don't know how to do "Go to Definition" in Emacs; in fact, I don't even know how to tell Emacs how to find all the source files for a project. I doubt I would have been able to complete the same task in the first day I'd used Emacs.
- shadowsun7 16y agoYou may want to look at the learning curves for most editors: http://farm4.static.flickr.com/3109/3251176498_c3485a55fb.jpg http://farm4.static.flickr.com/3109/3251176498_c3485a55fb.jp...
- joe_the_user 16y agoReally? I think a human being qualifies as a complex biological system. Oddly enough, I think a new user would rather interact with to a human than a cricket, a mouse trap or an old DOS machine (to name some simpler systems). Indeed, humans are rather clearly adapted to interact with other humans. So it's clearly possible to systems which are both extremely powerful and very easy to "use". We human clearly aren't yet at the point of easily constructing artifacts with this combination of power and usability but we shouldn't take that as proof of anything but our inability.
- radu_floricica 16y agoI'm sorry, but this simply doesn't apply here. The first rule of good UI design is to always go for the least surprising path. Emacs is anything but familiar for a first time user. Everything about it is different, including a huge number of things that don't need to be, like the basic shortcuts: copy/paste, save, search etc. I'd be _really_ interested in a .emacs with enough balls to break completely with tradition, even if it would sacrifice some of the most used current shortcuts. My meager attempts made it a lot easier in the beginning, because I could at least use instinctive shortcuts for save/load/compile etc. But I cheated: I used the old Borland standard (F2 save F3 load F9 compile). For the real deal you'd have to do something about the all-mighty C- shortcuts.
- regularfry 16y agoThere are projects around to do this sort of thing. EmacsW32 is one, but I don't know how much traction it has.