Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Perl Development Environment - Revisited

by mercutio_viz (Scribe)
on Mar 13, 2007 at 15:47 UTC ( #604586=perlquestion: print w/replies, xml ) Need Help??

mercutio_viz has asked for the wisdom of the Perl Monks concerning the following question:

I'd like to revisit a subject that hasn't had too much discussion the past few years: what environment are you using to develop your Perl scripts/programs/applications?

I did a PM search on subjects like 'text editor', 'development environment', etc. I noticed that there was a flurry of active discussions that all but stopped around 2001/2002. Recently there have been discussions in the Perl community about the need for better tools and the fact that other languages seem to have a leg up on Perl.

Lately I've been playing around with Eclipse and the EPIC plug-in. I've had a lot success with the EasyEclipse package, which rolls up Eclipse with a bunch of plug-ins. Specifically, I've used the LAMP package. So far I would have to say that this is finally an OSS tool that Perl developers can use. There is still much room for improvement, but the strides that the EPIC team have made are noticeable.

I would like to know what the Perl community is using now. Are you still using emacs and/or vim? Is there another secret weapon out there?

Thanks for your input!

-MC

  • Comment on Perl Development Environment - Revisited

Replies are listed 'Best First'.
Re: Perl Development Environment - Revisited
by philcrow (Priest) on Mar 13, 2007 at 16:04 UTC
    I've seen many IDEs over the past 20 years or so. The only one I have ever found compelling is XWindows running on unix. The text editor choices are great (most IDEs have a preferred editor the project people wrote themselves), the pasting of code between windows eases refactoring in completely intuitive ways, switching any piece of the development suite affects almost nothing else and needs no configuration (how hard does the IDE make switching from cvs to svn then to svk), complete stability, libraries of books on how to use the IDE, great scripting languages (perl comes to mind), incredible tools (grep, find, locate). I could go on.

    Phil

Re: Perl Development Environment - Revisited
by Joost (Canon) on Mar 13, 2007 at 15:54 UTC
    Are you still using emacs and/or vim?

    Yes. I only use eclipse for Java. If any editor would be as good at refactoring perl as eclipse is at refactoring Java, I'd use it in an instant. But I fear that's just not possible to achieve with any language as dynamic as Perl. As far as I can see the situation is the same with Ruby.

Re: Perl Development Environment - Revisited
by perrin (Chancellor) on Mar 13, 2007 at 16:11 UTC
    To turn the question around, what is it that you find missing from emacs and vim? Nearly every programmer I know uses them.

    For the record, I've started using kate lately. I used emacs before, but I like the GUI-friendliness of kate. I still use emacs when editing in a terminal.

Re: Perl Development Environment - Revisited
by Anno (Deacon) on Mar 13, 2007 at 16:56 UTC
    Are you still using emacs and/or vim?

    Yes, vim.

    To me, the one useful thing in an IDE would be the ability to jump directly to locations (editor-wise) Perl has warned or died at. In a debugging situation I can do without the extra demand on short-term memory to remember line numbers, nor am I fond of copy/pasting long file names.

    The module Vi::QuickFix does that for me. With use Vi::QuickFix in the main program, Perl logs errors and warnings to a file vim understands.

    That, and a decent versioning system serve me well enough.

    Anno

Re: Perl Development Environment - Revisited
by lin0 (Curate) on Mar 13, 2007 at 16:42 UTC

    Hi mercutio_viz

    "I did a PM search on subjects like 'text editor', 'development environment', etc. I noticed that there was a flurry of active discussions that all but stopped around 2001/2002."

    Not long ago (last week), there was a thread on IDE's for Perl ;-)

    "I would like to know what the Perl community is using now. Are you still using emacs and/or vim? Is there another secret weapon out there?"

    I am using Kate. It works for me :-)

    Cheers,

    lin0

      Not long ago (last week), there was a thread on IDE's for Perl ;-)

      SHEEPISH GRIN with BLUSHING

      Thanks for that link. I totally missed that one. I did search for 'IDE' but I got so many non-related results that I went with the more specific searches that I previously mentioned...

      -MC

        You also missed Perl IDE, Perl IDE and PERL IDE (although the last two are from 2003).

        The search is problematic however. With partial word matching IDE matches insIDE and condIDEr for example. Partial regex matching in Super Search would be nice, but it can be a pretty heavy hit on the server!


        DWIM is Perl's answer to Gödel
Re: Perl Development Environment - Revisited
by mercutio_viz (Scribe) on Mar 13, 2007 at 20:40 UTC

    Thank you all for your comments! I appreciate your viewpoints. I chose to ask this question here because I highly respect those who visit this site. Now a few more comments if you don't mind...

    (1) I'm in a mixed environment: Windows, Linux, AIX. In some cases I have GUIness available - Always with Windows, occasionally with Linux, rarely with AIX. I do much of my work on a desktop computer, but I don't want to lose productivity if I am mobile and using my laptop.

    (2) I'm not a full-time developer, but rather a part-time programmer. I'm the IT guy for my organization, which means that I sometimes write code and other times I crawl under desks to do cabling, answer dozens of annoyingly easily computer questions each day, etc.

    (3) I come from the 'visual' school of programming, i.e. Borland's Turbo C/C++ in the late 80's, VB6 in the late 90's, Visual Studio more recently, etc. What this means is that I've grown up on debugging programs visually.


    The bottom line for me is this: when I'm just hacking a script, any editor will do. When I'm writing a program, I prefer an editor that at the very least has syntax highlighting and lets me set things like tabs, folds up code blocks, etc. Finally, when I'm developing an application I really feel most productive when I have a good IDE. As the complexity level of my project increases I find it valuable to have an environment that can keep up. I find that when developing applications my needs are spread out:
       I use Subversion (which I LOVE) to keep SRM under control.
       I frequently use .sql files to talk to a MySQL database.
       I frequently use .html files for various reasons.
       I occasionally need some JavaScript code.
       I usually have some binary support files (PDF,.doc,etc.).

    The question for me has always been: Is there one solution that can help me with all of the above? Until recently, the answer was No. However, after avoiding Eclipse for the past two years I've gone back to see how things are getting along. I'm pleased with the progress made by the community as a whole and by the E-P-I-C plug-in developers. Recently I bit the bullet and forced myself to go through the labors of getting Eclipse working on several different computers, both Windows and Linux. The results have been promising!

    EasyEclipse LAMP works extremely well for me. It's got the Eclipse add-ons to make LAMP developing pretty straightforward. It can debug in various scenarios, like normal, CGI, etc. I can edit Perl files in a Perl editor, HTML files in an HTML editor, .sql files in a SQL-friendly editor, all on the same screen. Like I said, I am extremely comfortable in the visual environment.

    If you are into the visual environment also then I recommend at least giving Eclipse a test drive. It has definitely come a long way in the past year.

    -MC

Re: Perl Development Environment - Revisited
by phaylon (Curate) on Mar 13, 2007 at 16:11 UTC

    I mostly use gvim these days, with changing color themes. And I don't think I'll switch now that vim has tabs :)

    Other than that it's just a typical Linux development environment. zsh, first SQLite, then MySQL/PostgreSQL, subversion.


    Ordinary morality is for ordinary people. -- Aleister Crowley
Re: Perl Development Environment - Revisited
by planetscape (Chancellor) on Mar 13, 2007 at 20:17 UTC
Re: Perl Development Environment - Revisited
by jdtoronto (Prior) on Mar 13, 2007 at 17:11 UTC
    Seems that my choice is somewhat at odds with most here. But then I work almost exclusively in Windows using Tk. After trying many alternatives I finally settled on ActiveState's Komodo and their companion PDK. Although in the past I have used Eclipse, I found it became very slow when handling large files. Komodo remains responsive and allows me to bundle everything I use into one place - particualrly as I package applications with PerlApp and use PerlTray to create tray apps.

    As for secret weapon? Nope, just what works!

    jdtoronto

      Komodo remains responsive

      I tried Komodo, but found it to be just a little less responsive than I liked. I think it's a great IDE, and they've got very smart people working on it, but my guess is that the single largest complaint they get about it is speed.

      I've read it's written using some Mozilla-related thing called XUL, though I'm not familiar with XUL. I figure this was done to make Komodo cross-platform. Makes me wonder if ActiveState could've successfully built it using GTK or Qt, or if it would've taken far to long to implement in C or C++...

Re: Perl Development Environment - Revisited
by Herkum (Parson) on Mar 13, 2007 at 17:27 UTC

    I have been using Komodo . I did not purchase the most recent version which was 4.0. The $300 price tag is a bit much for me to consider upgrading.

    Komodo has some neat project stuff associated with it, but I am finding that file system tools that do a better job of dealing with certain issues than relying on the built-in editor.

    An example with Komodo was accessing remote files via FTP, the functionality was there but very flaky, the network I was working on would temporarily lose the connection all the time and then I would have to restart the editor to be able to access the file again.

    I have another server which did not have FTP, only SSH and Komodo did not support accessing files via SSH. Luckily someone pointed out sshfs. I mapped a virtual directory to my remote system via SSH. I did not need wait for Komodo to get that extra 'enhancement' in order to work.

    Another thing about the Perl community is that we are a fairly cheap bunch. I may not speak for everyone but there are not a lot of development tools directly geared towards Perl, but in general, the are expensive. My co-worker shelled out $60 for RegEx Buddy, I thought, 'That is a lot of money just to do one thing'. I think Komodo costs a lot at $300 and I LIKE that editor.

    Another point I would like to make is that alot of programmers that get proficient at VIM can be pretty flexible. VIM is installed on most every *NIX system. It would seem strange to purchase a proprietary tool that is tied to one box when you may need to work on several different systems.

      Komodo costs a lot at $300 and I LIKE that editor.

      Komodo IDE 4.0 is $295. ActivePerl Pro Studio, which includes Komodo IDE 4.0, is $495 plus $245/year.

      I've tried them both (free 30-day trial) and I was impressed with some of the features. My beef, of course, is paying any substantial amount of money for a piece of software when there's so much OSS out there, not that all OSS is necessarily good software. For the time-being I've settled on Eclipse - EasyEclipse LAMP specifically - for reasons which I'll enumerate in a separate post.

      -MC

      FYI: There is now a "free" version named "Komodo Edit"

        Komodo edit is not an IDE, it is an editor. There are plenty of editors in the market, free and otherwise. There are not so many good Perl IDEs. See Re^3: IDE for perl in the IDE thread referenced above for a preview of this discussion. ;)


        DWIM is Perl's answer to Gödel
      I use vim on Windows, which is very nice for scripting (as I'm used to it). And it's free. :)

      tubaandy
Re: Perl Development Environment - Revisited
by smithers (Friar) on Mar 13, 2007 at 17:53 UTC
    I'm a vi and vim guy. I like vi/vim as I can edit perl, ksh/csh, VB scripts, C code, docs, to-do lists and any regular file on Unix and Windows and not think about my editor. I like having one consistent, powerful, extensible, free and easy-to-use editor capable of handling all chores. vi/vim also allow me to keeps my hands on the keyboard vs. mousing about (although you can use the mouse too with vim if you prefer). Just my two cents worth.
Re: Perl Development Environment - Revisited
by eric256 (Parson) on Mar 13, 2007 at 15:55 UTC

    I use Notepad++..not a perl specific tool, but a nice editor with syntax highlighing. Something with a console and debugger built in would be nice. I tried Eclipse a while back but it was overkill at the time.


    ___________
    Eric Hodges
      I have started using this after reading your reply. really a nice editor.
Re: Perl Development Environment - Revisited
by derby (Abbot) on Mar 13, 2007 at 16:11 UTC

    vim is fine enough for me ... the secret weapon should be that gray matter in your noggin - use it.

    -derby
Re: Perl Development Environment - Revisited
by stvn (Monsignor) on Mar 13, 2007 at 16:31 UTC

    If you are using a Mac, and like GUIs, then TextMate is my suggestion. It's not a full fledged IDE like Eclipse, but it does have a number of nice features above an beyond a simple editor.

    Personally I have found that IDEs are much more useful for more compiled languages like Java, etc. where they take away the headache of manually twiddling with build scripts and tools. The "scripting" languages (Perl, Ruby, Python, etc) all have decent enough command line UIs that wrapping it in an IDE seems overkill (again, this IMO).

    -stvn
Re: Perl Development Environment - Revisited
by j3 (Friar) on Mar 13, 2007 at 18:17 UTC
    Are you still using emacs and/or vim?

    Yup, GNU Emacs (with cperl-mode). Though, I must admit that I haven't yet gotten around to learning elisp, so for me there's a lot of magic yet to be discovered. :) BTW, the docs for Emacs are very good.

    Tried vim, but never could get used to modal editing. Was just way too easy to hit some wrong key and befoul my file. Also having to hit Esc (or `C-[') all the time became tiresome.

    Now, as for the secret weapon, ... well, if I told you, it wouldn't be a secret. ;) C-x C-c!

Re: Perl Development Environment - Revisited
by eriam (Beadle) on Mar 14, 2007 at 08:17 UTC
    Hello

    There is an _editor_ in perl which seems promising .. it's PCE

    Maybe it could become an IDE quite easily ..

    Thanks

    Eriam
Re: Perl Development Environment - Revisited
by Jasper (Chaplain) on Mar 13, 2007 at 18:11 UTC
    I tried Komodo and Eclipse (with the vi editor plugin), but have subsequently gone back to vim. I thought some of the features of the environments were good, but they didn't save me anything like enough time for me to persevere. At least that's what I found...
Re: Perl Development Environment - Revisited
by sanPerl (Friar) on Mar 14, 2007 at 07:17 UTC
    I use vi. I am tested EPIC and very much impressed with it. But I am good in vi and I don't need to change my habit.
    I did asked this question to one perl newsgroup, in 2005. Here are some of the replies, these may help you, I can conclude that most of the guys use VI or EPIC
    Reply: 1
    check http://www.cpan.org/ports/index.html and there http://open-perl-ide.sourceforge.net/ I have used several years with success.

    Reply: 2
    Also try Epic (http://e-p-i-c.sourceforge.net/) which is a plug-in to Eclipse (http://www.eclipse.org/). Eclipse is the Open Source visual tooling project heavily backed by IBM. I've only just started trying it, having also used the Open Perl IDE for years, and so far it looks good.

    Reply: 3
    Also have a look at Eclipse with EPIC installed. It is very good. Eclipse http://www.eclipse.org/platform/ Epic http://e-p-i-c.sourceforge.net/ I also use Emacs on windows, which I like , but it doesn't offer as much as Eclipse/EPIC or Open Perl IDE hope this helps

    Reply: 4
    I have used www.context.cx for 4 years for ALL my perl, xml and javascript work. I tried out ActivePerl's Komodo and gave up and went back to conTEXT.

    Reply 5:
    vim

    Reply 6:
    I know its not free, but I use UltraEdit, primarily because it is able to automatically parse the code for subroutines, and display them in a sidebar. That really helps by giving me a rundown on the object's methods, and lets me jump to the method quickly (without doing text search). Something very similar to JCreator for Java. I will like to try the Open IDE, seeing that it has built-in debugging. But is it also able to parse subroutines/ methods automatically as well? I really need that.

      I use ConTEXT in WinXP. Superb editor, it's really sped up my productivity. I too tried Komodo and several others, but found them a bit slow.

      With ConTEXT you can define macros and set keys F9-F12 to different functions: "run this script", "run perl -c on this script", "run with -d:ptkdb debugger", "profile..".

      It also has a function to compare your file with another saved file, and numerous other facilities. Supports many languages, too.

Re: Perl Development Environment - Revisited
by SparkeyG (Curate) on Mar 14, 2007 at 12:30 UTC
    To throw in my two cents. I've been using Eclipse w/ EPIC for over a year now. For my project work, it works best for me. Allows me to switch between any number of files in the project. I've also installed the Clearcase plugin and the SQL explorer plugin. I still use gvim for non-project/one off things. But the moment it will be used more than once, over to Eclipse I go.

      ...Allows me to switch between any number of files in the project. I've also installed the Clearcase plugin and the SQL explorer plugin.

      Ditto. I like the freedom, flexibility, and convenience of doing all sorts editing/browsing/previewing with just one tool.

      I still use gvim for non-project/one off things.

      Agreed. You don't use a forklift when a pickup truck will do!

      One of the things I love about Perl is that it is wonderful for quick-and-dirty hacks. In 5 or 10 minutes one can whip up a powerful ad-hoc script to do major data kung-fu. Before Perl I had to do jump through all sorts of hoops to do the kinds of things that Perl lets me do in a matter of minutes. Even Perl one-liners can be extremely powerful and, more importantly, extremely useful.

      Another thing that I love about Perl is that it can do just about anything, and therefore lends itself to larger projects. For me to manage larger projects I need more than vim or emacs. I'll admit it: I need the GUI. I'm not too lazy to use non-GUI tools - I actually do know how to use the Perl debugger - but I am shamelessly addicted to my visual environment, especially when it comes to stepping through my program one line at a time, watching variable values change, etc. Yes, all can be accomplished with the cmd line debugger - but for me it's all in the presentation. I like to see as much as possible. My best analogy is that sometimes I'd rather look at a graph than at a bunch of raw data. Not always, but frequently.

      Thanks for a lively, flame-free discussion! I appreciate all of the various viewpoints.

      -MC

Re: Perl Development Environment - Revisited
by gloryhack (Deacon) on Mar 13, 2007 at 22:06 UTC
    I use XEmacs when I'm in a GUIful environment, and vim when I'm not. With tramp in XEmacs I can edit remote files just as easily as local files, so I mostly leave vim for quickies (and for writing mail in mutt).

    I've tried Eclipse a few times, most recently just last week, but I've never really got my head wrapped around the IDE phenomenon. I can easily enough drive around my file system with my favorite file manager (TkDesk), edit in XEmacs, debug with the -d switch or ptkdb, get cool graphical diffs with xxdiff, and manage revisions with subversion. Wrapping it all up in one package looks neat but I find that IDE's tend to get too much in my way.

Re: Perl Development Environment - Revisited
by Ojosh!ro (Beadle) on Mar 14, 2007 at 16:50 UTC
    Ehm... Vim

    ... but then I use Vim and HTML to write printed letters, I may not be representative.
    Eclipse I've looked at while I was experimenting with java. And though both java and eclipse are very pretty, I saw the error of my ways and returned to perl and vim.
    Both confuse me.

    if( exists $aeons{strange} ){ die $death unless ( $death%2 ) }
Re: Perl Development Environment - Revisited
by Sartan (Pilgrim) on Mar 15, 2007 at 17:24 UTC
    I use emacs(gnu style) for both my gui(linux and even at home on windows) and command line.
    It has code/variable completion(if you want), jump to subroutines via imenu), compiling in line(again..if you want), remote access to files via ftp or scp, total control over highlighting(though cperl-mode is better then perl-mode), etc.
    No particular reason what I picked it over vim. I just started with it and got over the odd key commands(which I now love..maybe it's an acquired taste).
    IDEs are nice but I've seen too many people rely on the IDEs to code and think for them instead of doing it themselves.
Re: Perl Development Environment - Revisited
by Skeeve (Parson) on Mar 16, 2007 at 11:09 UTC

    My favourite editor for almost everything text related: jEdit.

    It's written in Java but nevertheless fast (enough) and I can use it on all platforms I have to work with: Mac OS X, Solaris, WinDOS

    It has Perl syntax highlighting and can easily be enhanced with plugins and macros.

    What I like most about it is

    • the ability to search and replace with regular expressins
    • search across files and subdirectories
    • selection of rectangular blocks
    • selection of multiple sections

    s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
    +.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e
Re: Perl Development Environment - Revisited
by kwaping (Priest) on Mar 16, 2007 at 19:23 UTC
    On OSX (my preferred OS), I use BBEdit. When forced to use Windows, UltraEdit-32 because it's as close as I can get to BBEdit. At the command line, plain old vi.

    ---
    It's all fine and dandy until someone has to look at the code.
      Hi, I figured I should extend this thread rather than start a new one. I am having a similar perl IDE/Editor problem. I am a notice perl programmer, and I dont need too much; currently I am using SlickEdit, its fast, responsive, and has good FTP integration (i.e. CTRL+S saves directly to the server). However, I feel empty without dynamic syntax checking. I am a big Java guy, and used to IntelliJ, and all of its lovely features. I have used Komodo, and it serves my purposes, except it is a bit too slow, and sluggish for me. Although it does have real time syntax checking So if anyone knows of an editor/IDE (i dont really need any IDE features; debugging, refactoring, etc) that is lightweight, responsive, good FTP support and real time syntax checking, I would greatly appreciate it. thanks! So here is what I am looking for
        What OS are you using? If it's Windows, check out OptiPerl. It's fast, has a step though debugger (yay!) and has real-time syntax checking.
Re: Perl Development Environment - Revisited
by blazar (Canon) on Mar 16, 2007 at 12:58 UTC
    Are you still using emacs and/or vim?

    Neither. But sort of.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://604586]
Approved by Joost
Front-paged by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2020-06-05 23:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?



    Results (41 votes). Check out past polls.

    Notices?