views:

2432

answers:

31

What is your favorite IDE for Perl development and why?

Here are the choices so far:

  • Vim

  • EPIC +

  • UltraEdit

  • VIM

  • TextMate

  • E

  • Komodo

  • Emacs

  • TextPad

  • Padre

  • XEmacs

  • WordPad

  • Jedit

  • Nedit

  • SlickEdit

  • Cream

  • Trinity

  • MacVim

+2  A: 

TextMate — The Missing Editor for Mac OS X

With its snippets and code formatting and general coolness, you can't go wrong.

OK, so it's "not an IDE", but let me say that I am a better Perl programmer because of it. The entire "not-IDE" can be scripted using Perl (therefore you don't have to context switch to Lisp or whatever Vi's language is called in order to extend the "not-IDE"), there are many builtin tools for manipulating and validating scripts, and it's as fast as Vim and Emacs. What more could you want?

Frank Krueger
TextMate is not an IDE. Their site even says so.
Thomas Owens
Ummm. Ever use it Thomas? Don't hate on the TextMate.
Frank Krueger
I'm not. I'm just saying that it's not an IDE and their site says so. Maybe I'm just old-school in that there is a clear line between text editor (TextMate) and IDE (I believe XCode is a Mac IDE).
Thomas Owens
Make sure you downvote the VIM comment then.
Frank Krueger
TextMate can be setup to be used as an IDE for a lot of stuff, but, out-of-the-box, it isn't. But, as Frank says, neither is VIM out-of-the-box. Unless you count the syntax highlighting.
Brian Warshaw
Hey! I graduated from RIT! Now I understand the hating. Go pick up some girls at the Little, relax, the the anger will subside.
Frank Krueger
+10  A: 

I liked EPIC for eclipse and UltraEdit. Those are my 2 favorite.

