A lot of people seem to have tried new keyboard layouts and found them great for English text, but been disappointed to find that there is not a commensurate improvement when programming. I wanted to share what has worked for me in this regard.
When touch typing I find I really like to stay at the home row. I have remapped the AltGr part of the keyboard to the keys I use the most often when programming. To find the best remapping I wrote a genetic algorithm and fed it a corpus of my earlier work. In my case, this was mostly C++ and Python code. I took the output of that as my starting point and then used intuition and experimentation to find what works best for me. This is my result (I have left a few spots clear for future expansion):
\{}& |*[]
#:;/0 1=()_
!-+ 23<>4
If you are a Kinesis user, you can map a foot pedal to AltGr. I find this has really made programming easier for me.