Recently I have been doing some in depth research with regards to development tools of all kinds. Currently I am working my through the various IDEs available in both the open and close source worlds. This is what spurred me into giving Padre another shot. The last time I tried to install it there was a dependency problem and it was not worth solving. So that is my first step, install Padre.

Padre install perfectly in my openSUSE 12.2, Perl v5.16 development environment. I immediately started the application and loaded a script I wrote a few weeks ago. I have never used Padre, seen screenshots of it or really been interested in it, that is my perspective going into this. The first thing I did was go to the Window menu and see what helper windows are available. I started the CPAN Explorer and ran a search. It was fast and I assume it is reading the local module list file that cpan uses. Then I click on Recent and hit Refresh and the most recent CPAN modules show up, just like the metacpan recent page.

That feature alone makes it better than most of the IDEs out there for Perl development but would we expect less? It is written in Perl by Perl developers and they have a good grasp on what information developers want. Next I wrote a little code and then opened the Regex Editor to give it a shot. I like the list of quick references on the right for things like Character classes. Setting ixmsg flags are done via check boxes at the top of the window. Inputting some test data and a simple regexp I run into a problem.



The regexp I used was \d{2,3} something simple. Now when no match is found the 'Matched text' area shows a 'No match' message in red. When the regexp matches a substring of the sample data we see all of the sample text again in the matched text area but the actual match is not highlighted. I expected it to highlight the matches in this area as a visual aid to find the matches quicker. I tried substitution and the replacements were not highlighted either.

Moving on I started looking for the must have features that all good code editors have.

cross platform

full unicode and utf-8 support

visible line numbers

current line & column number

syntax highlighting

brace matching

auto indentation

view spaces and end of line characters

Different files as tabs

multiple level undo/redo

code folding

block commenting

new line conversion

Perl integration (syntax check, debugging)

text zoom

double click word selection

triple click line selection

find in files

regular expression search and replace (Only in the Replace option. The normal find does not support regexp)

multiple instances

generalized autocomplete

session state preservation (only if you choose to save it)



I found almost everything I expected in Padre and the rest via plugins. Padre::Plugin::PerlTidy added perltidy support after I restarted Padre and enabled the plugin via the Plugin Manager. For Padre::Plugin::PerlCritic I followed the same routine and it by default does nothing if you do not have a minimal .perlcriticrc file. With a perlcriticrc file in hand I tried running it again and now I get output. The problem though is how the output is displayed. First off this plugin does not honor the verbose setting from the config file. No matter what I set it to the Padre output is the same. The second problem is the lack of colorized output or other indicator of the severity level of a warning message.

Next I went to Tools, Preferences to change a few options around. When I saved the changes the File menu bar disappeared, which is no good. I started up a test Windows XP environment, installed DWIM Perl 5.14.2.1 (v7) and tried the same process again and it did not mess up. So after having to restart Padre a bunch of times after making configuration changes I started using it to update a few scripts I wrote last month. Four segmentation faults later and I am done with it. I have no interest in fiddling with it to figure out the problem, I tried it out for research and now I know what it can and cannot do.

Would I recommend Padre to other developers? No.

Padre uses the Scintilla library which is where it gets the bulk of its features from. SciTE is an editor developed by the Scintilla developers that does most of what Padre does without crashing constantly, is updated more frequently and is cross platform as well. The extra features like CPAN Explorer, refactoring, and other Perl specific goodies I already have via command line applications. I started out excited to try Padre in the hopes it could make things a little faster in the development cycle. Now I just regard it as another buggy IDE. And please do not feed me a junk line about it works on my Linux distribution, I do not care. Pretend I am a normal end user for a moment. If I install a piece of software and it crashes repeatedly I simply switch to another application. I am not compelled to try and fix it or figure out what is going on, I am not invested in it as a first time user.