Re: Perl6 and support for Refactoring IDE's
by J Matisse Enzer other posts by this author
Jun 3 2005 10:17PM messages near this date
Re: Parrot 0.2.1 "APW" Released!
|
(multi)subroutine names
On May 26, 2005, at 10:03 AM, Piers Cawley wrote:
> Stevan Little <stevan@[...].com> writes:
>
> ... The way I
> see it working is that the language itself has a bunch of minimal
> hooks that
> get triggered by various phases of compilation etc. Your editor then
> becomes
> something that instruments the compiler in such a way that loading a
> file for
> editing compiles it, but the compilation process hangs populates the
> data
> structures you need for editing.
Sorry to have dropped out of this thread for so long. I'm glad to see
such smart people thinking about this too.
I like what Piers is suggesting, not because I am in any way qualified
to say how practical it is, but because the idea he presents really
would make it possible to have much better tools for Perl.
The idea that the language will allow an editor (an IDE) to really find
out the "knowable" information about the source code is the crucial
thing.
Frankly, there are huge improvements in tools possible for Perl5, just
by accepting some limitations - we probably cannot duplicate the
refactoring support available for Java in Perl5, but we can do one heck
of a lot better than just "extract subroutine" (which is the *only*
refactoring available now in a Perl IDE.)
We are still not even at the "simple things should be easy" stage of a
refactoring IDE for Perl, and I'd be happy to at least get there before
worrying about the "hard things are possible" stage :-)
Once I saw how cool the features in something like Eclipse are for
another language it really has made me see how far behind Perl is in
this area. I'm really scared that Perl will be an unacceptable choice
for larger projects in less than a two years.
-Matisse
-------------------------------------------------------
Matisse Enzer <matisse@[...].net>
http://www.matisse.net/ - http://www.eigenstate.net/
415-225-6703 (work/cellphone)
415-401-8325 (home)
|