The other four tools -- Alpha Anywhere, Komodo Edit, Notepad++, and TextMate -- don't rank with the above group, and I didn't give them full evaluations. Still, they're worth knowing about, so I've included them in the discussion.
Which should you pick? I have to give you the consultant's answer: It depends on what you need, like, and can afford.
If you want a flexible, powerful, extensible, and lightning-fast programming text editor, look no further than Sublime Text. For bonus points, it's also cross-platform. And while Sublime Text is definitely not an IDE, it can be beefed up using plug-ins to take on some of the features of an IDE.
For integrated development that goes further afield, consider Visual Studio 2013, NetBeans, or Komodo IDE.
NetBeans is a quite capable and complete IDE, and version 7.4 adds welcome support for Android and iOS mobile Web development based on Cordova/PhoneGap. On the downside, it can be frustratingly slow, especially at startup.
On a positive note, Eclipse is at this point fairly mature. There's a plug-in for any open source project, programming language, or popular ALM product you can imagine.
JSDT has lofty goals:
The AST (abstract syntax tree) is itself buggy, and this is reflected in errors in the "smart error detection and correction." This isn't a hopeless situation, however. The JBoss Tools Team posted at Planet Eclipse on Jan. 27 that it had started to contribute to the JSDT project to fix the important bugs and overcome the important limitations. The results of its work are already reflected in the Git repository, but not in any current releases.
JSDT is supposed to have the following key features:
- Syntax highlighting
- Full outlining showing classes, functions, and fields
- Highlighting and checking of matching bracket and parentheses
- Auto-completion of brackets, parentheses, and indentation
- Marking of occurrences
- Generation of element JSDoc
- Hover help that displays element declaration with JSDoc or error message
- Configurable error/warning checking, including full-language syntax and type/class structure resolution
- Flow analysis showing unreachable code, unused variables, and variable hiding
- Quick fixes
- Completion templates
- Extensible and customizable code formatting
- Full search
- Refactoring -- renaming, moving, member extraction
- Support for user-defined and browser libraries
Of that admirable list, the syntax highlighting and limited refactoring usually work OK, as do marking of occurrences and bracket/parenthesis matching. Hover help kind of works, but it often displays bogus error messages. Smart Code Completion kind of works, but it's slow and unreliable. Quick fixes seem to be something to avoid for the most part.
JSDT is supposed to have integrated debugging support for Rhino and Crossfire. As far as I can tell, only the Rhino debugger works.
I've been a user and fan of Komodo IDE since it was first introduced in 2001. Although newer products, such as Sublime Text and WebStorm, have surpassed it in some areas, it is still a very good editor and IDE.
Komodo IDE already had column editing; in 8.5, it added multiple selections. This provides near parity with Sublime Text as far as mass edits are concerned. As long as we're doing the comparison, Komodo is more of an IDE, and Sublime Text is much faster. And since we're discussing performance, Komodo's speed has improved noticeably compared to older versions, in screen drawing, search, and syntax checking.
Another differentiator is the database explorer, which lets you examine the structure and content of various databases. SQLite and Oracle support are built in. I installed a MySQL extension in a few minutes, and it worked well. Unfortunately, extensions for additional databases, such as Microsoft SQL Server and PostgreSQL, don't seem to be available. For this particular purpose, you either need to use a separate database client program or an integrated development system that knows about lots of different databases, such as Alpha Anywhere.
Collaboration is another Komodo IDE differentiator -- think Google Docs for code. You can create sessions for groups of files, add contacts to sessions as collaborators, then work together on the same files at the same time, with near-real-time synchronization.
Collaboration is not a replacement for source code control, but it's a useful supplement. Komodo IDE integrates source code control using CVS, Subversion, Perforce, Git, Mercurial, and Bazaar. Only the basic version control operations are supported. Advanced operations, such as branching, must be done using a separate source code control client.
Komodo IDE has a DOM viewer that lets you view XML and HTML documents as collapsible trees. It also lets you do XPath searches to filter the tree.
Komodo IDE can publish groups of files over FTP, SFTP, FTPS, or SCP. Komodo can also synchronize files and detect potential publishing conflicts that could cause you to overwrite other people's changes.
Code analysis runs in the background as you edit, providing warnings and hints. Debugging works in the embedded WebKit browser and in Chrome with the NetBeans Connector installed. The debugger can set DOM, line, event, and XMLHttpRequest breakpoints, and it will display variables, watches, and the call stack. An integrated browser log window displays browser exceptions, errors, and warnings.
NetBeans can configure and perform unit testing with the JsTestDriver, a JAR (Java archive) file you can download for free. Debugging of unit tests is automatically enabled if you specify Chrome with NetBeans Connector as one of the JsTestDriver browsers when you configure JsTestDriver in the Services window.
Sponsored by IBM
Find out what to look for in a Java IDE and get tips for deciding which of the top three--Eclipse,...
Redis isn't your typical NoSQL data store, and that's exactly why it hits the sweet spot for certain...
Built for realtime, Kafka scales horizontally and offers much higher throughput than some traditional...
Webhooks are event-driven APIs that overcome all kinds of integration challenges; you should be using...
The new OCID project places a variant of the Docker runtime directly into Kubernetes
An extension based on the Language Server Protocol offers developers expanded use of Microsoft's...
A small but growing number of libraries written entirely in Go are stepping up to show that Google's...