Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As someone who can type plenty fast and use a mouse/trackpoint competently, I am annoyed when a significant group of programmers seems to take pride in not able to use a mouse, e.g. http://stackoverflow.com/questions/53132/mouse-for-programmer/53750#53750

So, in your experience, what programming related tasks can be done more efficiently with keyboard + mouse than just keyboard? (No, whacking your coworker with your keyboard while strangling he or she with your mouse cord doesn't count.)

share|improve this question

closed as primarily opinion-based by gnat, GlenH7, Dan Pichelman, Bart van Ingen Schenau, MichaelT Jul 2 at 18:32

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Navigating my IDE without the mouse is a challenge, but that just begs the question . . . –  Eric Wilson Aug 4 '11 at 14:55
VS is pretty easy actually. Hold control tab and you can see all of those hiding tabs. –  Morgan Herlocker Aug 4 '11 at 15:11
Changing tabs is easy, but opening different views, running an individual test (not the whole class), changing the build path, and a variety of other non-editing tasks take me to clicking. I do know a lot of shortcuts, and I use them, but they don't do all that I want. –  Eric Wilson Aug 4 '11 at 15:22
I will vote this question down, as soon as I know what the correct keyboard-shortcut is! ;) –  user unknown Aug 4 '11 at 17:44
@user unknown - pfff, that's easy, just hit F12 to bring up firebug, then CTRL+SHIFT+L to get the command line, then type $, then ("#, then q, u, e, followed by stion .vote-down-off").click() and hit ENTER.. I mean really, it doesn't get much simpler than that... –  Alconja Aug 4 '11 at 23:29
show 2 more comments

4 Answers

I've used vim (and previously vi) for almost 20 years, so I definitely know the value of a keyboard-oriented interface. However, I also use a mouse for several tasks:

  • Switching between windows. Right now I have 17 windows open. In the midst of a heavy debugging session I have several more. alttab is just too inefficient.
  • Scrolling. The scroll wheel on the mouse gives a much smoother feel than holding down a key.
  • Navigating infrequently-used programs or features. I can't be bothered learning keyboard shortcuts just to forget them before the next time I need them.
  • Navigating programs with densely-packed GUIs. Yes, I know I can tab between fields, but if it's going to take 20 tabs to get there, the mouse is much faster.
  • Any "visual" work, whether it's editing a still picture or video, designing a GUI, or whatever.

None of those use cases are really programming-specific, but they come up a lot while programming. Actually editing the code is all keyboard, all the time.

share|improve this answer
+1 for the alt tab part. I thought 17 seemed pretty high, so I counted mine and it turned out I had 24 open, and I'm sure it goes much higher than that sometimes. –  Morgan Herlocker Aug 4 '11 at 15:09
You can avoid the alt tab issue in Win7 to a degree. Using WIN+[0-9] selects each of the apps you have running in your taskbar based on their position. So on my PC at the moment WIN+3 switches to firefox, WIN+6 switches to my IDE & WIN+1 will cycle through the 3 explorer windows I have open. –  Alconja Aug 4 '11 at 22:58
add comment

For me, I'd say it's mostly GUI design and layout. Positioning widgets on a screen is much easier with mouse than a keyboard. Some might argue it's not stricly "programming", but I'm a programmer and I do it as part of my job. And if it results in generated code, then maybe it is a form of programming after all!

share|improve this answer
And sometimes you can make broad moves in a GUI with the mouse but have the keyboard ready for finer movments or short-cut keys. –  JeffO Aug 4 '11 at 14:57
add comment

I use the keyboard extensively (close to exclusively) in VS 2010 and in my SQL Client, but outside of that, I feel like there is a net productivity loss, since many applications are mapped differently. That is not even taking all of tasks done in a browser into account, which is probably the least consistent place of all. Everyone has 2-3 tools they no like the back of their hand, and those are good candidates for learning how to do everything without a mouse and still have a net gain in productivity, but outside of that you are usually just fiddling and trying to act like super-ninja-hacker (aka procrastinating). There is really no point for a programmer to learn every hotkey in something they hardly ever use, just so they can feel cool leaving there mouse unplugged.

share|improve this answer
add comment

As a Visual Studio user I find the mouse to be required from time to time.

  • Winforms design. You have to use it to drag & drop from the toolbar.
  • I find scrolling through code is much easier than using the up/down or page up/down buttons. Not everyone has a scroll-thingie on their keyboard.
  • Looking anything up on the web or pretty much anything that isn't my editor.

But overall: print out a list of the most used shortcuts of your favorite editor and try learn a new one each day.

share|improve this answer
My opinion is that it is important for a programmer to (a) get a good keyboard, learn to touch type, and learn the shortcuts of your editor AND (b) get a good mouse, get good at it, and learn the tricks of your environment (e.g. double click to select and middle click to paste in X). One doesn't preclude another. Unfortunately, I have seen a lot of people advising (a), while looking down at (b). –  sayap Aug 4 '11 at 16:23
I'm surprised to see how many people don't know that they can close a tab by middle mouse clicking it. Things like these can indeed be very helpful in increasing your productivity. –  Carra Aug 5 '11 at 7:19
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.