I was wondering if someone on this group could help out here. I know
there are alot of positions posted on this, but was hoping someone had
some solid info to point to.
I have used Perl for projects here and there. However my manager keeps
telling me that Perl should not be used for real projects. It seems
like a pretty solid language to me. Are there certain types of
applications that Perl should not be used for? I am trying to put
together feedback from experts as to why perl is just as valid as many
other languages. Can someone help?
Your manager probably wants someone to take the blame when things go
wrong. Saying "It's a (Microsoft|Oracle|Sun|Whatever) bug that took out a
half year's worth of data" just is more acceptable than "It's a bug in an
Open Source tool we use".
There is not much you can change about that. Even if it doesn't make
sense.
Other than that, Perl is a tool, and as always use the right tool for the
job. Sometimes that's Perl, sometimes it's not.
One good reason not to use Perl is if no one at your job can maintain
your Perl code. Although I don't think it's a great idea to develop a MSVC
++ program that takes a week to develop and another to get the bugs out
where a Perl one liner would have done, it is a valid viewpoint. It's the
reason a colleague of mine develops everything in ksh, even if Perl would
be much better suited to some tasks.
Another good reason not to use Perl is performance, although in practice
that is seldom a real reason. I do develop programs in other languages
when Perl is to slow. Mostly after first proving Perl is to slow, btw.
And, as said, that's pretty seldom, Perl is pretty fast and more often
than not fast enough.
A real good reason not to use Perl in my opinion, although many will
disagree, is when developing big projects. By all means, use it as a glue
language, the language for the web front-ends, for small specific
programs within the larger project. But don't use it for projects that
require millions of lines of code. (I won't go into what language you
should use here, except to note that more important than the language is
experienced seniors, good project management, a solid design that gets
amended as the project goes along, solid regression testing and a solid
development strategy).
But often there are many reasons why you should use Perl. Strong at text
manipulation. Many, many good (although not always perfect) libraries.
Strongly cross platform. Quick development. Once learned, pretty readable
imo, but ymmv, some people think all Perl code is line noise. Good
support for UTF-8. Comes pre-installed with many OSses. Good
interoperation with the outside world.
Some of these reasons may apply to you, some may not. If you're in a
Cobol shop, using Perl may make sense, but it's probably to much of a
culture shock. If you're in a Java shop, the added cost of using an extra
language may not be worth it. If you are in a php shop, ditto. If you are
in a Windows only shop, installing Perl on all machines may take some
persuasion.
Without knowing the reasons your manager has to state that he will not
allow the use of Perl, all is just speculation, but maybe the above is of
some help.
HTH,
M4