I switched to a Mac in 2007 and ever since then, I’ve been doing all my programming in Textmate, which I love. Truly, it’s a great text editor and the bundles enhance the functionality a great deal. However, I’ve been thinking for awhile about switching to a full-blown IDE, primarily for the debugging. Debugging PHP web development feels so clumsy without a proper debugger, and since I’ve been playing with Objective-C and Xcode, it’s made me long for those features all the more. So I decided to do something about it.
A few searches later, I had turned up some possibilities:
- Zend Studio
Right off the bat, every single one of these start out sucking because of the fugly mess that is Java. Ugh. They’re slow, feel bloated, mostly don’t use the standard OS controls like file browsers, and generally feel exactly like I would expect something programmed in Java to feel. Seriously, what is the deal with Java?? (and why are there no native IDEs for OS X other than Xcode?)
Enough ranting, though. I’m here to get things done, not rant (or fawn) over tools, so I installed them and gave them each a whirl. Previously, my criteria for an IDE would have revolved mostly around PHP, but as I’ve been learning Python and just recently got an Arduino, I want something that can grow a little more with me. So this rules out Zend and PHPStorm right off the bat, since they’re designed for PHP specifically. If I’ve been unfair with that assessment, let me know.
This leaves Eclipse, Aptana (which is based on Eclipse), and Netbeans. My criteria aren’t terribly complicated, I don’t think:
- Easily themable (I can’t handle black text on a white background)
- Good code completion and debug support
- Can handle frameworks like CakePHP, Django, and jquery.
- Good community support, lots of plugins, tutorials, etc.
Aptana 3 was by far my favorite in terms of the interface, but it has no support for running or debugging PHP yet. That’s just a deal-breaker, and the fact that they’ve been saying it’s coming soon for the last four months doesn’t inspire confidence. Aptana 2 is usable, but gives up a lot of the ground that Aptana 3 gives you, and I’m not entirely sure why I wouldn’t just use Eclipse over Aptana 2. Plus, their site is really frustrating to me…feels like the docs and support are poorly organized, though that’s certainly no different than Eclipse or Netbeans.
The first thing I notice with Netbeans is that they have dark themes. I select one and immediately feel some of the Eclipse-provided stress start to fade. I poke around a bit, and I really do see things that I like. But something just doesn’t feel right…hard to put my finger on it. The apparent lack of a feature like Eclipse’s Perspectives is annoying. And maybe I’ve missed something with Netbeans, but it doesn’t seem like you can run and debug a single file, only an entire project? Pretty annoying if that’s the case. Let me know if that’s the case.
Overall, I really like Eclipse. After ten or fifteen minutes, I was able to get the layout and most other things arranged how I like, run through some programs, etc. There are plugins for everything, the community is deep, etc. However, there are some things I really don’t like. The preferences are complex and disorganized. The website is a jumble of jargon and it’s hard to find anything. If you asked ten enterprise product managers from different countries to collaboratively design a website, http://eclipse.org is probably what they’d come up with. I think someone must have also asked them to develop that logo/icon as well, or someone figured out how to build a time portal to 1982. At any rate, I can live with all of this, but the thing I absolutely can’t handle is the default black text on a white background. I feel like I’m about to have a panic attack every time I look at it. Looking at a black screen with a blinking cursor is just so soothing, so I immediately set out to fix this flaw and find a dark theme. Well, bad news: Eclipse doesn’t have themes. You also can’t import just color settings, and the default color settings are useless, so if you want dark themes, you have to go through every language you use and set all the colors for each text type (comments, selected, functions, etc). This requires probably 300 clicks for each language. I don’t have an afternoon to spend on that; what am I missing, people?! I would seriously pay $20 right now to make this problem go away.
So overall, I’m not quite satisfied, but I’m also not ready to give up. Since my only beef really with Eclipse is the horrible hassle of getting the colors like I want them, I might suck it up and try to get that all working. Ugh. Seriously, if you have a solution here, please offer it up.
In short, I’m frustrated. I might give emacs or vim a look, but I’m really adamant on the debugging thing, and it’s unclear to me how those would interact with something like xdebug for true php debugging.
Master programmers everywhere: if you use an IDE for multiple languages, please tell me what your solution is and whether I should continue down this road, check out emacs / vim, or just stick with Textmate.