Once and a while I get asked what tools I use — what code editor, version control, etc. Here’s the rundown!
Code Editor: Espresso for OS X, by Mac Rabbit. It’s the best code editor I’ve ever used, one of the main reasons I feel this way is that I can easy peek-in on files without opening them. The editor opens a window as a “project” rather than separate windows or tabs for each file. Unless you actually change something in a file, you need not worry about closing it — this is one of the more annoying things with other code-editors like Notepad++ and Coda, if you’re searching for some other code to copy or looking for issues, you need to open the file, then close it back up to save your tab-bar from getting over-crowded.
Beyond that one big reason, it’s fast, has nice syntax colour coding, very light on memory, stable, and has really nice FTP capabilities (like syncing up directories). You can also search entire projects for code, making it easy to find leftover legacy code you’d like to get ridof.
Version Control: Git. I was using SVN for a long time, but GitHub’s existence really tips the balance towards this newer solution. Also, the fact that git doesn’t pollute your repository with hidden sub-directories *everywhere* is also very nice. Although I’ve played with the “GitHub for Mac”, I prefer the command-line flavour.
Database: Sequel Pro for OS X. I was a long-time user of PHPMyAdmin, but their recent over-crowded-looking theme changes had me seeking a new solution. Sequel Pro is certainly faster than the web-based PHPMyAdmin, and is laid out with a nice simplistic UI.
Hardware: Macbook Pro. My current one is a late-2008 Unibody, one of the first of that line. The reason it’s worked out nicely for programming is that Espresso is an awesome code editor, and having Terminal available for command-line SSH and Git, etc, gives you the best of both the Mac and Linux/Unix world. Also is very nice that you can now very easily have a full-screen terminal!