I’ve stayed out of this thread so far because @Socratic_Phoenix said eclipse was off his radar and so I didn’t feel the need to contribute anything. There were some good suggestions made above, however the fact that the thread has now just descended into bashing eclipse (and others) has frankly pissed me off enough to comment because it’s utterly unecessary and - more poignantly - unhelpful to anyone who might wish to glean some actual useful information from the thread. We all have our preferences but bashing someone elses preferences is not the way to extol yours.
Now, I completely realise eclipse might not be everyone’s cup of tea, but seriously, lay the hell off the negativity since it’s misleading to someone new to the scene who may be wondering which IDE to use and is actually … you know … looking for reliable information.
Eclipse isn’t so much a single IDE as it is a platform for creating your ideal IDE, which makes it extremely powerful in the right hands. As someone who uses it day-in, day-out for everything from Java to C++ to PHP and HTML I can attest to its efficacy. Eclipse is very much the linux of the IDE landscape - unforgiving, but if you learn its excentricities you will discover it is mind-meltingly powerful.
Sublime text, Notepad++ etc. are not really IDEs so can be discounted in the IDE considerations, but if you want an editor then they both have their strengths, though NotePad++ really shines in having a rich array of plugins to choose from. Sublime text is deliciously pleasant to use though it’s less welcoming to new users.
Visual Studio is acceptable as a web-dev IDE, though it’s not the most flexible and it really needs plugins before it becomes a servicable IDE. The fact that its web dev features are aimed squarely at ASP really starts to show once you take it outside its comfort zone, though within its comfort zone it’s pretty much unrivalled. It’s also easily the slowest of all the IDEs, though it’s getting better in more recent versions, and has the worst keyboard support of pretty much any IDE out-of-the-box, which can be a big turn off if you’re very keyboard-oriented.
Netbeans I can’t speak for, as the last time I used netbeans was over 5 years ago now, so I won’t comment on it other than to say it’s features were adequate but there are better choices.
IntelliJ is reasonably fast and if you can cope with its quirks is a really nice environment to work in, it beats all but Sublime text in terms of appearances though its feature set is squarely aimed at java and jetbrains do some better products aimed more specificly at web dev. Incidentally jetbrains also make ReSharper which could be coyly referred to as “intellij for visual studio” which is a must-have if you want to actually use Visual Studio without going completely insane. Its 250 quid but it’s absolutely worth it to make VS operate like a modern IDE.
Ok, haters need read no further.
To anyone reading this who isn’t @Socratic_Phoenix or any of the people mindlessly bashing eclipse: it’s worth bearing in mind that there are base editions (or rather, “distributions” in effect) of eclipse which are aimed at specific types of dev (much like jetbrains different offerings) and especially when working with dynamic languages such as PHP it’s an extremely powerful tool, largely thanks to a system called DLTK which constantly “compiles” your application in the background and provides exceptionally good auto-complete and other “rich” editing features normally associated with strongly-typed languages.
It’s important to anyone coming in fresh to dev that IDEs can be very much a matter of personal taste so some crucial points to bear in mind:
- If you don’t like an IDE, don’t let that put you off development! Try another IDE until you find one that you like.
- If you find an IDE that you do like, don’t panic if it doesn’t do everything you want it to. All the popular IDEs available are extensible via plugins (yes, even Visual Studio) so don’t be afraid to search
- Use the right tool for the right job! As the saying goes: sometimes if all you have is a hammer then every problem starts to look like a nail. Always bear in mind the two previous points, and if your IDE is hindering you then change it or extend it. It’s okay - and in many cases prudent - to use different IDEs for different languages.
Text editors are the quick and dirty, text editors are changing a flat tyre at the side of the road, or mending your coat with sticky tape until you get home
IDEs are what you should be using for projects, IDEs are servicing your engine in your garage or making a new coat from fresh fabric.
- If you find yourself working on a project in a text editor, you’re almost certainly making life unnecessarily harder for yourself
- Don’t listen to the haters. If you want to try something out, don’t be afraid to.
Oh yeah, one last thing: