5 ms·
Not sure if just trolling, but if not it seems you're not very experienced yet in the use of the tools of the trade of the professional programmer. The point of
by roel_v 14y ago
Not sure if just trolling, but if not it seems you're not very experienced yet in the use of the tools of the trade of the professional programmer. The point of using the vi interface is nowadays (and yes I know about the original reasons of the modal workings of vi...) that moving your fingers off the home row takes too much effort, let alone having to move your hand to the mouse. It's easier to drive an automatic, why do professional drivers switch gears manually? Because learning the more advanced interface gives them more control over the way the machine behaves, and in their use case, the investment in learning it pays off handsomely in the added power later. Should regular users bother to lean vi? No. Programmers? Yes.
- sea6ear 14y agoI'm not sure if he's trolling or not either. But since he wrote the original "Apple Writer", (see http://www.arachnoid.com/administration/index.html http://www.arachnoid.com/administration/index.html ) It seems likely that he knows something about the tools of a professional programmer.
- jeremysmyth 14y ago...or rather, knew something about word processors 35 years ago.
- liljimmytables 14y agoMy problem is that this power doesn't motivate me. Do I want to make lots of changes rapidly? No. Further: THAT WOULD BE BAD. I want to make concise changes based on sober reflection. Do I want a convenient browsing mechanism that stays minimal while I internalise the code I'm reading? Yes. I get the _why_ of vim, but the obsession over mashing keys as fast as you can seems like a bad smell in terms of developer attitude.
- lutusp 14y ago> My problem is that this power doesn't motivate me. Do I want to make lots of changes rapidly? No. Further: THAT WOULD BE BAD. This is the best argument yet in favor of vi/vim -- it keeps you from doing things quickly that you would later regret. > ... the obsession over mashing keys as fast as you can seems like a bad smell in terms of developer attitude. Unfortunately, that's not an argument in favor of increasing the number of pointless keystrokes.
- liljimmytables 14y agofor the latter, i'm saying i'd rather navigate with a scroll wheel and hyperlinked names a lot more than i want to search multiple buffers. hands away from the keyboard, reading mode rather than typing mode, getting context
- lutusp 14y ago> Not sure if just trolling, but if not it seems you're not very experienced yet in the use of the tools of the trade of the professional programmer. [emphasis added] Guess again -- I wrote Apple Writer in the late 1970s (http://en.wikipedia.org/wiki/Apple_Writer http://en.wikipedia.org/wiki/Apple_Writer). One of my goals was to eliminate the modes that plagued contemporary editors and attract people interested in ease of use and efficiency. Apple Writer became a best-seller because (among other things) its competition, most derived from vi, required users to switch modes. And I can't believe I'm having this conversation over 30 years later, still trying to get people to choose more efficient tools. > ... you're not very experienced yet ... It's likely that I was programming -- and publishing my programs -- before you were born: http://arachnoid.com/programmable_calculators http://arachnoid.com/programmable_calculators
- tikhonj 14y agoThere's a difference between "more efficient" and "easier to learn". You're advocating the latter. This is not a good thing. For example, moving around by using the search feature (at least a well-designed incremental search like Vim or Emacs) is more efficient for longer distance moves (e.g. more than a couple of lines)--it's faster and, more importantly, takes less thought and context switching. When you have to move to a distinct part of your text file, chances are you know what the content there is. With a command like /, you directly turn that knowledge into efficient movement. With the arrow keys, you have to leave the home row and do a bunch of movements to get where you're going. You have to figure out how to turn the word you want to go to into a bunch of arrow actions. It's even more difficult of your target is off-screen. Ultimately, a rich set of movement commands you can access without moving your hand is going to be more efficient than using the standard arrow keys. This is particularly true for somewhat semantic commands like moving by block or expression or moving to a word (the command in question here). Ideally, you want to move around faster with less context switching. Keyboard-oriented editors like Vim and Emacs are much better at this than any other editor I've seen, as long as you learned how to use them properly. This really makes the learning curve more than with it.
- lutusp 14y ago
- marssaxman 14y agoI have been working as a professional programmer for twenty years. I have used more text editors than I can remember; I've even written a couple of new ones. My experience has been that the editor makes almost no difference. I spend far more time thinking about code than I ever do writing it. Vi has a terrible ancient mess of an interface designed for primitive machines in a bygone age. I believe that part of its popularity comes from a sort of stockholm syndrome effect; people who have spent the time required to master it don't want to feel that they have wasted their effort, so they assign some of the credit for their own innate productivity to the editor. In practice, I have never seen any difference in productivity levels among my teammates based on the text editors they use. All of the professional programmers I know spend far more time thinking about code, discussing code, and reviewing code than they ever do editing code; even if vi were somehow magically able to make people twice as productive at editing code, that would still only be a small single digit percentage of productivity improvement overall. But I have seen nothing which makes me believe that people using vi are more productive even on strictly text-editing-based tasks than people using other text editors. There are occasional situations where a vi user can do some complex macro thing that rapidly does some transformation to a text file, which someone using a simpler text editor might take longer to perform, but if your project is full of code which needs to be transformed in repetitive, brute force ways, you have bigger problems than your choice of editor.
- Shorel 14y agoI guess some people has too look where the arrow keys are, in order to move the hand there and start using them. The same with the insert, home, etc. block. In that case, I can understand that it takes too much effort. In my case it's like I know the keyboard better than my hand, for example hit Shift + Insert so fast that I barely perceive what I do, except because something got inserted. The same for the arrow keys (which I seldom use alone, as they do more when using a modifier key, like Ctrl). Now to the point: please don't over-generalize, my own case proves that for some people arrow keys are fast enough. In fact, it's exactly like switching gears in a manual transmission, which I do. After enough practice you just know where each shift is, and do it without thinking. It's a special case of spacial awareness. However, I concede to the parent that using search (* or Ctrl-F) is much better than jumping around.