Words words words. (And symbols!)
December 22, 2007 1:04 PM   Subscribe

Editor wars are some of the most divisive debates among programmers and writers. These days, the battles are between proponents of IDEs like NetBeans, Eclipse, and the like as often as they are between proponents of vi and Emacs, the traditional battlegrounds. That fight hasn't ended, of course. The support of the vi camp has largely solidified behind Vim, the largest and most feature rich (or bloated, if you like nvi) variant, and GNU Emacs has essentially vanquished its internecine rival. Are you a traditionalist? You can find an argument if you really want to. Of course, a lot of people now vote for third parties. There are candidates for the ignorant, for the masochistic, and the insane. Some people are more comfortable with familiar interfaces. Still others are obsessed. [Previously]
posted by sonic meat machine (96 comments total) 23 users marked this as a favorite
 
I must confess, of course, that this is my first post. You needn't be gentle.
posted by sonic meat machine at 1:06 PM on December 22, 2007


People who use Vi are crazy. Or at least lazy in not wanting to learn anything new.

People who use Emacs are also crazy, but crazy in an interesting way.

People who use pico, or at least alias nano as "pico" are just plain cool.
posted by delmoi at 1:10 PM on December 22, 2007 [1 favorite]


Someday I'm going to get a "vi por vida" tattoo in old english letter across my back.
posted by signalnine at 1:13 PM on December 22, 2007


delmoi, I use Vim for both coding and writing. It's a very powerful editor, and if your last experience with vi was something like nvi, give it a try--and look at some of the scripts and configurations that are available for it. Emacs... well, I can use it, but it's not comfy.

nano is, for all intents and purposes, identical to pico. It's just a GNU reimplementation. It's good for quick-and-dirty edits, but I have to confess I find it underpowered for heavy duty things.
posted by sonic meat machine at 1:15 PM on December 22, 2007


why do programmers fight about these things? can't they just use what they like, or do they need to be able to express their manly aggression in a realm in which they know they can't get hurt physically?

maybe that's it. all that unexpressed hurt from so much unavenged bullying in high school.

well, carry on, i say!
posted by klanawa at 1:16 PM on December 22, 2007 [1 favorite]


vi 4eva dont even try n h8

I like nano okay, but there is definitely a huge amount of laziness involved in my usage of vi. I use it on the commandline so much (set -o vi), that it wouldn't be very useful for me to learn a new editor. Can you set -o emacs, or set -o pico? I honestly don't know, but I work mostly on AIX, so even if you can, I probably can't.

The only editor I honestly can't stand is ed. Unfortunately, if you are running z/Linux and your shit won't boot, you have to use ed through z/VM to fix whatever is wrong. Nothing else will work. Absolute. Pain.
posted by synaesthetichaze at 1:18 PM on December 22, 2007


Eclipse represent. There, I said it.
posted by sdodd at 1:20 PM on December 22, 2007


their manly aggression

yeaarrghhg I AM PROGRAMMING SO HARD
posted by synaesthetichaze at 1:20 PM on December 22, 2007 [10 favorites]


FYI, in case someone was ready to school me on ksh, apparently you can set -o emacs in AIX. I like the ESC-ESC auto-complete, it seems a lot easier than ESC-\
posted by synaesthetichaze at 1:27 PM on December 22, 2007


Has emacs really eclipsed XEmacs? Most of the win32-based developers I know use XEmacs for its better integration into windows (if they use a plain editor at all).

I'm a vi guy myself, but recently I've spent lots of time in Eclipse and the (excellent) actionscript IDE FlashDevelop. Last I looked emacs just wasn't very good at doing Java, likely as a result of tons of java developers moving to Eclipse and its rivals.

On the command line I'm always a set -o emacs guys, though. Don't really see a need to have two different modes when you're editing a single line of text...

:wq
posted by whir at 1:28 PM on December 22, 2007


Also, if anyone knows a good IDE that uses Vim for its editor, please chime in. I don't need anything fancy, just a project list / file explorer type thing in one pane, vim in the other, and maybe a configurable run/make command.
posted by whir at 1:30 PM on December 22, 2007


I used to use Vi, just to be a hardcore command-line commando, but now I use primarily Kate. Your post was a good read sonic. Nice job.
posted by JaySunSee at 1:34 PM on December 22, 2007


whir, around the late Nineties, xemacs was often the default emacs in distributions. (Slackware, for example.) I haven't seen any new distribution include xemacs by default in half a decade, though, and most of the time if the distro has a generic "emacs" package, it'll be GNU Emacs. I think it's because they didn't do some things properly--there's still no font anti-aliasing, for example.

(I could be wrong, though, I haven't looked at it in a year or so.)

Now, as for the IDE question, this Vim tip has some scripts which might be useful. I don't generally use any sort of IDE setup, so I can't personally comment on their efficacy, but I've found this site pretty useful.
posted by sonic meat machine at 1:38 PM on December 22, 2007


Oh fuck this noise. Good coders code in their heads.
posted by orthogonality at 1:39 PM on December 22, 2007


Oh fuck this noise. Good coders code in their heads.

Only to avoid crossing the picket line.
posted by rokusan at 1:41 PM on December 22, 2007 [1 favorite]


I'm a big fan of E, a port of Textmate for Windows.
posted by JDHarper at 1:46 PM on December 22, 2007


I use vi. This is because I am a clueless luser, unlike the fellow responsible for THIS.

Edlin is not for the insane. THIS is for the insane!!!
posted by cstross at 1:51 PM on December 22, 2007 [2 favorites]


On the "writers" end, I find that text editor needs are different. With code, it's sensible to discard bits of text which don't work. With writing, it's much more difficult to identify what does and doesn't work, so it's useful to keep bits around which might not work here. While IDEs are good at managing projects of files, there are few equivalents for other kinds of writing.

For that kind of writing, a hypertext environment such as Tinderbox can be very useful. There's a very extensive series on outliners and other writer-friendly software entitled "About This Particular Outliner" at ATPM.
posted by honest knave at 1:53 PM on December 22, 2007 [1 favorite]


now I use primarily Kate

Kate! Surely you can't be serious, real programmers use Gnome, not KDE. Why, I'll bet you prefer statically-typed programming languages and Intel chips, when everyone knows that dynamic typing and AMD chips are far superior!
posted by whir at 1:53 PM on December 22, 2007


Screw all that. I use an IBM 129 Card Data Recorder (and a shoebox.)

And I like it.
Get off my lawn.

posted by Opposite George at 1:56 PM on December 22, 2007


klanawa writes "why do programmers fight about these things? can't they just use what they like, or do they need to be able to express their manly aggression in a realm in which they know they can't get hurt physically?"

Anymore idiotic than arguing which sports team is better?

Vi all the way, I've already got an OS, thanks.
posted by Mitheral at 1:56 PM on December 22, 2007


Mitheral: Anymore idiotic than arguing which sports team is better?"

Yes, because we expect more from nerds.

P.S.: Your favorite editor and team both suck.
posted by Opposite George at 2:02 PM on December 22, 2007


The nice thing about vi is that it's always installed already.
posted by smackfu at 2:03 PM on December 22, 2007 [1 favorite]


While we're on the subject of unusual editors, how 'bout one that's browser-based? My recent fiddling around with Chumby development lead me to try OpenLaszlo. OpenLaszlo is an entirely web-based IDE. It's for Flash and DHTML apps, and is based on an open declarative layout language called LXZ.

You install the OpenLaslo server on your workstation, point a browser at it, and you can edit, compile/deploy, and test all within the browser. Of course, to get serious work done you'll need a real editor. (Sadly the Eclipse front-end seems to no longer be actively maintained.) I hadn't seen a web-based IDE used outside of teaching languages. I thought it an odd but refreshing approach.
posted by sdodd at 2:05 PM on December 22, 2007 [1 favorite]


The only editor for true programmers is TECO.
posted by Steven C. Den Beste at 2:06 PM on December 22, 2007


I should always come first, and if you
think that's pushy, consider anew
It isn't a sin
That I must begin
If the end's :wq
posted by Wolfdog at 2:08 PM on December 22, 2007 [5 favorites]


P.S.: Your favorite editor and team both suck.
My team, as it happens, is the Fighting Tarsiers.
posted by Wolfdog at 2:09 PM on December 22, 2007


I've just read cstross' link, and I don't know whether to be in awe of the sheer bloody-mindedness of it or jump out the window in despair at the depths of depravity to which bored programmers will stoop.

Okay, so the idea of using the dd command as the fundamental primitive operation for an editor written in shell script occurs to you. "Wow, I bet that'd work," you think. STOP RIGHT THERE. There's no need to bring that monster to life.
posted by sdodd at 2:18 PM on December 22, 2007


sdodd, I'm just the poor guy who issued the throwaway remark ("of course, you can do any editing you need using just dd and sh"). Then Claudio went and proved it. He also maintains the ultimate programming language, CLC-INTERCAL.
posted by cstross at 2:26 PM on December 22, 2007


Your post did not include my editor of choice. I am insulted. How dare you?
posted by Asymptote at 2:28 PM on December 22, 2007


TextMate when I'm on OS X, vim for all other scenarios.
posted by sbutler at 2:29 PM on December 22, 2007


BBEdit representing for Mac old-school, yo.
posted by ardgedee at 2:36 PM on December 22, 2007 [1 favorite]


Friends don't let friends use pico/nano. I wrote my Ph.D. dissertation in Emacs, but then again I typeset it in LaTeX. I still find myself typing Ctrl-X Ctrl-S in Word.
posted by drmarcj at 2:42 PM on December 22, 2007


IDE lusers == Visual Basic amirite?
posted by DU at 2:43 PM on December 22, 2007


When I use an editor, I don't want eight extra KILOBYTES of worthless
help screens and cursor positioning code! I just want an EDitor!!
Not a "viitor". Not a "emacsitor". Those aren't even WORDS!!!! ED!
ED!

ED IS THE STANDARD!!!
posted by ntk at 3:03 PM on December 22, 2007 [1 favorite]


I saw someone using acme the other day in a hipster coffee shop, and my heart did a little jump for joy at the thought of Plan 9 and Inferno making their glorious return to save me from XEmacs on Linux.
posted by cytherea at 3:03 PM on December 22, 2007


I can't believe the original poster neglected to mention the excellent TextMate in that long list of options. I swear by it- it's highly configurable/customizable, looks nice, etc... Only requires OS X, which is not a bad thing at all ;)
posted by Lectrick at 3:04 PM on December 22, 2007


