

Ask HN: Is Perl still useful in 2014? - jozi9

On what areas is it used? What can I learn from it as a language?
======
csirac2
Perl I think, if nothing else, shows a great example of how a language can
evolve dramatically. You can almost date the code you're reading (or the
programmer, or the age of the online tutorials the coder read) based on style
of the code.

I've been paid to write perl in a team maintaining high-volume web properties
and internal APIs for a large telco, and I also spent a few years in a
Bioinformatics role which used it a fair bit at a national science agency (the
research community in that particular corner of the discipline had some pretty
awesome tools/libraries written in perl, but the full gamut of stuff we used
also included ruby, python, R, C, Fortran...)

Just a few days ago I wrote how I missed Perl's Moose OO framework now that
I'm doing mostly Python [1] [2], and that interestingly it's this that has
prompted me to think more seriously about using a more strongly/statically
typed language for large projects in future.

[1]
[https://news.ycombinator.com/item?id=8627143](https://news.ycombinator.com/item?id=8627143)
[2]
[https://news.ycombinator.com/item?id=8627819](https://news.ycombinator.com/item?id=8627819)

~~~
niels_olson
I'm at a military hospital, the only language they'll allow is perl. But I can
have any version I want installed (eg Padre). But I can remote I to HPC
systems with ipython. Not sure if the left hand is talking to the right.

~~~
csirac2
Although large organisations tend to have a goal of minimizing the number of
languages and platforms they depend on, rarely does this turn out to be the
case in practice. HPC systems in particular are expensive assets which could
never justify themselves if they could only run one kind of workload in one
particular language :-)

If I had to guess, you're working in a business unit that is heavily invested
in perl and so sticking other stuff in that environment is perceived as an
unnecessary future maintenance burden. The HPC system on the other hand is
perhaps shared across multiple business units who don't have the exact same
stacks as each other so it's flexible in that way.

python + pandas is pretty awesome though, I was able to delete thousands of
lines old perl code dealing with irregular time series when I re-wrote with
pandas - it made sense in that instance to ditch the old perl code, it doesn't
always though.

~~~
niels_olson
To be clear, I'm a pathology resident trying to do research. My code wouldn't
affect anyone. I just want to think in python instead of perl.

~~~
csirac2
Ah, so a little more arbitrary than I assumed. I initially hated perl when I
first started with it, for what it's worth. I guess you've progressed beyond
the point of finding [1] helpful (even if the perl looks a bit strange to me
in places). And, apart from Moose I also miss perl's lexically scoped
variables :)

It would suck to do numerical work without pandas though. I love pandas.

[1]
[https://wiki.python.org/moin/PerlPhrasebook](https://wiki.python.org/moin/PerlPhrasebook)

------
arghnoname
Of course it's still useful. It's as useful as it ever was, but now there are
serious competitors in spaces that it used to dominate.

I know several dynamic languages and perl is still my go to choice for smaller
jobs. Personal preference perhaps.

------
latj
Perl is still used in bioinformatics daily. People can write for days about
why to use x instead of Perl, but at the end of the day, people can use modern
perl 5 to do anything anyone can do in any other technical community.

The only serious downside to Perl (which is a pretty serious one I'll admit)
is that it might be harder to lure in good programmers. I have met plenty of
Perl programmers who advocate Perl because they are afraid to learn anything
else. Still, I know a lot of Perl programmers who are so good they are not
insecure and simply enjoy using it.

At this point, I only use Perl for ad-hoc data munging-- things that I could
just as easily use python for.

~~~
atmosx
Hm, I'm using ruby for bio-informatics[1]. I've found the 'bio' gem pretty
much complete, but there is a _serious_ lack of documentation. The best option
for scientific-related project, programming-wise appears to be Python because
it has a huge set of libraries and much better documentation than ruby (and I
guess perl too).

[1] [https://github.com/atmosx/dogma](https://github.com/atmosx/dogma)

------
esaym
I pretty much only use perl. And use it every day. What can you learn? What
ever you want, you can use any paradigm: oop, functional, procedural, ect. You
can make webapps, or database driven apps. To really learn you are going to
have to make it to one of the perl conferences though. I used perl for 3
years, but at my first perl conference, I learned more in a couple of days and
than the last 3 years....

------
itl12
Would Perl be a good langauge to learn if you were looking for a niche?

~~~
adam-_-
As a programmer looking for a job? Maybe. A lot of places looking for Perl
developers are looking for senior developers who understand the tooling, eco-
system and a selection of "modern Perl" best practices and modules, as well as
the language itself.

That's probably what you would need to learn if you wanted to be employed as a
Perl developer.

Of course, if you are less experienced, you could work for a larger, modern
Perl-using company where you can learn these things.

------
atsaloli
What can you learn from PERL? How about regular expressions?

PCRE has been widely adopted. [http://www.PCRE.org/](http://www.PCRE.org/)

------
mc_hammer
yea its still used for shell/web/config management. i would only use it for
data conversion and shell scripts anymore. not serious: you can learn good and
bad of language design. i guess its going away b/c u can use
php/node/ruby/python for scripts more and there are more stand alone apps for
shell to do jobs you used have to code by hand in perl.

