The ErgoDox, hands-down. Split-hand, thumb clusters, mechanical switches, runs on an Arduino-like board (Teensy) so the firmware[0] is very customizable. I have common progamming symbols under the homerow triggered with a layer key near my thumbs.
I wrote an article about it: http://jjt.io/2013/11/25/why-any-developer-should-check-out-...