WHAT?! No IntelliJ IDEA? For fucking shame.
posted by Civil_Disobedient at 3:09 PM on December 22, 2007


Only requires OS X, which is not a bad thing at all ;)

Oh yes it is!
posted by cytherea at 3:10 PM on December 22, 2007


Sorry, Applers, I have never used the Serious Text Editors on Macs and so know nothing about them. They seem to cost money, which is a foreign concept to me.
posted by sonic meat machine at 3:13 PM on December 22, 2007


The two best parts of emacs are SLIME for working in lisp, and AucTeX for working in LaTeX. Actually, what I thought was essential for working on my thesis in LaTeX was the bibliography and reference support of AucTeX. The LaTeX support of TextMate was good enough to get me to switch though.
posted by KirkJobSluder at 3:24 PM on December 22, 2007


People who use pico, or at least alias nano as "pico" are just plain cool.

I'm trying here, but I'm having a hard time coming up with anything less cool than pico. Maybe editing via WebTV.

It seems to me that all current editors suck pretty badly. I use Emacs because there aren't many free alternatives for the work that I do (on preview, KirkJobSluder mentioned SLIME; Emacs, SLIME, and paredit aren't perfect but they come pretty damn close to hitting the sweet spot). It's nice, but I hear things about Zmacs that make me feel like I'm missing out. Maybe I'll give Climacs a try one of these days.
posted by enn at 3:39 PM on December 22, 2007


Maybe I'm alone, but I don't have a favorite editor (for coding). I have some near misses. I write Actionscript, and I spent a year doing so on Textmate. I LOVE Textmate's text-editing capabilities. I love the fact that you can highlight down (e.g. select the third character of five consecutive lines). Textmate has a wealth of stuff like this. Stuff that I've never found in any other editor. Stuff that should be in ALL editors.

