Ask Slashdot: Correlation Between Text Editor and Programming Language?
tyggna writes: "The flame wars of different shells and text editors have long been established, but my question is this: are text editors and various languages linked? Do the majority of Ruby programmers use Emacs? Are most Perl programmers using vim?
Please post your editor and language of choice in the comments."
Please post your editor and language of choice in the comments."
Some editors are more useful or even custom tailored for specific languages or functional areas, and naturally people who use those languages or work in those areas tend to gravitate towards them.
Some languages (like java) are almost unusable without one of several popular editors, which deal with a lot of the boilerplate and let you navigate around the kind of "a million small pieces" type code you get with java. You can code java in vim if you want to, but working on a large java project with vim is probably not a common practice (I'm sure several counter-examples will be provided below).
Apple is probably the king of the designated editor group, with microsoft coming in at a close second. These are relatively closed stacks and have purpose built (and pretty decent) tools to work with them, so most people do.
And then some languages (scripting languages, c/c++) are edited commonly with just about everything.
Outside specific editor features designed with a specific language in mind, or tools which require a specific editor, I don't think anything drives someone to use one generic editor over another one of similar capability. People chose vim vs emacs for non-language specific reasons (for example: number of attached hands).
Also this is a really lame question. Does anyone really care about editor flame wars any more? People use what they like, what works, or what they are mandated to.
In that order.
Uh, Linux geek since 1999.
C, vi. My IDE is make. Now get off my lawn!
"Please post your editor and language of choice in the comments."
O'Reilly and English
Coder's Stone: The programming language quick ref for iPad
I was an Emacs dude for a long time and still use it. Then I tried RubyMine, and eventually upgraded to IDEA. The IDE features are sometimes handy. I also use vi very regularly for quick edits of small scripts.
I would no more stick to one editor than I would stick to one programming language. Right tool for the job is the key.
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
There's always nano :)
I don't use one language, I don't use one machine, I don't use one operating system, I don't use one editor and I don't program into any language with just one of those editors. So, to me, the entire topic reduces to "That doesn't even make sense."
If I have to write a tool, I create a new buffer in emacs and have at it. If I'm standing in front of a machine fixing it, I'll reach for vi, only because it's on every platform.
I work in almost a 100% UNIX environment and what I generally see on people's desktops are: emacs, Eclipse (some flavor) and IntelliJ.
Yes Francis, the world has gone crazy.
See title
VS also handles javascript pretty well these days, so I rarely have to leave the VS bubble - which is nice, as VS is actually a pretty darn good IDE.
Very recently I've been fooling about with learning Android development, for which I use IDEA. It's no VS (I miss VS), but it's also no (major ew) Eclipse.
On the rare occasion that I have to edit some other type of code file (or the slightly less rare occasion that I have to edit an xml file), I use notepad++. Unless it's a really simple edit, in which case I use regular notepad.
On the rare occasion that I'm in a linux environment and I have to edit a text-type file, I use pico/nano, because screw emacs *and* VI. :p
Quill pen on papyrus. I have a dedicated typist to re-type all of it when I'm done into whatever editor it chooses. I also have a stenographer for when my hand gets tired. I never get compilation errors.
The G
Linux "experts" love to hate on nano because you don't need a cheat sheet to just start using it
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
Emacs is my editor of choice. As for language, I use whatever best suits the task at hand, most frequently: Perl, Ruby, Java, C, and JavaScript. And if I'm customizing emacs, I use lisp.
If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
Is not. But there's only a neutered version of vim too, so either way you're installing something.
Just a question. Is there anyone out there younger than around 40 who uses VIM because of their own choice? By that I mean, they at first turned on a Unix/Linux box, investigated some editors and chose VIM. Nearly everyone I know who uses VIM uses it because someone else originally made them use it and they stuck with it. I know this sounds like flamebait, but seriously, its an honest question.
It just seems like Emacs is a lot easier to learn because it one keystroke to get to a menu, and just another to get to a help system.
1: C++, C, Objective-C
2: LaTeX
3: Python
4: Bash
5: Text files
I used to use (also in Emacs):
1: Java
2: C#
3: Fortran
Emacs works for just about any language out there, I use variety of languages and a variety of different platforms, Emacs is the same on all of them and just works. 2:
Emacs does so much more than vi, and so much more than syntax highlighting. Though vim has been catching up (I think some people think vi and vim are the same thing) it still isn't quite up to what emacs does and I found it more difficult to customize (I turn off it's default syntax hilighting for creating an unreadable mess). Real vi doesn't support multiple view windows (though vim does), and definitely not multiple frames (separately placeable windows). Emacs has support for a huge number of languages, it had "plugins" before that concept was popularized, you can check code in and out, edit files on ftp servers, use it as a web browser, read man pages and info docs within the editor (vastly more convenient than using the command line), search and replace using regular expressions, easy to customize your own language style, integrates with compiler and debugger, has a class browser, you can play Zork on it, and the same basic keystrokes work for editing your comments in slashdot.
Yes, it seems like it does a lot, but it's a platform and not an editor. So why do people complain that emacs is big while not complaining that web browsers are getting too large and bulky for the display of static documents? Emacs really is not big anymore, maybe it was back when we had 2MB workstations, but compare it to the bulky modern apps that do far less like Word (seriously, some people use word as a program editor!). The memory hogs and performance killers I see today on my work computer are Outlook and Firefox.
But even if Emacs were reduced to being just an editor and doing only editing and related operations, I'd prefer it over other choices. I do use vi, but as the quick-and-dirty editor or when I'm on someone else's computer. Yes there are some things I wish Emacs did (or at least did without my writing a package for it) but there is so much muscle memory and experience with it that everything else is incredibly slow and clumsy in comparison.
Here is my problem in the vim-vs-emacs debate:
Vim is pretty much the standard vi/editor/$VISUAL on every Linux distribution I use. Emacs is usually an extra package. Therefore, vim is installed, while emacs is not.
Once you have mastered the basic commands of vi, and its mode dichotomy (edit/command) you can edit text in a very efficient manner. Not to mention the goodies of vim, such as "vim -d" or "vim -x". I am so used to vim that, these days, I find myself hitting the Escape key under Word or Firefox. And I still have a lot to learn!
Emacs, on the other hand, is a complex, jumbled mess, a crazy carpal-inducing kitchen sink of a program that requires you to master its twisted logic before you can actually benefit from all the lispy goodness hiding inside. In the meantime, if you master, let's say, about 20 commands under vim, you undertand that its power is in its own logic, so to speak. Vim is complex, but it seems to me much more predictable and logically organized than Emacs.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
If the editor really matters, you're not much of a programmer. Text is text -- any editor should do.
Don't confuse relying on IDE crutches with being an editor.
I do not fail; I succeed at finding out what does not work.
No love for nano?
No.
Copy Con > myjob.bat. Editing is for wimps.
Boobies never hurt anyone. - Sherry Glaser.
I mostly do Python, and for that I've moved almost exclusively to JetBrains' PyCharm IDE.
Guns don't kill people -- people kill people.
But the guns seem to help a bit. (apologies to Eddie Izzard)
You should also rule out people working on remote machines with slow / high latency connections. I tried emacs, various IDEs, but it quickly gets frustrating.
Bingo Dictionary - Pragmatist, n. A myopic idealist.
I picked up Vim on my own while in my early 30s, because I was curious. I had already used Emacs for months, and have tried many other editors for months or years at a time. Vim has a steep learning curve, but it ended up being mind-blowing. It's like connecting your brain directly to the computer. Once you have the muscle memory, you just think something and it happens with a few keystrokes. An experienced Vim user who is serious about learning the editor is probably faster than an experienced Emacs user. I'm not putting down Emacs, since I'm experimenting with a switch to Emacs/Evil, but modal editing is faster from what I've seen. For help in Vim while in the terminal, just type: ESC :h
Or just press F1 in Gvim. You can get to Gvim from Vim by typing: :gui
I'm 37 and use VIM for VHDL development. Most of my coworkers in their 30s use VIM or Emacs, while those in their 20s use Notepad++. This is for hardware engineers; I dunno what software uses.
It doesn't hurt to be nice.
Actually, I did use TECO on the PDP-6 until Stopgap was ready. I also coded in assembly language for the PDP-6/10, and in Gogol for the PDP-1. I used Bliss-36 to write a PDP-11 task builder that ran on the PDP-10, so a customer wouldn't have to take his KL10 down to run the PDP-11 TKB on the PDP-11 front end in order to build the DECnet code.
I never understood why a couple of GNU command line tools made it worth calling the OS GNU/Linux.
I'm told that they contributed a few libraries too, but with cryptic names like glibc they surely can't be that important.