# Komodo IDE vs. Eclipse for Perl development
I've been using Komodo for over 5 years, and I began seriously using Eclipse on 2009-Jul-06. Both are multi-language IDEs, but my focus is on Perl ([Komodo doesn't do Java](http://community.activestate.com/forum-topic/does-it-work-with-java)). Here's how they stack up.
I've been using Komodo for over 5 years, and I began seriously using Eclipse on 2009-Jul-06. Both are multi-language IDEs, but my focus is on Perl ([Komodo doesn't do Java](http://community.activestate.com/forum-topic/does-it-work-with-java)). Here's how their feature sets stack up.
| | [Komodo IDE 5.1.4](http://www.activestate.com/komodo/) | [Eclipse 3.5.0 (Galileo)](http://eclipse.org/) with [EPIC 0.6.4](http://www.epic-ide.org/) |
-|
| Development | active | Eclipse: very active<br/>EPIC: [low activity, no roadmap](https://sourceforge.net/forum/message.php?msg_id=7463461)
| [Startup time](http://community.activestate.com/forum-topic/eclipse-open-komodo#comment-9824) | 8 seconds | 6 seconds
| Editing speed | [Komodo 5 slower than 4](http://community.activestate.com/forum/komodo-5-way-slower-komodo-4), due to history feature[^komodo_5_slower] | fast
| Rearrange panels/views | <span style="color: red">[hell no](http://bugs.activestate.com/show_bug.cgi?id=36583#c3)</span> | <span style="color: green">oh yeah</span>: resize, move, maximize, minimize, restore, detach/float
| Plugins | yes | automatic installation, [loosely-coupled installation](http://www.venukb.com/2006/08/20/install-eclipse-plugins-the-easy-way/)
| Perl support | built-in | [Plugins](http://www.eclipseplugincentral.com/Search-index-q-perl.html): [EPIC](http://www.epic-ide.org/) (freeware), [Perlipse](http://code.google.com/p/perlipse/) (freeware), [Pedeto](http://www.guh-software.de/pedeto_en.html) (200 €) |
| Perl support | built-in | [Plugins](http://www.eclipseplugincentral.com/Search-index-q-perl.html): [EPIC](http://www.epic-ide.org/) (freeware, tested for this comparison), [Perlipse](http://code.google.com/p/perlipse/) (freeware, not tested), [Pedeto](http://www.guh-software.de/pedeto_en.html) (200 €, not tested) |
| Subversion integration | built-in | [Plugins](http://www.eclipseplugincentral.com/Search-index-q-subversion.html): [Subversive](http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-611.html), [Subclipse](http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-47.html)
| Subversion integration | built-in | [Plugins](http://www.eclipseplugincentral.com/Search-index-q-subversion.html): [Subversive](http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-611.html), [Subclipse](http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-47.html) (not tested)
| <span style="font-size: 1.3em">Editing</span> |||
| Spell checking | ? | built-in; the EPIC plugin doesn't support it
| Remote editing | built-in (S)FTP, SCP, FTPS | via SSH with the [RSE plugin](http://www.eclipse.org/dsdp/tm/)
| Auto-detection of remote file change | <span style="color: orange">only on save</span> | <span style="color: green">instant</span>
| As-you-type syntax check | <span style="color: green">yes</span>, with OK/fail status indicator (bottom) | <span style="color: orange">yes</span>, with OK/fail status indicator (top right), but frequent leftover error squiggles after having corrected the error
| Syntax check of remote files | yes, with local interpreter | apparently not
| Syntax check with remote interpreter | no | [no](https://sourceforge.net/forum/forum.php?thread_id=3313341&forum_id=258688)
| Template::Toolkit support | <span style="color: green">built-in</span> | [not](http://mail.template-toolkit.org/pipermail/templates/2009-March/010681.html) [yet](http://www.cpanforum.com/posts/10557) [available](http://www.ozzu.com/programming-forum/perl-template-toolkit-plugin-for-eclipse-t98733.html)
| <span style="font-size: 1.3em">Debugging (Perl)</span> |||
| Local debugging speed | <span style="color: orange">0.5s delay on basic step over</span> | <span style="color: green">instant</span> |
| Remote debugging | [yes](http://docs.activestate.com/komodo/5.1/debugperl.html), [tested](http://dev.catalyst.perl.org/wiki/gettingstarted/howtos/debugging_catalyst_applications#Debugging_remotely_with_Komodo) with Catalyst and PHP | EPIC - [experimental](http://www.epic-ide.org/guide/ch06s02.php#N10812); [not with Perl 5.10 on Vista](https://sourceforge.net/forum/forum.php?thread_id=3321269&forum_id=258688); **to test**
| Watch expressions | <span style="color: green">yes</span> | [no](http://sourceforge.net/support/tracker.php?aid=2818357), but can [evaluate expressions](http://sourceforge.net/support/tracker.php?aid=2501592) as a workaround
| Change variable value | yes? | [no](http://sourceforge.net/support/tracker.php?aid=2818360)
| F10 to Step Over[^Firebug_F10] | [no](http://bugs.activestate.com/show_bug.cgi?id=81657#c4) | <span style="color: green">yes</span>
| Conditional breakpoints | <span style="color: green">yes</span>: expression, when variable changed, when/after function is called, when exception occurs</span> | <span style="color: red">no</span> |
## Conclusion
While Eclipse itself is great, open-source, and way more powerful than Komodo IDE, its EPIC Perl plugin makes debugging painful at times. If you've never even used an IDE to debug Perl before, go for Eclipse. If you've been using Komodo's powerful debugging features, stay with it for now.
## Footnotes
[^komodo_5_slower]: Komodo 5 (both IDE and Edit) have a persistent history feature that stores your every location in the files you're editing. That means that each search and tab switch result in database update queries, which access the disk.
[^Firebug_F10]: I don't want to memorize three sets of debugging shortcut keys (Firebug for JavaScript, Eclipse for Java, and Komodo for Perl). Since Eclipse and Komodo shortcuts are configurable and [Firebug shortcut keys](http://getfirebug.com/keyboard.html) aren't, I want to configure Komodo and Eclipse to match Firebug.