4 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. Coun
by 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.
- rbanffy 16y agoIt's an apples to oranges comparison because Visual Studio is an IDE built for programming for Windows while Emacs is a text editor that can edit C++, Python, function as a Lisp IDE, edit org charts, browse the web, play music, read e-mail and typeset papers, among other things. It's, actually, a small OS built to emulate the OS Lisp machines ran. Emacs can be used as an IDE. I use it every day that way. I can use it like that because it's completely programmable. When I needed a Pyccuracy-specific editor, it took me an afternoon to write one (not from scratch) in Emacs-Lisp. I could probably have a spreadsheet inside it, if I really wanted. Try to build a Lisp IDE inside Excel... ;-) About the "go to definition" thing, it depends on what major/minor mode you are using. There is probably something like that for C-ish development. I just never used it. And for finding all files in a project, there must be something that parses makefiles and rounds up source files. Emacs is older than many of us and someone must have already solved this specific problem in the past 40 years. I am playing with "nav" in order to build special-purpose browsers. I would love to have a YQL-mode, but I feel I should replicate the multi-pane tool Yahoo makes availabe.
- sjs 16y agoHow many years of experience did you have using Windows before then? You had a lot of domain knowledge already whether you realize it or not. "The first time I used Emacs I found all kinds of Lisp functions I already knew. It has a familiar grep command that lets me click on results to jump right to each matching line in a set of files. I used the online help to find a command that evaluates Lisp expressions immediately allowing me to extend my environment just like typing into a REPL. ..." You probably get the idea.
- JoachimSchipper 16y agoCounter-counter-example: the ribbon. (No, I don't personally care. I don't use Word.)
- simonista 16y agoI don't think those are completely valid counter examples. Sure you can fire any one of them up and start using them for the most basic task for which they're suited, but to really interact with them takes time and learning. Just an anecdote: I work in a computer lab for these type of new users, and after being trained for many years to go to a file menu, the round button that serves as a menu access in Word 2010 trips a lot of people up. I get tons of "Where's the print button?" questions.
- briansmith 16y agoYeah, that's why I picked 2010. In 2010 the File menu is no longer the round button like in 2007; it is labeled "File" again. And, it is pretty clever, especially regarding printing; print preview is build right into the print dialog box and updated in real time as you change options. It's already saved me time & paper. Each cycle, Microsoft does usability tests with new users doing moderately complex stuff. One of their designers did a series of blog posts and videos about their approach to usability and usability testing for Office 2007 that was really interesting. The whole point of the Ribbon UI for Office 2007 and later was to make it easier for users to discover and use the advanced features of Office without training.
- bad_user 16y ago> I don't think those are completely valid counter examples Yes they are ... "really interacting with them" is not their purpose. You can open an Excel spreadsheet even if you haven't done so in your life and only have experience using Word ... you can move around, search for text, change styles, print. That's because it uses common interface elements that have been used for years. Yes, Office 2010 brings interface changes, but it's nothing to worry about ... once you clicked the round button once, you'll learn its position. It took me a whole week to not trip over C-x C-s in Emacs, or to remember C-x C-c, and I had to setup my own shortcuts for common stuff (like C-w which deletes the previous word ... as in Vim, because even if my life depended on it, I couldn't learn the Emacs shortcut). And I still don't know how to print from Emacs. We are talking about technically-inclined people here. Textmate is a lot more intuitive to use ... I'm still using Emacs because it is much more powerful, but boy what a painful experience it was the first months.
- rbanffy 16y agoI have used Visual Studio from 6 to 2005 and I never perceived it as simple. The editors may be easy to learn because they follow CUA conventions, as are the menus. But dig any deeper into the build system and you will quickly realize that the editor is the easy part of the job. You mistake the whole job for the easy part. Visual Studio (and Word, and Excel) are enormous tools with vast functionality. Yes, I am an Emacs user. Today I decided to add two more mouse gesture bindings to my init.el - scroll-wheel action when the pointer is in the mode line - in addition to the bunch I already have that make my life easier. And the kind of Lisp you have to master to do that is material for a 5 minute tutorial - in the end, two lines were added to the init.el file. They are very easy to understand, BTW: (global-set-key [mode-line mouse-4] 'next-buffer) (global-set-key [mode-line mouse-5] 'previous-buffer)
- bmj 16y agoI've been in the same boat, using Visual Studio for a long time. I agree that VS is an enormous, and I don't use it to its full advantage. The original author's point was, however, that getting Clojure running under emacs is less than simple for a new developer. Contrast that Visual Studio. I install VS2010 with the C# extensions, but then I want to do some F# development. I go to the MS site, download the extension (or use the MSDN disc I have stashed in my desk), install it, and away I go.
- rbanffy 16y agoHis point appears to be VS is easier to use for people familiar to VS. If you have two developers equally unfamiliar to their respective development environments, VS and, say, ClojureBox (a Clojure+Emacs combo), their learning curves won't be that different. Most probably, they will start with a book or something like that to learn the basics.
- KC8ZKF 16y agoBut, you wouldn't have to download anything to develop F# with emacs, because caml-mode is already there. Also, as much as Slime and and whatnot add to Clojure development, you don't need them. The lisp modes and inferior-lisp repl that ship with emacs work pretty darn well.