Keyboards are an impediment to your work. Programming is thinking and creating, but, unfortunately, you need to get your ideas into the computer somehow. Ideally our brains could connect with a computer so that we could instantly share ideas and feedback. Instead, you have to impart your ideas onto the computer by mashing its rubber buttons. If you don't do that, your ideas and creativity are nearly useless.
So it makes sense to make the button-mashing as optimal as possible, so that there is no friction involved in programming. A few minutes of practicing new entry methods (using the right fingers for the right keys, etc.) eventually results in a less annoying interface between your brain and your computer. And that makes programming more productive and enjoyable.
(Interestingly, this post would have been much better if I had bothered to connect my HHKB to my netbook. Using the shitty netbook keyboard made me want to get commenting over with as quickly as possible. Make this a habit, and your shit keyboard results in shit work. For me, anyway.)
> Keyboards are an impediment to your work. Programming is thinking and creating...
This at first sounds true but really isn't; programming is not pure thought: it's thinking and implementing and seeing how the implementation goes and trying a different way, having new ideas, etc.
You can't "think" in a pure vacuum; you need to bounce ideas off something real.
I do some woodworking and let me assure you the "ideas" that I have before starting a project get changed a lot when confronted to the reality of wood and tools.
After a while you discover that, to some extent, you end up making your own tools, that fit you and the projects you like to do.
Programming-wise, that's also why I dislike IDEs: they add an additional layer between you and the object you're working on; it's like woodworking with gloves (impossible). And they don't contribute much; they advertise "speed", but the slow part is thinking, not typing!
- - -
(I'm typing this on a daskeyboard with blank keys, I've used it for two years, it's fantastic.)
Programming-wise, that's also why I dislike IDEs: they add an additional layer between you and the object you're working on
This, for me, is totally untrue. The IDE I use, IntelliJ, is the best programming tool I've ever used, bar none. And yes, I used Emacs for 5 years. It's amazing precisely because it adds an additional layer (the AST). That layer (the AST) is what I work on, with amazingly complex semantic instructions. I haven't programmed in text for years.
So it makes sense to make the button-mashing as optimal as possible, so that there is no friction involved in programming. A few minutes of practicing new entry methods (using the right fingers for the right keys, etc.) eventually results in a less annoying interface between your brain and your computer. And that makes programming more productive and enjoyable.
(Interestingly, this post would have been much better if I had bothered to connect my HHKB to my netbook. Using the shitty netbook keyboard made me want to get commenting over with as quickly as possible. Make this a habit, and your shit keyboard results in shit work. For me, anyway.)