Keyboards, oh my!

If you're a programmer, you spend most of your working life on your keyboard, and a good keyboard layout can make the difference between touch typing and carpal syndrome.

That, and an irresistible drive for being the alpha nerd around, pushed me to teach myself Colemak.

It was painful and frustrating at the beginning, when I saw my typing speed precipitating from a respectable 80 words per minute to a horrific 20wpm. But now, now that touch typing has no mysteries for me on this mystical keyboard, now I got beyond my past self, recently crushing the 90wpm milestone. Hooray!

(def best)

In this data driven world, we constantly need to verify whether the decisions we make are still valid, and therefore the question: would Colemak be the best keyboard for me? Am I losing by sticking with the wrong choice? And would I be even willing to switch again keyboard layout in the foreseeable future?

While the answer to the last question is a roaring "NO!", I needed to know. I needed data. But how?

Well, first things first, I type lots of Groovy and Clojure these days. But I don't care for the former language, my heart is really about my dear lispy friend. I just had to find a way to produce an automatic comparison, surely enough, here it is: the Keyboard Layout Analyzer, courtesy of Patrick Gillespie.

I love the Internet.

The winner is..

Aaaaand here it is: a comparative analysis of what keyboard is the best for Clojure Developers™, after feeding the analyzer with clojure/core.clj, with its impressive 7447 lines of code: