Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sounds like a classic case of pg's "Blub paradox"

http://www.paulgraham.com/avg.html



It reminds me of this passage from book 1 of Chuang Tzu:

"There is also a bird there [in the bald and barren north], named P'eng, with a back like Mount T'ai and wings like clouds filling the sky. He beats the whirlwind, leaps into the air, and rises up ninety thousand li, cutting through the clouds and mist, shouldering the blue sky, and then he turns his eyes south and prepares to journey to the southern darkness.

"The little quail laughs at him, saying, 'Where does he think he's going? I give a great leap and fly up, but I never get more than ten or twelve yards before I come down fluttering among the weeds and brambles. And that's the best kind of flying anyway! Where does he think he's going?' Such is the difference between big and little."

http://terebess.hu/english/chuangtzu.html#1

I actually agree with marssaxman (and I'm not certain that Chuang Tzu is equating big with good and little with bad), but clearly whether the choice of editor is significant is a question of perspective, and everybody is going to have a different one. I used to care quite a bit about editors. Now I see a lot of our industry tool fetishism as rather unproductive. But I have seen people use the hell out of Vim and it's really quite impressive. Just not a skill I personally feel a strong need to develop.


It's not a skill most vim users care whether you develop, either. I don't mean that in the aggressive way it may sound.

Vim users like vim for some legitimate reasons (e.g. ubiquity) and some illegitimate reasons (e.g. speed). But to my eyes, it's typically the users of heavy IDEs who seem to be insecure in their choice, to the point that they get offended by the fact that vim works for others. Take marssaxman as a case in point.


I'd find it easier to agree with you if it didn't feel like the only aggressor in the editor wars is Vim. But ultimately, "vim is amazing" blog posts are about as interesting as monad tutorials. They're just verbal droppings excreted by young minds that are easily blown. Nothing to get worked up about, but sometimes fun to pick through.


We disagree on which party is the aggressor, but agree on the rest. As a vim user, I don't think vim is amazing. As a NetBeans user, past Eclipse user, and past Visual Studio user, and sometimes Sublime Text user, I don't think they're amazing either. Though Sublime Text 2 is quite well done.

As a clojure hobbyist, Light Table might one day be amazing. But it's not yet.


I don't think it's a matter of insecurity. In the decades since vim was released, we've made drastic improvements in UX design that have made computing much more accessible and intuitive. (And we're still moving forward at a rapid rate — just look at the stuff that people like Bret Victor and Chris Granger doing!) And yet, so many programmers are adamant on sticking to 20th century editors and obscure key commands, even sometimes (sometimes!) at the expense of usability. I don't think it's particularly offensive to wonder why such old tools are still so popular, especially when for most people the thinking part of programming is what takes the most time.

Additionally, your tools shouldn't define you as a programmer, and yet I often see people getting shamed for using an IDE instead of vim/emacs/whatever.


But there's this misconception that we who use vim are simply ignorant of these amazing IDEs that have changed the way everyone program and which will make your coffee in the morning.

I've used IDEs, a lot. And not decades ago, I try new IDEs out all the time. When I write Jenkins plugins it's in NetBeans. I have tried out SublimeText 2 quite a bit. I used to write games so I spent all my time in Visual Studio with Visual Assist X.

Given all that, when I want to write some C++ I fire up vim. Not because I'm unaware of all the IDEs out there and all they can do. But because I'm very efficient using vim, find, grep, sed/awk, etc.

It's not offensive to wonder why such old tools are still so popular, but it's offensive to assume that they're popular because their users are ignorant. Maybe you just haven't gotten it yet (and won't). Or maybe we just have different use-cases. The vim commands obviously aren't obscure to me since I know them.

I agree that your tools shouldn't define you as a programmer. Clearly I wouldn't shame anyone for using an IDE, since I do all the time when it makes sense to. The problem is that many IDE users just can't accept that I use vim because I work well in it, not because I think it's trendy. I can work well in any environment you throw me into, because 90% chance it has vi, and otherwise it has Notepad. Most VisualStudio users can't say the same. Fine, they don't think that's an important skill, I can accept that, just don't tell me it's not important to me.


Or, on the contrary, a classic case of what psychoanalysis calls the "narcissism of small differences", ie. getting a superficial sense of one's own uniqueness based on marginal and superficial differences.

As in: "I use Vim, I'm so much better than those blub Sublime Text programmers"


I don't see the similarity. Would you please substantiate your claim?

Going to the article you cited, the ultimate magic appears to be the use of macros. Defining composable (mini-)languages that are appropriate for a given domain is indeed very powerful and produces significant reductions in the amount of code typed to solve the domain problems. By the way, ASTs for domain-specific languages can be implemented in most common languages via very mundane enums, unions and switches. But I digress.

"Text editing" problems are much simpler than "build an e-commerce web-site" problems. While both Lisp and Vi happen use macros, this feels more of a coincidence. The actual need for macros is much higher in the ViaWeb scenario.

Allow me to reiterate the OC comment: What is it that a ninja text editor actually does with his super-human powers?


OK, I'll bite. I am a sometime programmer, mostly a data analyst. I acquired Emacs less than two years ago, mostly because it could highlight both LaTeX and R code for me, and allowed the evaluation of R code in an attached buffer.

It was awful, I tried it twice before I actually succeeded in switching to it. But eventually, I got used to all the arcane keyboard shortcuts, began to appreciate the power of a program that allowed me to interact with everything (well, except for ncurses based terminal applications) and I became hooked.

I firmly credit Emacs for making it easier for me to switch to new languages, I've learned more about GNU tools from info than from anywhere else, and I absolutely adore keyboard macros (as they always felt like something a program should be able to do). So, for me at least, the benefit of learning this arcane program was that it exposed me to a method for learning new things while still having some level of skill in the environment.

That being said, I really need to learn some vim, for the logging into a remote server with no permissions scenario.


He basically said he uses a text editor for X subset of text editor features and can't see why Y set (where Y > X) would be of any more use to any one. That's classic Blub. Until you learn them and use them you can't really "envision" why they are any more useful than your current workflow.


I can envision all kinds of useful tools an editor might offer; I've implemented a few of them. What I can't imagine is how any number of fancy editor features would ever add up to significantly higher productivity, given that every programmer I have ever met spends an order of magnitude more time reading, thinking, and discussing than actually editing code.


I don't disagree with that last sentence, but even acknowledging that, getting a whole lot more editing done in a whole lot less time, using significantly less keystrokes, makes for a much more enjoyable (and almost by extension: more productive) working experience. Not many things in programming are as soul-sucking as repeatedly having to bash the same keys or mousing and clicking around to translate your thoughts into working code. I think you are really underestimating the usefulness of some of the things you can only do with command-mode editors such as vim, if you think their only merit is saving a few seconds of typing.


It's not about saving time per se, it's about saving context switches and wasted brain cycles.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: