3 ms·
He has 2 general points: 1. Paraphrased: GUIs can present so much more information, so readily, and you should always have your eyes open for all that informat
by adgar 15y ago
He has 2 general points:
1. Paraphrased: GUIs can present so much more information, so readily, and you should always have your eyes open for all that information all the time because you can always do better if you have more information thrown at you.
This is a big assumption. He first illustrates it with file copying, and I think he is incredibly in the wrong there. He seems to think that developers are the kinds of folks who, on the way to copying a file, would like to be distracted with overall system information that they are apparently too clumsy to manage adequately. How often when you're programming do you think "oh, I only have 3 gigs free, I think I'm going to do some spring cleaning!" I'm a task-oriented fellow when I'm programming. I need as little distraction as possible. Everything he described is a distraction. Not everybody's like me, though. I'd like to hear other people's thoughts.
Then he explains how it can help during development with what sounds like the most horrifying GUI imaginable:
If you just got an exception, you should see the running code, the entire stack, the values of all variables, documentation for the currently selected function, system I/O, and on and on.
Dear jesus no - that is so much crap! At best, I want a stack trace, and I'm smart enough to handle myself from there. Documentation on an exception? What does he even mean by "system I/O" - a list of open file descriptors? Ugh. Ugh ugh ugh. More information in your face is not universally better in my humble opinion. Personally, in the systems I debug, almost everything he listed would just get in the way and piss me off.
2. But, but, but… A good GUI can be controlled with the keyboard! A good GUI can be operated completely with the keyboard, and has good keyboard shortcuts for the most common tasks.
See, he starts to have a good point here, but misses why it fails to pass muster versus a shell.
He explains how he has a GUI git program and how it has nice keyboard shortcuts. Which is lovely.
He didn't mention the effort taken to switch programs so you can use those keyboard shortcuts. You have to alt-tab, locate the window, and context-switch your brain over to using a different program. Every time you have a task requiring a different program.
In the shell, I can do almost all of my daily tasks that I don't otherwise choose to do in the browser (though those could all be done from the shell if I wanted, and all those webapps have extensive keyboard shortcuts). I don't need to think about how to do something in this program or that program - it's one, programmable environment.
- cool-RR 15y ago"More information in your face is not universally better in my humble opinion." If you're not currently interested in the information, don't look at it, and then when you might be interested in it, you can look at it. If you have big screens this is not an issue. "You have to alt-tab, locate the window, and context-switch your brain over to using a different program." Sure, but it's on about the same par as using `cd`. And if you're using a good IDE, you have to do much less window moving and have fast shortcuts for moving to exactly the right window instead of Alt-Tabbing.
- adgar 15y agoI'm on my phone, so I can't quite properly. But to your first point, if it's as easy as "don't look at it", then you're saying there's no reason to not up as much information on-screen as Possible. In the file browser how about we show inode and sector/block information for every file? Add a button for every possible action? Having too much on your screen is not solvable by "don't look at it". Suggesting otherwise flies in the face of everything we know about interface design. As to saying that changing programs being equivalent to typing "cd", I don't see how that makes any sense. When you change programs you need to remember how that program operates, it's shortcuts, its features, and so on. Does this Program autocomplete or not? What's the shortcut for "send email" again? It's a heavy context switch. "cd" is not. And since this post is advocating GUIs, that means specialized programs with guis for different tasks. Email, editing code, vcs, file manipulation, and on, and on. That's a context switch for every task and a new environment to work with.
- cool-RR 15y agoIf you don't find the stacktrace / variable values / whatever info useful at all, then by all means don't keep it open in your IDE. I personally find it useful and helpful in solving bugs.