I’m looking for a IDE that supports PHP/JAVA/CSS/HTML/JAVASCRIPT and possibly other languages.
Jetbrains IntelliJ and Sublime Text both seem like good choices.
However, since both require a payment for continued use, I’d like to know what the pros and cons of these two IDE’s are, so as to get a better idea of which would be right for me. I’d like, not having to learn how to use both.
Thanks.
First off all, IntelliJ is an IDE, where as Sublime Text is a text editor. This difference means a lot when you want to work with languages like Java, that has a lot of syntactic bagages, but is quite productive with good IDE support.
In my experience an IDE focuses on adding support for much of the tooling involved around developing in a specific language, for instance build tools, debuggers, test runners etc. In addition an IDE is very useful when you work in statically typed languages, because the safe refactoring support you get is really productive.
A good text editor on the other hand focuses on manipulating text (although editors like Emacs is almost an OS in and of itself), and so thats where it’s greatest strengths lies. Really investing to learn a good editor makes you look like a “text surgeon”.
Some people claim that there is little value add with an IDE for working with dynamic languages, but after having used tools like WebStorm and RubyMine I disagree.
To generalize, an IDE provides you with a really productive environment out-of-the box, where as an editor usually needs to be customized to fit your specific work-flow. That also means that text-editors are more customizable, and can be configure to fit your specific needs more so than an IDE.
Personally I feel most productive in an IDE, but when I look at people really proficient in VIM or Emacs, I can’t help wondering wether I should invest the time learning the tools.
I highly recomend watching the Play by Play and Destroy all Software screencasts for examples of developers that really have invested in learning and customizing their text editor.