Adam Lerman
EPIC is cool because it checks for syntax errors highlights them with squiggles.
Harry
Type BEGIN { `rm -rf /` } and see how much you like the auto syntax check afterwards.
jrockway
you run your editor as root?
MkV
OK, BEGIN { rm -rf ~/* } if you insist. Not THAT much more fun.Having said that, wouldn't that be a problem with ANY Perl compilation attempt (which you - earlier or later - do independently of your editor/IDE?)
DVK
+26  A: 

Vim, what else?

Leon Timmermans
Especially once you add pltags!
zigdon
And create a key-mapping that compiles the module in the current window.
RET
+5  A: 

Other than vim, of course, I like Komodo. It organizes your files into projects, like other IDEs, and helps with auto complete, etc, in addition to syntax highlighting.

pkaeding
+2  A: 

E (http://www.e-texteditor.com/) is a port of textmate for windows. I like it, but you have to be willing to run cygwin for it to work really well.

Otherwise, EPIC can be good, or just blast it out in emacs.

Tim Howland
+8  A: 

I randomly used Komodo Edit (a free cross-platform editor from ActiveState). There is a commercial version of the software (Komodo IDE) that is actually more complete than it. But at the end, I always fall on the simple code editor solution. In my case TextMate.

+1  A: 

Emacs. Mostly because I don't do really big projects in Perl.

Also, I find screen to be helpful for looking up documentation etc.

gerikson
+4  A: 

EPIC for Eclipse is great. I also use TextPad, although not for really big projects, and it takes some configuring. TextPad 4 is reportedly much better than version 5, but I've only tried 4.

Derek Kurth
+2  A: 

vim, although I've been tempted at times to go to EPIC, although the nature of the projects I work on make it difficult to install the dependencies locally, somewhat negating the advantage of EPIC.

Matthew Watson
+3  A: 

Komodo is worth the money if you're working on a large project.

fatcat1111
+2  A: 

Perl does not really lend itself to having an IDE as it is so dynamic. Many of the tools you'd expect (like method name completion, argument hinting, refactoring, etc) can't be easily or reliably implemented as it is not possible for the IDE to parse and understand the code.

With this in mind Perl must form part of the IDE, so what I use is the TextMate editor next to a shell where I run the code and with a browser window open on http://search.cpan.org for reference. TextMate's searching and scriptability make it ideal for Perl.

The lack of IDE support has been addressed in many ways. Notably if you are developing web apps the Catalyst framework comes with excellent debugging tools, which provide many of the features you'd expect in the IDE. The standardized way of testing using Test::More etc also help greatly.

I believe that this is the way that many programmers using highly dynamic scripting languages work, be it Python, Ruby, Perl or the others.

EvdB
+6  A: 

Although it may not yet be ready for day-to-day use, Padre looks very promising and is growing rapidly.

EDIT (10 month later). Padre is now definitely ready for day-to-day use. You can now call it a Perl IDE without blushing.

innaM
+2  A: 

I'm using Vim too. Here's my vim configuration.

Shlomi Fish
+4  A: 

For IDE-oriented work, I use EPIC in Eclipse but find it to be aggravating at times. But I don't have the spare cycles to contribute to the project, so I don't rattle the developer's cage with complaints (I do try to report actual bugs if/when I find them). Most of the time, I develop Perl in XEmacs, as it's cperl-mode is (IMHO) the best parser of Perl outside of Perl.

rjray
+7  A: 

There is a rather comprehensive table of Perl Development Tools on PerlMonks.

If you already use Emacs, please give Devel::PerlySense a go. Helps with:

  • Documentation of classes, methods
  • Navigation to classes, base classes, methods, corresponding files
  • Run tests, with assistance (sync test count)
  • On-the-fly syntax and Perl::Critic check displayed in the source
  • Code coverage displayed in the source
  • Perl Regexp assistant
  • ... and other smaller things

Works on Windows and Unix.

Even without Devel::PerlySense, Emacs already has syntax highlighting and indentation, a visual frontend to the Perl debugger, really nice integration with your version control system, ctags, the best diff/merge feature I've ever used, remote editing, etc. etc. So it's a quite capable package.

I'm not encouraging you to switch to Emacs or anything (it's got quite a daunting learning curve), but if you already use Emacs, make sure you explore all the brilliant tools it has accumulated over the years. Well, decades.

jplindstrom
A: 

WordPad what else? :)

Taveren
+2  A: 

I use EPIC (Eclipse) for stepping and debugging and the like, but I find that jEdit is indispensable for really short testing cycles, especially on remote machines. I find jEdit to be the most script-able editor that I've come across. As such I can test my perl snippets without all that asking me to save the file that so many editors do.

Using the Text Filter plugin, I can dump the current buffer to perl input as a script and get the output back as a new buffer.

Axeman
+2  A: 

Notepad++ for its sheer simplicity and basic features like syntax highlighting, block commenting etc.

Nikhil
+1  A: 

I used to use NEdit, which has some cool feature like mass indenting.

Brian G
+2  A: 

I like Komodo Edit. The basic editor is free, works on Windows and Linux, and has syntax highlighting.

jeffrey
+22  A: 

There is no one single best tool for Perl development, so let me describe a few, I usually recommend when teaching Perl:

Linux, Unix, BSD

People using Linux, Unix, BSD or similar platform usually use either something from the vi family or emacs. They both have Perl specific extension. Devel::PerlySense is an additional extension to emacs you should check out. Both families have versions that run on MS Windows as well, but most most people on those platforms go with other options.

There are also several less complex editors such as gedit, NEdit, jEdit and pico.

MS Windows

On MS Windows there are too, plenty of free and good editors such as Crimson Editor, Notepad++ There is Textpad which costs a little money and Multi-Edit which costs a lot. Both Emacs and Gvim can be used on MS Windows but I'd only recommend them for people who are already familiar with these editors.

Apple

For Apple the usual choice is TextMate.

Platform independent IDEs

There are two platform independent IDEs:

  1. Komodo of ActiveState which is a commercial tool but which has a free but less powerful version as well called Komodo Edit
  2. Eclipse with the EPIC plugin for Perl which are both free.

Unfortunately both IDEs are quite heavy and the learning curve is steep. If you are already familiar with Eclipse then I think that is a good choice. Otherwise you might spend too much time learning the tool instead of learning Perl. It might pay off for you but I don't have time for that during classes.

Most of the commercial editors and IDEs also support Perl but only as an editor. AFAIK none of them has special Perl support such as integration with the documentation, built in debugger or refactoring support.

Padre, the Perl IDE

Lastly I'd like to mention Padre, the Perl IDE that I have been writing. This is a Perl editor written in Perl using wxWidgets. It is platform independent and free. Its aim is to provide a good framework for starting to write Perl code but also to provide refactoring tools and a framework to develop large applications in Perl.

There is also a reference table of Perl Development Tools on PerlMonks you should check out.

Personal preference

As for my personal preference: I have been using vim and gvim on both Linux and Windows for several years. Recently I decided I'd like to create an IDE that is friendly for new Perl developers even on Windows so I started to write Padre. I am still more comfortable with vi but I am starting to get used to it. Besides, I am going to add a vi-mode with at least those features I miss.

Poll

In October 2009 I ran a poll asking Which editor(s) or IDE(s) are you using for Perl development?. vi, emacs and Ultra Edit came out at the top of the list.

szabgab
Just a note: Emacs is very much cross platform.
jplindstrom
+1  A: 

I prefer SlickEdit. It does very well at the syntax highlighting and formatting. I love it's interface for editing multiple files at the same time, and it's ftp/sftp functionality is a must have for web development on a remote server.

+7  A: 

Vim is available on many platforms, and it makes a good editor for writing Perl; however, some customization can make it even better.

  • if you want a heaping helping of Vimly goodness, but you haven't memorized all the counterintuitive keymappings and commands, try Cream. Cream is Vim bundled with a custom configuration that makes Vim behave much more like a "mainstream" GUI text editor (e.g. TextMate, Notepad etc.).

  • another bundle of interest is Trinity. adding Trinity to your Vim installation gives you tag generation, directory browsing, and source browsing, all toggleable independently.

  • finally, the Perl IDE for Vim is a plugin that provides extensive, customizable templating and code snippets, easy inline runs of perltidy and SmallProf, enhanced autocompletion, and various other goodies.

-steve

p.s. if you're on OS X, don't use the clunky old Carbon gvim that you get from vim.org. MacVim is a Cocoa port that not only replicates the functionality of stock gvim but adds additional features such as application integration and full-screen editing.

hakamadare
+1 Woo! MacVim!
Chris Lutz
+6  A: 

Emacs. I always prefer emacs.

Swanand
On OS X, Aquamacs is great too.
Chris Lutz
I've heard good things about it.. Sadly though, I haven't used a Mac yet! Let alone Aquamacs!
Swanand
+1  A: 

I find that if I'm working in Perl, a worthwhile command line along side my editor of choice is a must have. I work primarily in Linux when I can so bash is readily available but if I'm in Windows, I make sure to install Cygwin.

antik
+2  A: 

I am constantly coding in different languages and different environments, so it is jEdit for me, and failing that I use kate, notepad++, gvim, vim or xemacs.

dsm
+1  A: 

http://sourceforge.net/projects/open-perl-ide/ - What about this?

Manoj
There are no screen shots on their Sourceforge page, which means it is not worth my time.
cowgod
A: 

Enginsite Perl Editor lite, because it's free, load fast on my old P4 system, and has function listing, plus i can run it straight from this ide :)

melaos
+2  A: 

Kate in Linux Crimson Editor in Windows

0A0D
A: 

Larry Wall uses something called MyVi, which I guess is his own version of vi, but I'm not sure. Lots of Perl people use Apple computers.

Kinopiko
A: 

I've been using BBEdit on Macs for many many years and see no reason to change. Does it not count as an IDE? Mind you, TextMate says it isn't an IDE either.

BBEdit is very much a Swiss Army Chainsaw. It's got tons of useful features which I've come to rely on over the years.

AmbroseChapel