It is probably not that interesting for most of the people but I have my excuses.
What is more interesting - at least to me - is why others are involved.
After all there were already more than 40 people who made some contribution to Padre.
So I asked them to start writing down why are they involved.
Some of them have already added themselves to the
developers page
and we started a separate page for
translators though that
one is new and has no been filled yet.
So why do I write Padre?
There is a short explanation on that page but let me bore you with a longer one
here.
I have been teaching Perl 5 for almost 10 years now. Both beginner level and
advanced courses. In the beginner courses the majority of the people use
Windows with about 20-30 percent using Linux. Most of the Windows users use Notepad++
or a similar editor. Some of them can configure their editor to run the perl script
right from the editor, others don't even know how to enable syntax highlighting
for Perl 5. Some of the people on Windows don't know what the command line is but
even those who know how to open the command prompt are either afraid of it or
just dislike it.
Mind you these are not stupid people or anything like that.
Some of them have many years of hardware design behind them.
They are just used to some kind of IDEs.
Others might use Linux/Unix but many not by choice. In many cases the company
they are working for gives them telnet access to an oldish Unix machine and
tell them to code in Perl. They hardly know vi, they don't know how to configure
syntax highlighting and they don't know how to install any other editor.
I have been using vim for many years and I can testify that it is a superb editor.
Emacs is similary strong but I have not used it since university. The problem
with both of them is that they are totally different from the editors most
people are used to and their learning curve is long and steep. It takes
several months or even years to become familiar with them. Most of the people
don't want to invest that energy and I certainly don't have the time for that
in a 4 days long Perl 5 course.
So I usually tell them to use whatever they are familiar with. I think I never had
a student who picked Eclipse or Emacs. There were a few using vi/vim
but most of the people used Notepad++ or a similar Windows based editor.
I don't think my students are too different from the average people learning and
using Perl. Most of them will never write a full blown web application. Heck most
of them won't have a need for object oriented coding as they write only
100-200 line long scripts in Perl.
They never get really familiar with Perl and they will always have to deal with
strange code written by others. With all the other tasks they are required to do
in their primary language or tool they will keep wondering what is $_ when they see
it and will be surprised when they don't.
They will wonder what is the relationship between $_ and $_[0].
So my first objective was to provide a simple Notepad++ like editor with strong
support for beginners or people with relatively little experience with Perl.
For example I'd like to make sure that Padre users will be able to highlight $_,
press F1 and get an explanation. In case they highlight $_ from a $_[0] expression
Padre should be clever enough to point this out and give an explanation on @_ and
@_[0].
I knew it is a big task though I did not think it is soo big. In any case I knew
I cannot handle this alone, especially as I am not such a good programmer.
So from the very beginning I tried to make it interesting, accessible
to experienced Perl 5 developers and in turn they made it
fun and hackable.
Unfortunatelly most of the experienced Perl developers are also hard-core vim or
emacs users and it is nearly impossible to move them away from their editor.
Luckily there were a few who got interested by the idea of having a lot
of control over their editor and that made the difference between a failing
one man project to a project with a lot of potential.
Then at one point came the idea to integrate Parrot and Rakudo and try
to provide a platform for Perl 6 development as well. With the awesome
work of Ahmad M. Zawawi
Padre has a lot to offer to anyone who wants to write Perl 6 code. With some more
work we'll be able to integrate Parrot even better and then Padre will be
able to handle any language running on top of Parrot.
While there are still lots of problems with Padre and installation can still
be difficult it already more or less has the same power as Notepad++ on both Windows
and Linux and probably on Mac too and it has some extra features that even
vim people started to steal.