Random Perl ... rant

Piers Cawley pdcawley at bofh.org.uk
Thu Apr 3 11:31:10 BST 2008

On Thu, Apr 3, 2008 at 10:24 AM, Dave Cross <dave at dave.org.uk> wrote:
>  For years people have telling how I'm missing out by not using an IDE. I've
> tried using Komodo and I've tried using Eclipse with the EPIC plugin. But
> the both slowed me down. Maybe it just what I'm used to, or maybe I only
> ever work on tiny projects where the benefits of an IDE aren't obvious. I'd
> love someone to explain exactly what an IDE gives me that I can't get from
> Xemacs.

I don't think you're missing out by not using an IDE, at least, not
the kind of IDE that the Java crowd wibble on about, but I've been
mucking about in Smalltalk recently and, oh my ghod. Smalltalk's
development environment is just astonishing. Everything is 'live' and
it makes a huge difference. It's got refactoring tools that put the
best Java tools to shame (and give the lie to anyone who tells you
that you must have static typing to implement refactoring tools) and
some fabulous tools for _finding_ code. The Smalltalk method finder is
quite mind boggling. You give it an object, some arguments and the
result you're looking for and it goes off and finds any methods in the
image that will produce the desired result given the arguments. For
instance, I couldn't remember the Smalltalk equivalent of grep, so I
gave the following query to the method finder:

#(nil 1 2). [:each | each notNil]. #(1 2)

and found that the method I was looking for is Collection>>select:

Something breaks, up pops the debugger and you can walk back through
the call stack, inspect anything, fix the problematic method and
restart execution from that point, all from within the debugger

I *think* perl has enough reflective capabilities that it should be
possible to implement this sort of live programming environment in
Perl too, but there's a huge amount of work involved, and emacs/vim
aren't awful.

More information about the london.pm mailing list