Then a co-worker showed me SubEthaEdit, and I loved its collaborative-editing capabilities. Textmate can't do that. SubEthaEdit doesn't have Textmate's editing power.

Finally, another co-worker lured me onto Eclipse by pointing out this Actionscript plugin. I couldn't turn back. It really is THE way to program Actionscript. Since I started using it, I've cut my syntax errors by 80%.

But Eclipse isn't as collaborative as SubEthaEdit. And it doesn't have Textmate's insane editing abilities.

In a way, I think my problem is that I get really into editors. I pour through the manual and make myself a power user. So if I have to switch to a new one, I really miss features from the old one. Some of my co-workers didn't seem to miss TextMate as-much-as I did, when they too switched to Eclipse. But that's because they didn't use all of TextMate's features.

I wish that someone would make a standardized plugin architecture for text editors and that it would be generally accepted. That's how it works in the Photoshop world. PS plugins are a standard, and you can often use them in other photo editors.
posted by grumblebee at 3:42 PM on December 22, 2007


Screw all that. I use an IBM 129 Card Data Recorder (and a shoebox.)

COPY CON PROGRAM.EXE


People who use pico, or at least alias nano as "pico" are just plain cool.

I use zepto. (Stands around looking straight, waits for grouchto and harpto to make jokes.)
posted by jfuller at 3:45 PM on December 22, 2007


Real programmers code in hex on the console. Just saying.

He died at the console, of hunger and thirst.
Next day he was buried, face down, nine-edge first.

-From "The Last Bug"


posted by The Bellman at 3:48 PM on December 22, 2007


Has Kate finally got their regexes figured out? I was incredibly frustrated to be working happily and find back references not working. The crazy complete regexes is what keeps me coming back to vim. I do loathe the occasional "oh yeah, for that you need this random command from sed" moments.
posted by a robot made out of meat at 4:03 PM on December 22, 2007


Sorry, Applers, I have never used the Serious Text Editors on Macs and so know nothing about them. They seem to cost money, which is a foreign concept to me.

We also have all the editors, both console-based and GUI-based--that are available on other Unix and Unix-like OSes, if you want one of those.

Me? I use Xcode and BBEdit.
posted by secret about box at 4:08 PM on December 22, 2007


If we don't have ALL, we have enough of them that I couldn't THINK of any.
posted by secret about box at 4:09 PM on December 22, 2007


vim

That is all.

Although I like nedit or xfce4's mousepad for some things.

bluefish is a pretty nice barebones web-oriented editor.

My boss uses Fedora and emacs. I use FreeBSD and vim. Vive la difference.
posted by krinklyfig at 4:46 PM on December 22, 2007


cstross writes "Edlin is not for the insane. THIS is for the insane!!!"

Hmmm ... well, I've used dd plenty of times. I dunno. There's not much to it. SCDB mentioned TECO, which to me is much more difficult, because it's so dense and unforgiving. I mean, look at this example from the Wikipedia page:

!START! j 0aua ! jump to beginning, load 1st char in register A !
!CONT! l 0aub ! load first char of next line in register B !
qa-qb"g xa k -l ga 1uz ' ! if A>B, switch lines and set flag in register Z !
qbua ! load B into A !
l z-."g -l @o/CONT/ ' ! loop back if another line in buffer !
qz"g 0uz @o/START/ ' ! repeat if a switch was made on last pass !


Gives me a headache trying to figure out the syntax.
posted by krinklyfig at 4:56 PM on December 22, 2007


Escape-Meta-Alt-Ctrl- Shift.

Now, what was so hard about that?
posted by telstar at 5:03 PM on December 22, 2007 [1 favorite]


grumblebee writes "I love the fact that you can highlight down (e.g. select the third character of five consecutive lines). Textmate has a wealth of stuff like this. Stuff that I've never found in any other editor. Stuff that should be in ALL editors."

FYI TextPad allows you to block select stuff like that.
posted by Mitheral at 5:15 PM on December 22, 2007


why do programmers fight about these things?

I realize this was mostly a throwaway comment, but I found it interesting.

I believe the reason why programmers fight about editors is because they're fighting about mental models. That's what they do for a living, create mental models of computing tasks. They invest a great deal into those models. They like them, and will defend them from attack.

vi and emacs, the two major editors that have produced so many flamewars, have wildly disparate models of 'how to manipulate text'. Programmers tend to absorb whichever they're first exposed to as being 'the best way to edit text'. They'll often defend those models just as vociferously as any of the ones they created themselves. With vi and emacs being so wildly different, it's hard for them to find common ground and agree on very much.

It strikes me that a programmer that didn't want to argue about mental models would likely be a very depressed or burned-out coder.

A day or two ago, I saw an interesting comment from a Python programmer about IDEs: "Listen, if you feel you need an IDE, your language is making you work too hard."
posted by Malor at 5:23 PM on December 22, 2007 [2 favorites]


I use an emacs clone called MicroEmacs, which says it is (c)1988 by Daniel Lawrence.
I use it because:
1) It worked on the Amiga I was programming in 1989.
2) It came with its own C source (it is LISPfree)
3) It is portable and easy to modify, so I have EXACTLY the same editor on all systems.
4) Its macro language is ugly and so I am not tempted to use it.
(It does keyboard macros [remember a bunch of key-presses] and, rarely, I have added commands in C)

I also use ed, mostly as a batch process, because I never really learned sed or awk.
My amazing ed skills make me the go-to guy when someone needs to convert a spreadsheet with a few thousand rows into, say, javascript function calls, or to chop a six gigabyte text file into chunks small enough for a database to swallow.

