13 ms·
> It is widely used for a staggering array of tasks. Is it? What area are you in? In my hobbyist, college, and industry experience I've never seen anyone use e
by Miraste 6y ago
> It is widely used for a staggering array of tasks.
Is it? What area are you in? In my hobbyist, college, and industry experience I've never seen anyone use emacs for anything. I have seen Vim (or at least vim bindings) a few times, but I only know of emacs from older unix discussions online.
Edit: Looking through stack overflow developer surveys, emacs use is in 16th place for editor popularity at ~4.5% usage, but has stayed close to that number for years.
- Jtsummers 6y agoorg-mode and magit seem to bring in a lot of emacs users, even if they're only using one of those two things. If I stopped using emacs for code tomorrow, I'd still use org-mode and magit and still encourage others to do so as well, even if I also pushed a different editor or IDE for writing code.
- Mediterraneo10 6y agoMeanwhile, I’m always amazed how, on HN threads about Emacs, people talk about preferring the Vi family of editors. When I installed Linux on my computer two decades ago and had to learn *nix, my own (totally subjective) impression was that the Vi family was regarded as clunky and half-obsolete, about as much of a pain as editing in ed. As I began to contribute to the Free Software community, most of the other people I interacted with seemed to use Emacs. So, to find out that Vi is still used and loved in 2020 has been a shock.
- Skunkleton 6y agoI don't think many people are using Vi. Its more likely they are using vim or neovim, which are both far from clunky.
- spudlyo 6y agoI think the thing about Vi and Vim that has the most value in 2020 is not the software itself, but rather the keyboard-centric composable modal editing system that they popularized. Some of the growth that Emacs has enjoyed over the past several years is from folks who want the Vim style modal editing in an editor as customizable and extensible as Emacs. Emacs "distributions" such as Doom and Spacemacs cater to these folks.
- how_gauche 6y agoMany of us switched to evil mode because we got RSI from incorrectly chording all the time! C-a & C-e I'm looking at you
- pritovido 6y agoWhen I entered a technical University in Spain, all the masters(teachers that have done incredible things on their lives) used either Vim or Emacs. Most "normal" people just used other "more visual" editors. As I learned from the masters I started using more and more both vim for unix tasks and programming and emacs for lisp. Now I use 65%vim, 30% emacs, 5% other editors. Both of those editors are extremely powerful. But you need to know how to use them. It is not painful for the master to use them, in fact it is automatic and instantaneous and faster than any other editor, a thought becomes an action without conscious intervention, like you thing in playing Do minor in an instrument and your fingers do it automatically, you want to erase a line or replace a word, you think on it, is done. They are like musical instruments. You could have the best piano or violin in the world, if a mediocre player plays them, you get bad sound. Most people would be better served with a simple electronic piano or a tablet with lights that point to the next notes of the song, and auto correct them when they play a bad note.
- _benj 6y agoYour reference to musical instruments resonates with me (I play piano) and the fact that emacs call they keyboard bindings "chords" further complements that view. I guess the issue that is being handled here thought is that, just like the piano, the road for those actions to become unconscious is a long painful one. When I started using Golang for work the first thing that I did was buy GoLand from jetbrains. It just works, and I'm paid for "playing piano", not for "learning how to play piano" I wish I was able to use emacs professionally but until I'm able to dedicate (usually unpaid) time to learn it, it's just easier to use something else
- necubi 6y agoIt's really not that painful. In college I spent two weeks forcing myself to use emacs for everything. I printed out a reference card and unplugged my mouse to prevent cheating. It was not a productive two weeks, but afterwards I was proficient in emacs editing and have been ever since. (Of course true emacs mastery goes much deeper, but it really doesn't take that long to become proficient.)
- paledot 6y agoI came to vim (years ago now) because I was experiencing RSI from all of the chorded keyboard shortcuts I was using in Coda. Emacs doesn't help with that, but vim does (if you `map ; :`). Any editor feels clunky for the first week of using it, Vim and Emacs most of all. Nobody wastes the headspace in staying current on multiple editors. So I don't know that you'll ever see an objective comparison of the two. But they're both solid ways to write code, it just takes way too long to get either one dialed in to do the things we expect modern editors to do out of the box, like code completion.
- honr 6y agoHeh, most of my emacs shortcuts start with ; Perhaps ironically, mac OS text input boxes are where I use most of the traditional emacs C-/M- keybindings these days.
- bluenose69 6y agoI switched from emacs to vim for the same reason. I was doing a lot of typing, and my left hand started aching when I was stretching my fingers and eventually it just started aching all the time. So I thought, why not try vim, which I had used many decades before. Things were very slow for a few days, and there was a lot of swearing, as I got weird results from hitting a wrong key. But after about a week I was able to get along adequately, and after another one, I was at the point where I was making choices for optimal methods without really thinking about whether typing 2w would be better than holding j for a while. I think the key was that I made the switch during a vacation, when my workload was lower and I would not be so frustrated by learning enough that I could select between methods. Learning either vim or emacs in a rush is not good because you are likely to become habitualized on a small subset of methods, and will be blocked from learning other methods that will increase your productivity some day.
- nineteen999 6y agoI know I fell into it because I originally learnt UNIX on shitty XENIX servers which were basically AT&T SVR4 on x86. The internet and Linux weren't around then. Later on I had to work with a number of different versions of different UNIX platforms on a daily basis (Tru64, Solaris, HP-UX, AIX) as well as multiple varieties of Linux, and vi was a common denominator on all of them.
- umanwizard 6y agoFunnily enough, Bill Joy (creator of vi) said he would have made a modeless editor if he had thought of it, he just didn’t. I use vi-family editors for the same reason I use grep: it’s installed everywhere. I’m not religious about its benefits.
- liability 6y agoNov.el is my favorite ebook reader.
- jrimbault 6y agoJust to add links to the SO surveys mentionned here : - 2019: https://insights.stackoverflow.com/survey/2019#development-environments-and-tools https://insights.stackoverflow.com/survey/2019#development-e... - 2018: https://insights.stackoverflow.com/survey/2018#development-environments-and-tools https://insights.stackoverflow.com/survey/2018#development-e... - 2017: https://insights.stackoverflow.com/survey/2017#technology-_-most-popular-developer-environments-by-occupation https://insights.stackoverflow.com/survey/2017#technology-_-... - 2016: https://insights.stackoverflow.com/survey/2016#technology-development-environments https://insights.stackoverflow.com/survey/2016#technology-de... - 2015: https://insights.stackoverflow.com/survey/2015#tech-editor https://insights.stackoverflow.com/survey/2015#tech-editor What's really amazing is vscode just appearing out of nowhere (7% in 2016, 35% in 2018). Blindsiding everyone. Cross platform, excellent to good enough UI/UX (very much inspired by Sublime Text but free), easily extensible in a widely available (and widely taught) language. For better or for worse.
- coldtea 6y agoThe huge advantage of VSC: plugins can use HTML to implement whatever UI they want, from a workflow tool, to a test tool, to a Git graph view to a debugger data structure visualizer. And all that in widely-known to tons of people HTML/CSS. Never understood why other editors, like ST, didn't give more UI options (checkboxes, buttons, dropdowns, a canvas, etc) to plugin authors. Consider how clunky a lot of plugin interactions with limited UI widgets available to them are. But even if other editors started giving more freedom to design your plugin with more widgets etc, they could never beat the freedom HTML/CSS gives. The second huge advantage of VSC: Microsoft behind it updating it non-stop. TextMate stalled, ST seems abandoned for long stretches of time (and it's not like we "already solved code-editing, what more you want") because of lack of manpower, etc. The third advantage of VSC: first-class support for plugins, with "package manager" and storage built-in: plugin discovery, install, uninstall, enable/disable, configure, are all a click away. ST has this too, but not as refined as VSC, but more like a tacked-on text-based experience. Two more advantages of VSC: - remote development tools (MS). Code in your laptop, run/debug in SSH/Docker/WSL environment. - automatically saved/synced preferences. This came in in this release. I'm not in favor of Electron apps over native. But VSC is really that good.
- da39a3ee 6y agoThe hypothesis that Emacs is used for many things is consistent with the hypothesis that Emacs usage is rare. This is because many humans have existed over the years, so a staggering array of tasks can be addressed in even a small fraction of those person-years.
- quadrifoliate 6y ago> emacs use is in 16th place for editor popularity at ~4.5% usage, but has stayed close to that number for years. It is possible that "Stack Overflow surveys" select for programmers who tend not to use Emacs. For example, I use Emacs regularly and know what Stack Overflow is, but have never taken one of these surveys. I'm not even sure how they survey developers. Ask on some crufty mailing list and you probably will get a completely different distribution from the one they showed.
- oblio 6y agoThey probably just send a newsletter to StackOverflow users :-)
- quadrifoliate 6y agoEmacs users are probably more likely to unsubscribe to newsletters that they did not sign up for :) (On a side rant, I really dislike how a lot of websites have normalized “create an account on a website” to mean “Sign up for receiving a plethora of emails about everything the website and its creators are up to these days”)
- ryukafalz 6y ago>On a side rant, I really dislike how a lot of websites have normalized “create an account on a website” to mean “Sign up for receiving a plethora of emails about everything the website and its creators are up to these days” Hear, hear. If I get an email from a company whose newsletter I didn't sign up for, I immediately unsubscribe... but I really shouldn't have to.
- snazz 6y agoOne of the greatest parts about owning my own domain is using different email addresses for these random websites that want to blast me with newsletters. That way, I can just redirect spambotscrapinghn@snazz.xyz to the trash if they sold my email address or I start getting spam to that address. You can do the same thing in Gmail with the +, but some websites filter those out or don't allow them.
- oblio 6y agoI've personally known 2 Emacs users in my ~15 years in the industry. I've worked in Europe for various startups and a bunch of corporations. Both of them used it as a sort of hobby/side editor, their main money maker was an IDE (VS, IntelliJ). I've probably worked with 500 developers, if not more. My personal impression is that Emacs is like the Yeti of programming editors. Everybody has heard about it, few claim to have seen it and even fewer still can claim to have proof of the sighting :-)
- hnarayanan 6y agoI’m nearly 40 and I’ve used it as my primary text editor since I was a teen and daily for my job. For your anecdata collection.
- quadrifoliate 6y agoSince you mention IntelliJ, is it possible that the corporations you have worked in have been heavy on Java? JDEE (http://jdee.sourceforge.net/ http://jdee.sourceforge.net/) exists, but even I give up on Emacs when I want to write a lot of Java (and I use Emacs for literally everything else, including JS).
- schwartzworld 6y agoJS development in IntelliJ/WebStorm is an amazing experience. The refactoring features alone make it easy to write code without worrying about details like "where does the file go" or "what should I name this". You can get the code working and rename / move code with a single click later on, knowing the refactor will propagate through the app. The intellisense is amazing too. Start typing a method name and you see arguments with type annotations. it's overkill for scripting, but working on tangled legacy code it's very helpful.
- xapata 6y agoI've heard people say that, but what I find is that they pick shitty names and never refactor. I'm on a different team now. Most of us use vim.
- bryal 6y agoIn my uni, many professors used Emacs when demonstrating. For example, one course [0] used the Agda language [1] as a proof assistant. Afaik, the only good interactive Agda interface is the Emacs Agda mode [2]. Maybe you just live in a region of the world that happens to have a weak culture of using Emacs? [0] http://www.cse.chalmers.se/edu/year/2017/course/DAT350/ http://www.cse.chalmers.se/edu/year/2017/course/DAT350/ [1] https://wiki.portal.chalmers.se/agda/pmwiki.php https://wiki.portal.chalmers.se/agda/pmwiki.php [2] https://agda.readthedocs.io/en/latest/tools/emacs-mode.html https://agda.readthedocs.io/en/latest/tools/emacs-mode.html
- eigenhombre 6y agoHalf my fifteen-person team at work (in a fast-growing mid-size fintech company in Chicago) uses Emacs, for editing/testing/running code in several languages, interacting with Web services, running various shells, calendar functions, document writing including UML diagrams and mathematics typesetting, and personal planning (Org Mode). To do this, we collectively probably use about 0.1% of the publicly available extension packages for Emacs on MELPA. But the short summary is that most people use it for the various functions an IDE provides. The major difference between Emcs and other IDEs (VSCode, IntelliJ, ...) is that (a) it's often a little harder to get functionality that is provided out-of-the-box by another IDE, but (b) it's much easier (in some cases, infinitely easier) to implement workflows or functionality not already implemented by said IDE. As an example, I often run snippets of code and want to insert the result directly beneath the code in question (similar to Jupyter in Python, but for any language, in plain text, directly in my editor). A trivial amount of Emacs Lisp gave me that with minimal effort. If you like to have nearly absolute control of your editing experience, Emacs might be interesting to you. For most people starting out, who just want to get hacking on some code as quickly as possible, it is perhaps not the best fit.
- Igelau 6y agoI have a feeling the SO numbers aren't accounting for Org Mode users.
- doxanthropos 6y agoSame feeling, especially with the number of Org users that are not programmers, but just writers. There has been a time for me, when I used vim for programming and Emacs with Org Mode for structured texts, like essays and articles, so I can imagine there being a lot of people outside of the CS and dev bubble enjoying their Org Mode and not being counted by any survey.
- gnulinux 6y agoIs this a USA vs the rest thing? I've worked in many startups in the US and almost everyone uses emacs. Last few years, VSCode has been getting popular though. I had a similar experience when I was a student in UC Berkeley, although it seems like there were more vim users in school than in industry. Anyway, pretty much all my current coworkers use Emacs and I work in Boston, MA. Personally: I cannot imagine programming without emacs, to me programming is so strongly associated with emacs... Of course, I also understand that it's all personal preference.
- sokoloff 6y agoFrom your username and Boston's proximity to MIT and FSF, it's possible that your experience isn't totally representative. :) Mine isn't either and I find it hard to imagine owning a computer (or using git beyond the very basic operations) without having access to emacs, but it does seem likely that coworkers won't have completely independent text editor preferences. I would expect to see more VS and VSCode in the Redmond, WA area, even at places that aren't Microsoft.
- usr1106 6y ago> I've worked in many startups in the US and almost everyone uses emacs. Others claim the opposite. Maybe the contradiction is explained by the hiring culture. Startups with emacs users hire more emacs users. Not that they would make emacs usage an explicit criterion or even ask such interview question. But probably there are some properties over-represented in 4% (or whatever the figure is) of programmers that are emacs users. Disclaimer: Part-time emacs user since 1986 or so, full-time emacs user since 1989. Should spend some time to learn the newer features / customize it in a more compatible way with the rest of my software. I am lazy to make "another" editor as Stallman puts it even if I like Lisp hacking occasionally, but I would happily switch to a modernized configuration if it were available upstream.
- quanticle 6y agoThis is a "your tiny bubble vs. everyone else" thing. I'm a professional programmer in the US, and, even when I was working in a Clojure shop, I was the only emacs user. Think about that for a second: even working at a company where every dev is paid to write Lisp, I was the only one who bothered to set up emacs. The other developers were using the Clojure plugin for IntelliJ or the Calva plugin for Visual Studio Code. And, to be honest, I can't exactly blame them. I tried setting up Calva the other day, just to experiment, and its out-of-the-box experience was far better than emacs'. It was literally just a matter of installing the extension and loading a Clojure project (I was using Leiningen for my project definition, but Calva supports others as well). It brought up a REPL, it started doing autocomplete, and you could even hover over symbols to view their documentation. And none of this required any kind of manual configuration on the part of the user. At this point, I honestly can't really recommend emacs to any developer who doesn't already know how to use emacs. If you want to start programming, just download VSCode and get the plugins for your favorite language.
- agambrahma 6y agoIt has definitely been this way _as far back as I can remember_ (at least the last two decades). There have always been popular tools. Most of them haven't stuck around though. Emacs has. I wouldn't recommend using it right away though. Instead, I'd recommended accumulating some pain by using other popular editor-like,workflow-like,manipulation-like tools, because that might be the only way to appreciate what Emacs brings to the table. (though I have to acknowledge VSCode's achievement, gaining massive adoption in what has always been a fragmented space)
- dcolkitt 6y agoI've used emacs ever since college. I've tried a bunch of IDEs, VSCode, Sublime, Atom, even vim. They just never felt as comfortable as emacs in the terminal. I'm probably in the minority since, despite a decade-plus of use, I'm by no means a power user. I use a little bit of org-mode and babel here and there. I can hack around in elisp if I want to tweak a mode. But that's about it. To be honest, I don't even compile code or navigate the directory tree from inside emacs. That being said, two reasons I don't think I'll ever switch. One, the key bindings and commands just feel more elegant. Don't know if that's because they're locked into my muscle memory, or they're genuinely better. Two is that I live in the terminal. IDEs are great, but I much prefer just piping find to grep to sed or similar bash-fu, when I need to do something fancy.
- agumonkey 6y agobut how is % usage related to tasks ?
- ashtonkem 6y agoHeavily language dependent. I used nothing but Emacs until I switched over to Java, where IntelliJ is king. The level of Emacs usage I’ve seen depended a lot on what language was being used, it seemed much more popular for Python users than Ruby, for example.
- cozzyd 6y agoStrange, I feel like I'm in a minority among physicists for using vim instead of emacs. Many new students seem to prefer GUI editors though...
- eigenhombre 6y agoMakes me happy to hear some physicists still use Emacs. - Former physicist turned programmer
- logicprog 6y agoI use emacs for everything. I'm a hobbyist and computer science major (sophomore, undergraduate). Hell, I use emacs to edit the markdown that gets rendered to a predefined Latex template for my philosophy classes!
- chriswarbo 6y agoI've worked with many programmers who use Vim, although I've personally never grokked it. I've used Emacs for years for editing/programming, running shells and reading news/email. I've attended two universities in the UK and it was used by default for some of their programming/computational courses; this was in different departments (Physics and CS), a decade apart. Emacs has been used to build user interfaces (e.g. ProofGeneral, which was the de facto interface for theorem provers like Coq and Isabelle for many years). Some programming languages de-facto assume they're being written via their Emacs mode (notable Agda; similar to how some JVM languages assume they're being written in Eclipse or IntelliJ). Years ago I inherited an academic research project which happened to be written entirely in Emacs Lisp.
- dan-robertson 6y agoI think it hugely depends on the programming languages one uses (or used to use), as well as personal history. For example basically everyone learning lisp was, for a long time, encouraged to use emacs (I think this is still the case for Common Lisp but I’m not sure about other varieties). This makes for a pretty unpleasant lisp learning curve as most people are not already familiar with emacs. Other functional languages in the ML family may not be very similar to lisp in many important ways but because their lineage went back to lisp people and environments, emacs ended up usually being the editor with the best support, though this is less the case these days. If one looks at computer history there seem to be several versions of a cycle that looks like “crap underpowered computer slowly gets more features and better performance only to become outnumbered by a smaller slower cheaper computer.” Depending on where one fell in that cycle, emacs may not have been an option (eg if you were starting programming on dos or an early windows you likely wouldn’t be using emacs. If you were starting at the same time using a Unix workstation, emacs might be a reasonable or recommended choice). During the early naughties you were probably using windows and not exposed to emacs unless you worked on Unix/Linux based web backends.
- guenthert 6y agoYou're going way back in time there though. I started like the other kids in my generation with BASIC on 8bit home computers, but my first paying programming job (early nineties on a shared Unix workstation which crashed about once a day, much more reliable than the Windows PCs of that era), I was given the vi cheat sheet. At first I thought that was worse than CP/M, but it did grew on me quickly. At home I used Emacs on a PC with 8MiB RAM (and it wasn't constantly swapping). Emacs was perfectly usable there, but when using a 9600baud serial terminal, vi was snappier.