1) Functional Programming
2) VIM
3) Kinesis Advantage
4) tmux
Really, I can't think of programming without those four tools.