After that, its notepad, especially for wide/extended characters (the above editors are best for 7bit ascii, and will tolerate 8bit, but no more) and, if I need formatting, write.exe (or Wordpad, to give it it's MS preferred designation). And by formatting, I mean RTF. But then, I don't write books. Or even long papers.
posted by hexatron at 5:24 PM on December 22, 2007


The entire discussion is stupid. Experienced neck-beards use vi for quick edits and emacs for long term development. That's it.
posted by rlk at 5:24 PM on December 22, 2007 [2 favorites]


Does anybody else still have the wordstar-like commands from the DOS-era Borland IDEs (Turbo Pascal, etc) lurking in their fingers? There's a lot I can't remember just thinking about it but I feel like if I sat down with one of those again it would come back in a hurry.
posted by Wolfdog at 5:39 PM on December 22, 2007 [1 favorite]


grumblebee writes "I LOVE Textmate's text-editing capabilities. I love the fact that you can highlight down (e.g. select the third character of five consecutive lines). Textmate has a wealth of stuff like this. Stuff that I've never found in any other editor."

Vim can do this in visual mode.
posted by krinklyfig at 5:41 PM on December 22, 2007


I love these threads. And Vi, obviously. But I seem to be using Kate a lot lately. Must be getting lazy...

Anybody else remember an annoying-to-google OS/2 editor called "T"? Spent an lot of time with that, back in the day.
posted by Luddite at 6:00 PM on December 22, 2007


Wolfdog, you should try out jed, which has a WordStar emulation mode.
posted by sonic meat machine at 6:13 PM on December 22, 2007


Kate! Surely you can't be serious, real programmers use Gnome, not KDE. Why, I'll bet you prefer statically-typed programming languages and Intel chips, when everyone knows that dynamic typing and AMD chips are far superior!

I use Kate to edit my Ruby code. It's nice, and yes, it even supports block selections. And my laptop has a Sempron!

For console editing, I used to use Nano, but I've switched to Diakonos. It's got more features than Nano, and plus, it's written in Ruby.
posted by bkudria at 6:20 PM on December 22, 2007


I didn't say I liked the Borland editor, just had to live with it for a long time. I am a vi guy through and through.
posted by Wolfdog at 6:24 PM on December 22, 2007


It's good first post, because this is one of those little things that can have a big affect on your life (if you use computers a lot), and so people have very strong opinions about it.

For example, for some reason I've always had a revoltion to vi except in a couple of cases where it could do a few specific tasks very well. I guess I never considered it a real screen editor--more of a glorified line editor.

I used nedit when I was on Unix machines, and now I use textpad. Though I'm thinking of going Linux at home, so I'm thinking of jedit, or maybe I'll break down and use Wine for compatibility on the Linux machine.
posted by eye of newt at 6:27 PM on December 22, 2007


I really dig PSPad. In fact, I dig it so much, I run it under wine on my linux box... there's nothing mindblowing about it, it just works really well as a text editor.
posted by ph00dz at 7:00 PM on December 22, 2007


emacs for me (I don't quite remember when I started -- I used MINCE a little a long, long time ago but the last 15 years or so it's been all emacs.

For Java, an integrated IDE is essential (well, I do Java with emacs but then I'm really fast at emacs...) I got pretty fast at Eclipse though people love IntelliJ at work.
posted by lupus_yonderboy at 7:05 PM on December 22, 2007


eye of newt writes "For example, for some reason I've always had a revoltion to vi except in a couple of cases where it could do a few specific tasks very well. I guess I never considered it a real screen editor--more of a glorified line editor."

If you force yourself to use it for everything, like writing email (I use mutt and vim), then you quickly discover how useful and fast it can be. GUI text editors force you to use the mouse to do things you could otherwise accomplish on the keyboard, which slows everything down. When you're editing and you can control the editor's commands with your keyboard, it really does speed things up considerably. And for programming, it's incredibly fast once you set it up to meet your needs. The learning curve is a bit steep, but it's worth learning either emacs or vi to the point where it comes without thinking. You'll find plenty of uses for either one.
posted by krinklyfig at 7:21 PM on December 22, 2007


Civil Disobedient : werd.
posted by eurasian at 7:36 PM on December 22, 2007


Real programmers code in hex on the console. Just saying.

Then there was the guy at MIT who wrote a musical notation formatter by toggling it in on the PDP panel switches.
posted by StickyCarpet at 8:39 PM on December 22, 2007


Am I the first to get the Hamlet reference in the post title? Or was that unintentional?
posted by Grod at 8:43 PM on December 22, 2007


Between who?
posted by sonic meat machine at 8:44 PM on December 22, 2007


I mean, the matter that you read, my lord.
posted by Grod at 8:46 PM on December 22, 2007


also, that may be the most subtle joke I've ever seen on metafilter, I salute you.
posted by Grod at 8:50 PM on December 22, 2007


Slanders, sir, for the satirical rogue says here that old nerds have gray beards, that their faces are wrinkled, their eyes purging thick amber and plum-tree gum, and that they have a plentiful lack of wit, together with most weak hams. All which, sir, though I most powerfully and potently believe, yet I hold it not honesty to have it thus set down, for yourself, sir, shall grow as old as I am if, like a crab, you could go backwards.
posted by sonic meat machine at 8:52 PM on December 22, 2007


Though this be madness, yet there is method in 't. Will you walk out of the air, my lord?
posted by Grod at 8:54 PM on December 22, 2007 [1 favorite]


Well, I try, Grod. I try. I have to confess I had to look up the reply after "Between who," though. Clearly it's time to re-read the One True Play again.

As it was my first post I wanted Quality, and so spent some time on it. Hopefully I won't disappoint with the next.
posted by sonic meat machine at 8:54 PM on December 22, 2007


I believe the reason why programmers fight about editors is because they're fighting about mental models.

That, and they don't handle ambiguity well. It is either right or wrong in the computer world, this namby pamby "whatever works for you is a good decision" just won't fly.
posted by Chuckles at 8:56 PM on December 22, 2007 [1 favorite]


Well done. I thought we could continue until Hamlet says "These tedious old fools!" and thus (mock seriously) sum up much of metafilter. Excellent first post.
posted by Grod at 8:57 PM on December 22, 2007


Metafilter: the best posters in the world, either for tragedy, comedy, history, pastoral, pastoral-comical, historical-pastoral, tragical-historical, tragical-comical-historical-pastoral; scene individable, or poem unlimited.
posted by sonic meat machine at 9:01 PM on December 22, 2007


/bin/(ba)?sh; export EDITOR=vim?; export VISUAL=vim?

t?csh/emacs weinies are first against the wall. sh/vi rules them all.
<>
:wq
:w!
:q
posted by zengargoyle at 9:05 PM on December 22, 2007


The Bellman:

No.

Real programmers code in hex binary on the console panel toggles.

Malor: "A day or two ago, I saw an interesting comment from a Python programmer about IDEs: "Listen, if you feel you need an IDE, your language is making you work too hard."

That's an interesting point. Since I've adopted Python as my go-to language of choice (I no longer code for a living) most of the time it's open a code window in IDLE, bang in some lines and hit "run." Never really need to do much more than that.

Then again, I've coded serious production financial models with no more than the stock MS-DOS editor and an Intel C compiler (this was back in the early '90s,) so maybe I'm not the best guy to judge how necessary a real IDE is...

Chuckles: "That, and they don't handle ambiguity well. It is either right or wrong in the computer world, this namby pamby "whatever works for you is a good decision" just won't fly."

Yeah, and add that they also don't handle diplomacy well, and throw in an inability to let go of things that don't affect them. The concept of "It's no skin off my nose whatever you use to get the job done -- just don't tell me what to use" could be written in Linear B as far as they're concerned (not so much for me, but maybe that's why I'm a crappy programmer.) I'd go so far as to say these are all characteristics consistent with autistic spectrum disorders, but I'm not a qualified psychologist (not that that stops anybody on the Internet anyway.)

You want to see a great example of all of the above in another context, check out the misc.transport.road or misc.transport.urban-transit newsgroups some time. You'll see guys (yes, they're almost all guys -- also consistent with the autism thing) come practically to blows over proper Interstate Highway numbering or light rail vs. trolley buses, without realizing that the rest of the world doesn't give a crap.*

----
*Yes, I care about this stuff too, but not enough to fail to realize that it really isn't that important. What can I say -- I'm even a failure as an Aspie.
posted by Opposite George at 9:54 PM on December 22, 2007 [1 favorite]


s/don't affect them/really don't matter/
posted by Opposite George at 9:55 PM on December 22, 2007


I agree that Python doesn't need an IDE, but it's very convenient to have an editor that can indent and outdent a number of lines at once. Emacs' python-mode does that, and is probably my environment of choice for writing Python.

However, I've yet to find an editor or environment that truly understands Python's here-document like triple quoted multiline strings. Emacs and Textmate both choke on them, as I remember.
posted by Joakim Ziegler at 1:36 AM on December 23, 2007


You see, occasionally (or even frequently, depending on where he/she works) a programmer will have to use the editing environment of a co-worker. And that moment will inevitably start with "what the FUCKING HELL??"

When you are coding you want to code; you want to copy snippets of text around, you want to open other files, you want to search and replace text, you want to correct typos. And between editors the way you do these things is so different, it's not like the difference between Chinese and Middle Eastern food, it's like the difference between a red-meat-only diet and getting your nutrition by absorbing microorganisms from the surrounding medium.

Even if you can do it, your spirit is broken, you are hobbling instead of flying, you are drinking piss instead of nectar. And so you learn to hate.
posted by breath at 1:47 AM on December 23, 2007 [2 favorites]


Joakim Ziegler: Vim understands Python's """strings""". Actually, now that I'm looking, Vim's Python support seems a lot better than Vim's perl support.

I'm kinda surprised that Emacs doesn't handle """strings""", though. They've gotta be easier than, say, perl's or sh's here-documents.
posted by reventlov at 2:13 AM on December 23, 2007


You had to remind me about CLC-INTERCAL, didn't you? For those who don't know, this should let you understand that CLC-INTERCAL is not for the weak.
The variable identifier defines the variable type. There are six types:

One spot (.) - these can contain 16 bit values.
Two spots (:) - these can contain 32 bit values.
Tail (,) - arrays of 16 bit values.
Hybrid (;) - arrays of 32 bit values.
Whirlpool (@) - these cannot contain any value.
Crawling Horror (_) - these contain compilers.
posted by eriko at 2:28 AM on December 23, 2007


BTW. vi forever, because you need the "dammit" command.
posted by eriko at 2:29 AM on December 23, 2007


Microsoft Word. Who's with me?
posted by athenian at 3:35 AM on December 23, 2007


ProText ftw.

That, and they don't handle ambiguity well. It is either right or wrong in the computer world, this namby pamby "whatever works for you is a good decision" just won't fly.
Well, I think it's more that this is standard conflict-resolution with programmers. You rubbish the other guy, until he's proved right, and then you switch. So they fight their corner for an editor until the other guy proves theirs is superior, and everyone switches.

It's just that this style doesn't handle the ambiguity of preference very well.
posted by bonaldi at 10:54 AM on December 23, 2007


Joakim Ziegler: "I agree that Python doesn't need an IDE, but it's very convenient to have an editor that can indent and outdent a number of lines at once. Emacs' python-mode does that, and is probably my environment of choice for writing Python.

However, I've yet to find an editor or environment that truly understands Python's here-document like triple quoted multiline strings. Emacs and Textmate both choke on them, as I remember.
"

I'll typically use IDLE for Python, which is a bit of a toy IDE. I agree for real development you probably want something more polished (though it's fun and a bit macho to pretend otherwise :) ) But IDLE does do bulk indenting/outdenting and understands ''' So, the simple interface in conjunction with those two features lets me accomplish my quick-and-dirty programming tasks in a quick-and-dirty manner. I really don't use any of the IDE features, apart from an occasional debugging session, so I can't tell you if they're any good.

So maybe you want to look at that. Again, going against the nerd grain here but "whatever works for you" seems to be the way to happiness for the solo progammer.
posted by Opposite George at 12:51 PM on December 23, 2007


or programmer, even.
posted by Opposite George at 12:51 PM on December 23, 2007


Real programmers code in hex on the console.

Nonsense. They flip binary switches.
posted by clevershark at 7:01 PM on December 23, 2007


Nobody uses Joe's Own Editor? No one's nostalgic for WordStar ^K goodness?
posted by RobotVoodooPower at 7:03 PM on December 23, 2007


Real programmers code in hex on the console.
I'm sorry, real programmers apply their Neodymiums directly to the platters.
posted by bkudria at 7:46 PM on December 23, 2007


Vi Vi Vi : Editor of the Beast.
posted by oh pollo! at 1:37 AM on December 24, 2007


TextMate on the Mac. Textpad on Windows.

I love Textpad, and I suspect this is why I'm so defensive about it. Maybe it isn't the best editor in the world. I don't know, but you'd have to be pretty fantastic as an editor to make up for the last ten years worth of Textpad related muscle memory that I've got ingrained into my torso.

I think this is why the editor wars are so severe. I think a lot of programmers mistake a deep knowledge of their preferred editor with power & ease of use. Nothing's gonna be as easy for you to use after a decade of learning shortcuts and tricks.

b.t.w. I like my Mac and all, but have yet to find a decent mac based text editor I can pull a 200MB file into without it falling over.
posted by seanyboy at 5:48 AM on December 24, 2007 [1 favorite]


I agree with you seanyboy (though I don't think it take a decade -- or needs to -- to feel that sort of comfort with an editor).

A good editor is transparent. You don't notice it. It's like a servant that is always there to move your chair for you when you want to sit down. This is ideal for programmers, because programming is difficult. You need to free up as many of your brain's resources as possible. It sucks to have to figure out complex algorithms and complex editing applications at the same time. So once you've forged a good relationship with an editor, it feels like a good marriage.

If you're suddenly forced to use a new editor (or even if you contemplate giving up your old one), you want to fight. You know the change -- even to a good editor; even to a better editor -- will be painful. You won't be able to devote 100% of your brain to code.

That feeling is so profound that I suspect many mistake it for proof that their editor is the best editor. It's not. But it's good enough, and it's the ONLY editor with which they've forged a close relationship.
posted by grumblebee at 8:36 AM on December 24, 2007


reventlov: I think the problem with """ string is that Emacs syntax highlights a line at a time, so there's no provision for highlighting syntactical constructs that depend on earlier lines. It's annoying, yes. Although Emacs' python-mode in general is very good.
posted by Joakim Ziegler at 7:26 PM on December 24, 2007


« Older A World Fit for Children   |   He's Making A List, He's Checking It Twice... Newer »


This thread has been archived and is closed to new comments