I'm not even a programmer (not professionally), but I "run my life" with Emacs and love it. Email with Gnus, writing and project management with Org. I used to use BBDB for contact management, then wrote a replacement package called EBDB. I also wrote a glue-code package for all three called Gnorb, and need very little else out of my computer. Being able to treat nearly everything I do as text, which I manipulate with the same interface, is a joy. As a package author I'm probably running a net deficit of time-spent-writing-Elisp vs time-saved-through-efficiency, but I enjoyed the hell out of it.
The two things I balk at are the terminal, and web browsing. I've tried text-based web browsing off-and-on over the years, but the inconvenience has overcome even my love of Emacs/Stockholm Syndrome. As for the terminal... I just can't help feeling like it's an added layer of buffering, and for what? And there always seemed to be some glitches in screen rendering... So I demure, despite cursing tmux's copy/paste mechanisms at least once a day.
Emacs, Firefox and xterm are usually the only three GUI programs running on my machine.