

Ask Slashdot: Correlation Between Text Editor and Programming Language? 359
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."
Uh, sure.. (Score:5, Insightful)
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.
Re:Uh, sure.. (Score:5, Insightful)
I think we should close the comments here. The parent covered all the important points.
Re: (Score:3, Insightful)
No, he missed at least one reason why scripting and c/c++ languages are commonly edited with just about anything. They're too complex or lack the proper hints to allow easily creatable intelligent tooling. Another factor is timing. Developers starting on Emacs/VI when there was nothing else around kept with those tools. Newer developers grab the newer tools and stick with those. I'd bet the older languages are more commonly edited in text editors compared to newer languages. The exception to this is w
Re: Uh, sure.. (Score:4, Insightful)
Seriously. While I've done small C/C++ programs with just a text editor, and IDE is virtually a must for any sort of medium to large sized project.
Re: (Score:2, Insightful)
Wut. Visual Studio is light years ahead of any other IDE anywhere
Re: (Score:3, Insightful)
I meant as far as having a "one true editor".
Visual studio is popular for windows development, but there are also plenty of popular alternatives.
Does anyone do any kind of development for apple without using xcode? I've never even heard of another editor in common use on apple.
Re: (Score:2)
BBEdit gets a fair amount of use as well. Some versions of xcode will even emulate BBEdit commands, if you set the right option. (And may have the option to directly substitute BBEdit as the main text editor.)
But I get your point: If you are writing in Obj-C, you are probably using xcode, because you are almost certainly developing for either Mac or iOS, and that is where you need to be.
Re:Uh, sure.. (Score:4, Insightful)
Apple is probably the king of the designated editor group, with microsoft coming in at a close second Wut. Visual Studio is light years ahead of any other IDE anywhere
This is the correct answer. IDGAF what anyone says about it, VS has no equal. That debugger is as close to magic as I've seen a computer come.
Re: (Score:3)
Re:Uh, sure.. (Score:5, Insightful)
Obviously false.
Emacs comes with a built-in psychoanalyst - a critical feature for any experienced developer. Especially one using Emacs.
Visual Studio lacks such a feature, so the logical conclusion is that developers using Visual Studio are simply inexperienced.
Although, to be fair, Emacs isn't properly an IDE, it's an OS that comes with IDE features.
Re:Uh, sure.. (Score:4, Funny)
And there's even a vi plugin for it that turns it into a text editor!
Re: (Score:3, Funny)
Emacs *does* come with a built in psychoanalyst. Press ESC x doctor ENTER. Please do it now; you need it.
Re:Uh, sure.. (Score:4, Informative)
He's not joking.
Open emacs.
Type the command "xdoctor".
Best part: no copay.
Re: (Score:3)
Wut. Visual Studio is light years ahead of any other IDE anywhere
Regardless of whether you are being serious or facetious, editor != IDE.
Lots of languages are primarily developed in "simple" text editors, which have a plugin or two for syntax highlighting and maybe a couple of other bells and whistles, but which are a far cry from a full-blown IDE.
The majority of Ruby programmers likely use TextMate, SublimeText, VIM, or similar. Emacs is used too but is probably not as common as those others.
But the editor space has become much more fragmented in the last few y
Re:Uh, sure.. (Score:4, Informative)
Re: (Score:3)
Re: (Score:2)
Weird, I only used it for C++ from 1.5 until VS 2010. The only time I had the problems you're describing are when the intellisense files were being invalidated because people were storing them (*.ncb) in source control and this was confusing my local VC++ setup.
I'm pretty sure you could turn off intellisense in 2003 and 2005 (don't recall with 2008 onwards though.)
Re: (Score:2)
> VS is perfectly fine & performs well for C#. 2008 and earlier absolutely sucked for C++ (I've not done C++ in VS2013), because of intellisense, which you cannot turn off.
Yes, you can. Microsoft doesn't officially support it but it is not that hard.
http://stackoverflow.com/quest... [stackoverflow.com]
Re: (Score:3)
Small disclaimer: I am part of the C++ standards committee, know a couple of the people behind MSVC, am a Boost contributor, and I am one of the founders of a company specialized in software optimization, in particular by designing domain-specific C++ tools.
MSVC is a terrible compiler, be it at standard compliance, compilation speed, diagnostics or optimization. Its standard library, despite the best intents of its author, is also full of bugs and is developed using fairly antiquated C++ techniques.
Intel is
Re:Uh, sure.. (Score:4, Insightful)
No. The typical 486 motherboard had 4 simm slots. Anybody who didn't populate them with 4MB simms was a fucking idiot.
Or in college. Or just "not rich."
This was back before remember prices came down, in the early 90s memory was still f'ing expensive.
I remember I could start a kernel compile when I went to bed and wake up to find it still going thanks to the hard drive thrashing.
I scrimped and saved and managed to double my ram to 8 MB. Kernel compiles took about 1/4 the time after that. I still couldn't run both X and a compile at the same time though...
Re: (Score:2)
Granted VS can be pretty annoying, it shouldn't be hanging crashing that much. Extensions, even the really cool looking ones, have stability issues. I used to have more issues until I ditched almost all the extensions I had installed.
Do you have it setup to get-latest from TFS on solution open? I only get latest before I checkin to verify that there are no conflicts. This minimizes changes and dependency rebuilds. Sure YOU didn't change anything, but if you have it configured to get latest when you ope
Re: (Score:2)
As a long time VisualStudio user I find your problems to be rather 'bizarre' to say the least. I use many IDEs on a day to day basis from XCode, Eclipse, MonoDevelop, Emacs, KDevelop (only for one old project), and VisualStudio 2008, 2010, and 2012. It depends upon what platforms I'm building for.
I have a rather large Visual Studio solution that contains more than 30 projects including web services, DLLs, controls, assemblies, client applications, and COM/DCOM objects, and it takes about 5 seconds to star
Re: (Score:2)
The main problem I have with Eclipse is its insistence on putting absolute paths into .project and .cproject files.
Makes it difficult to clone a project, or have it in source control.
Re: (Score:2)
(for example: number of attached hands).
This was written to satirize the number of huge emacs chords, but is actually a valid point: since I only have one hand capable of keyboarding, emacs is a non-starter for me.
Re: (Score:2)
Re: (Score:2)
Emacs, vi, IDE (Score:4, Insightful)
In that order.
Re: vi, Emacs or IDE (Score:2)
In that order.
FIFY.... (IMHO)
Everybody doing Linux work needs to know VI, at least well enough to get Emacs running. If you want to do an IDE, you are going to need X which used to require editing that huge config file where I used VI. Why bother with Emacs, unless you write LISP code anyway... Syntax highlighting? Does that even work in the terminal version?
Re: (Score:3)
There's always nano :)
Re: (Score:3, Funny)
Re: (Score:2)
Not in the default minimum install of Red Hat 6... (or is it?)
Re: (Score:3, Informative)
Re: (Score:2)
Yes, it works on the terminal. Autocompletion, and real time compiling also do.
Re: (Score:3)
Re: (Score:2)
Why would you run any editor but GNU Emacs on a GNU/Linux system? Vi is not GNU.
Have you tried gvim?
(ducks before he gets yelled at for making people launch that abomination in X)
Re: vi, Emacs or IDE (Score:4, Insightful)
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.
Re: (Score:2)
Depends on whose code I'm editing.
If it's my own, then emacs.
If it's someone else's, then usually vi since I'm probably in a hurry.
IDEs I play with every once in a while, but invariably I hit some silly brick wall where it's better/faster/dareIsayeasier to bring it up in emacs.
I have been using notepad++ on Windows a lot lately, and just wondering what the closest thing to that there is on Linux. It's the only thing I've seen that combines the feature set of emacs with the snappiness of vi while still havi
I vim and Perl (Score:2)
Re: (Score:2)
If I want to view/edit random code I go for VIM as long as it's a small scale action. If I'm going to work with larger scale projects in C++ or Java it's Eclipse. For hash-coding in C# it's Visual studio.
I gave up on Emacs 20 years ago because it was never as default on the systems I was on then and it was too much of a hassle to build it on them.
Oldster, not hipster (Score:2, Funny)
C, vi. My IDE is make. Now get off my lawn!
Re:Oldster, not hipster (Score:4, Insightful)
cat, sed and echo. What's "make"? A is certainly for Aho, and K for Kernighan, but I have no idea who "M" and "E" are . . . ?
C/C++, perl, python, Java (Score:2)
BBEdit and Emacs (Score:2)
Yes, BBEdit and Emacs, side-to-side, one for its clean interface, multi-file search GUI, etc. and the other one for its macros and programmability.
Now if only Python had a good *native* GUI debugger on Mac OS X that'd be useful.
Double troll (Score:2)
Wow. Congrats on your double troll!
PS: Vim-ruby FTW!
vim and C++ (Score:2, Informative)
I use vim for almost 100% of all editing. My main programming language is C++
Re: (Score:2)
I use vim almost exclusively (windows or linux), and use it for PHP, Perl, and C++.
It just works, why get all fancy?
Re: (Score:2)
I love vim, but only for Python. I do not know how you would survive using vim for C++ since projects written in that language are always large.
Given the absolute bottomless complexity of C++, what do you use as a debugger?
OK (Score:5, Funny)
"Please post your editor and language of choice in the comments."
O'Reilly and English
Re: (Score:2)
Whatever (Score:3)
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.
For some languages .... (Score:2)
N/A (Score:4, Interesting)
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."
Re: (Score:2)
Because you don't understand the meaning of the words "majority" and "most"?
emacs, vi in a pinch. (Score:4, Insightful)
I work in almost a 100% UNIX environment and what I generally see on people's desktops are: emacs, Eclipse (some flavor) and IntelliJ.
C# and VS are obviously linked (Score:3)
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
Notepad++ / Python (Score:2)
On *nix I most use Vim. If I'm not using Python, I'm using C.
C/C++/Java/Ruby/Python and I use.... (Score:5, Funny)
Notepad++ (Score:2)
Emacs and whatever language suits the job. (Score:4, Interesting)
Well, perl and vim yes, but not for that reason (Score:2)
ED, ARexx (Score:2)
Where does that fit in your Analyze! spreadsheet?
Re: (Score:2)
When I used to have an Amiga, I used UEdit :(
I had to give them up when I came to this country 12 years ago
The euthor, Rick Stiles, died of cancer and the program was released as freeware on fish disks (768-769)
but I had been a registered user since 1988
I still love Joe (Score:2)
Joe -is a great editor (he/it) all the features I typically need for small and medium sized software projects.
Re: (Score:2)
I snidely disparage your use of joe. I use jmacs! Much better*. B-)
* In the sense that my fingers are not lost when I come across a system that only has emacs installed. Otherwise joe's great.
Class Browser (Score:2)
VIM (Score:2)
It just seems like Emacs is a lot easier to learn because it one keystroke to get to a menu, and just another to
Re: (Score:3, Interesting)
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. An
Re: (Score:3)
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.
Re: (Score:2)
Well, I was told to learn vi because... it's everywhere.
And, as I have said, while far from being a vim master, I really believe learning 20+ commands is enough to make you very productive under vim.
I have tried and tried and tried to ''get'' emacs, but I always give up after learning 5 or 6 Ctrl+something commands. Maybe I'll just give up one day and use vile, but vim is enough for my needs right now.
As the joke goes, "vi a veggie peeler knife, vim is a finely-honed, precision surgeon knife and emacs is a
Re: (Score:2)
I do, but I learned to code on ultrasparcs in the computer lab, so vim was about all that would run. I probably never gave emacs a fair shake in later days, but I never saw a compelling reason to switch and enjoy the benefits of vim (I'm a minimalist at heart). I almost always have an instance of gvim running for quick data manipulation beside visual studios in my daily grind, in addition to the vsvim plugin [microsoft.com] for visual studios. Age 33.
Re: (Score:3)
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.
VIM (Score:3)
Vim. (Score:2)
These days it's mostly vim, Python, shell, Perl.
When I really have to do something ''serious'' in Python, I use the free version of PyCharm, with the vim plugin, of course.
Otherwise, it's nothing but straight vim all day, every day. If not vim, thel elvis. if not elvis, then straight vi or nvi.
Well, C# is a given (Score:2)
Visual Studio when doing C# stuff. Eclipse when doing Java stuff. On Linux, vim or notepad++ when doing C stuff or any other random shell junk. On Windows, notepad++ (okay, let's be honest, it's usually just noteBut I always wind up missing Visual Studio. It seems to fit my workflows best, and if it worked well with Java I'd replace Eclipse with it in an instant.
Emacs (Score:2)
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:
Re: (Score:2)
Emacs is a great operating system. It just needs a good text editor.
Joe (Score:2)
Joe. For Python, C++, bash, and in days of wretched drudgery for which Larry Wall will surely answer for one day, Perl.
Ever since the days of Slackware CDs and the Linux 0.98 kernel, I have happily used joe, a Wordstar-like editor with features and size comparable to vim. It's carried me through maintaining 80,000 line C++ codebases and I do my Python work in it quite happily. There are plenty of macro and regex capabilities, block text marking, everything I need without the weight of an IDE.
There hasn't
Re: (Score:2)
Here's another good reason to use joe (jmacs for me).
$ ls -lF --si /usr/bin/emacs23-nox /usr/bin/joe /usr/bin/emacs23-nox* /usr/bin/joe*
-rwxr-xr-x 1 root root 11M Sep 8 2012
-rwxr-xr-x 1 root root 462k Oct 6 2011
Depends on the era for me. (Score:2)
When I was doing BASH/C/C++/small-time x86 Assembly (high school/college), it was usually in VIM (for the *nix platform). Nowadays I'm a Windows user (just because software I need runs so much better on it), and utilize a combination of Notepad and Geany (nice little multiplatform editor), doing HTML/CSS/PHP. At the office I use Dreamweaver because, well.. the company paid for it, and it does the job :)
If you use Windows: Scite (Score:2)
I'm sure IDE/Debugger combos can be superior, but not always.
If the editor really matters (Score:4, Interesting)
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.
Perl on Emacs (Score:2)
Fortran and vim (Score:2)
varies (Score:2)
Like some others who have posted here, my choice of editor and language have varied with time.
Today I use Python and EMACS.
Re: (Score:3)
Horses for courses. (Score:2)
Eclipse :
* Java
* XSLT
* XML (mostly Maven POM files)
I use the Vrapper plugin for Vim key binding. It's not perfect, alas.
Komodo Edit:
* Python
* Ruby
* HTML
* Text
* XML
In particular, it's "Fast Open" option is really useful for large folder trees full of many files that you know the names of.
And it has a Vim keybinding, which isn't perfect, alas.
Notepad2 :
For a general fast-open general Notepad replacement on Windows.
Vim :
Vim is of course, awesome. I'll be quite pleased if the Neovim project actually succeeds an
Perl programmer, using Emacs (Score:2)
Brainfuck and ED (Score:2)
Brainfuck [wikipedia.org] and ED [wikipedia.org] because I am a masochist.
Java. Android. Eclipse. (Score:2)
Nothing else.
Mine is (Score:2)
Editor: EDLIN
Language: LOGO
Copy Con (Score:4, Funny)
Copy Con > myjob.bat. Editing is for wimps.
Emacs for C & assembly (Score:2)
C and ARM assembly. Same .el files from circa 1985 or so still work (with (dot) replaced by (point))
Started with Emacs on the Decsystem-20 in 1980.
vi forever (Score:2)
Vim for everything (Score:2)
I use vim in a console window for everything: these days mainly scripts, Java, Python, C
The one exception recently is Android. But I'm working out a command-line based dev environment for android that lets me use Vim too.
PyCharm (Score:3)
I mostly do Python, and for that I've moved almost exclusively to JetBrains' PyCharm IDE.
Re: (Score:2)
Scite is not only generally better, its also cross platform.
Really Old School (Score:2)
Re:No love for nano? (Score:5, Funny)
No.
Re: (Score:2)
Research shows most VB.NET and C# programmers use Visual Studio.
Well, that's basically a tautology. It's like saying "research shows most people think water feels wet." True statement, but so what?
Considering the Windows-centric nature of .NET, it's hardly surprising that Visual Studio has far more VB and C# programmers than any other IDE.
And yes, I know about MonoDevelop.
Re: (Score:2)