
There is no more Perl at JP Morgan - user5994461
https://thehftguy.com/2020/06/26/are-banks-still-using-perl-in-2020-the-answer-is-no/
======
tyingq
98 open jobs at JP Morgan with Perl in the description:
[https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en...](https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/requisitions?keyword=Perl)

Including many that seem pretty clear Perl is involved in a substantial way:
[https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en...](https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/requisitions/preview/210005700/?keyword=Perl+5)

~~~
user5994461
Looking at the first 10, none of them are asking for Perl specifically,
they're generic job listings with a point "N years of experience in Bash,
Perl, Python, Java..."

------
detaro
I'm guessing Deutsche Bank is hiring Perl developers for fun then?

[https://db.wd3.myworkdayjobs.com/en-US/DBWebsite/job/New-
Yor...](https://db.wd3.myworkdayjobs.com/en-US/DBWebsite/job/New-York-60-Wall-
Street/Associate--Technology-Service-Specialist----KP4721567-_R0064460)

EDIT: since it was silently changed: This was originally titled and submitted
as "Are banks still using Perl in 2020? The answer is no." (still visible in
the URL slug)

------
TurboHaskal
This is hardly a surprise. No matter if you like a language or not, you have
to acknowledge that we don't develop software in a vacuum and we cannot ignore
market trends. Don't fall in love with your technology [0].

(I won't comment on the Python 2 rewrite though)

I like Perl a lot. Out of the usual, interpreted dynamic languages, it is
still my favourite. It's fun, incredibly expressive, got some things right
early on (CPAN) and the community is probably the most entertaining out there.

It also caters to a kind of developer that no longer exists, or at least is in
the minority now.

I will keep it as a sort of dirty pleasure for myself. Among the likes of
Forth and Lisp.

[0] [https://prog21.dadgum.com/128.html](https://prog21.dadgum.com/128.html)

~~~
HeckFeck
> It also caters to a kind of developer that no longer exists, or at least is
> in the minority now.

The one developer I met who liked Perl was quite the character. He thought in
a certain way I envied. Once he rewrote a bash script into Perl just for fun
(and to confuse the rest of us). As a gratuitous side effect, the Perl script
cut execution of the same task from over 1m in Bash to a matter of seconds.

I've resolved to learn it myself now, even if it nudges me more towards a mode
of thinking. There's still plenty it can do.

------
tyingq
So a high effort project to convert from a codebase with a supported
interpreter to an EOL interpreter. Congrats, I guess.

------
dsr_
My employer has banks, brokerages and RIAs as customers.

I don't know whether any of them use Perl. I can tell you that if they use
Perl, it has never caused a problem.

We use a fair amount of Perl, and it's a good tool.

------
arianvanp
Why would you put years of work migrating from a supported language to one
that hasn't received support since 2013 and brag about it? I'm so confused

~~~
dharmab
RHEL's distribution of Python 2.6 is still supported as part of the OS. As the
author noted, the scripts were written to be forwards compatible with Python 3
for when the bank upgrades to a newer version of RHEL.

------
daneel_w
There's a distinct whiff of "I hate Perl and must stomp it" in this guy's
articles.

~~~
hpcjoe
Seems to be common amongst pythonistas. I've run into their tired bashing of
perl for 20+ years.

I use perl daily. And Julia. And C. Python more like weekly.

Always select the right tool for the job. Changing code that works, and is
critical should not be undertaken lightly. Most especially not of irrational
dislike of the current implementation language.

~~~
HeckFeck
> Seems to be common amongst pythonistas. I've run into their tired bashing of
> perl for 20+ years.

Perlphobia must stop.

    
    
      say("no");
      # make it
      die();
      # Python's easier? That's a lie!

------
kemiller2002
Yeah, I'm not convinced. Not in the slightest. JPMorgan has something like
250,000 employees. Just think of how many divisions and departments there are.
It might be that someone ran a report at a high level over some major projects
and said, "We're not using it." I guarantee it's still there in pockets still
being used and still being maintained.

~~~
jiofih
I think you’ll need something more than a feeling, to disagree with _the
person tasked with finding uses of Perl at JP Morgan_ on how much Perl is used
at JP Morgan

Also it sounds like you didn’t read the piece as this comes right at the
start:

> search covering repositories with 50M lines of code and thousands of servers

~~~
kemiller2002
Sure. Let me explain.

1\. You notice how he said "Investment Bank". Guess what, that's not their
entire business....not even in the slightest. Not even the most profitable.
When I was there, they sold a significant portion of their investment services
to buy more commercial, which is in an entirely different line of business.
They aren't connected. Their systems are separate.

2\. I worked there. I understand the absolute magnitude of how large their
code bases are. The legacy software, the business processes. 1000s of servers,
is nothing in a company that size. The division I worked for was a dust spec
compared to the size of JPMC, and we had something like 300 servers on our
own. We were a rounding error on the division's balance sheet. I should say, a
division, of a division, of a division of a Line of Business. Multiply that by
orders of magnitude and you begin to understand the size of their operations.
Let me put this into perspective. A quick line count of the project I'm on,
with 4 people and started 2 months ago (with npm packages granted) has over
500,000 lines of code. How big do you think JPMC's code bases are?

3\. Do you honestly believe that a company that size tasked 1 person with just
"removing PERL". Most of it was not being used anyway, and he "just did it."
He just "searched" the repositories. How exactly do you think that worked? Do
you think an EVP, a chief, just tasked 1 person with search "the codebases"
across multiple lines of business? He might have done it for a division, a
part of a LOB. I'll give him that, but not JPMorgan as a whole not even the
the entirety of the investment arm. Think about how many legacy systems use
PERL everything from legacy systems, to commercial ETLs. The amount of
business knowledge held in those scripts, and making a mistake, even a
minuscule one will cost potentially millions of dollars. What did he search?
Did he do a Git search, or SVN, or CVS, or event maybe VSS? How many file and
network shares? Did he have access to everything? All the devops stuff? What
about all the things that are maintained by contractors and consultants? How
about those?

~~~
user5994461
Author here. Definitely great questions. I would like to reply but this is
touching sensitive information that I don't think I can publicly disclose. ^^

What I can maybe say, is that the scope is touching JP Morgan, the corporate
and investment bank with maybe 40 000 employees. It is much broader than you
think.

------
mjs33
This guy may have gotten Perl out of his part of the JP Morgan world, but JP
Morgan still actively uses Perl. It’s not as big as it once was, but there are
teams still developing and deploying Perl.

~~~
sys_64738
This is what I figured. My experience of SW development at a merchant bank is
siloed teams using their own development tools to support their banking
operations. There was never a company wide mandate on using/not using some
technology.

~~~
user5994461
That's not the case in JP Morgan. Development is very centralized.

There are like 3 to 6 major platforms used inside of JP Morgan, depending how
you count (the oldest one is deprecated and being migrated away which will
never complete, while the newest one is nowhere near working and will not have
anything running for a long time).

The largest one regroups maybe 30% of all the developers and developments in
the firm.

The Perl system was underlying on of these platforms, and has clients for use
in all other platforms, so it was quite ingrained across the entire company
really.

------
tluyben2
JPMorgan is only one bank; it's still used in plenty of banks. What is the
point of this article anyway? Proving 'perl is dead' as it says in the
epilogue?

~~~
hpcjoe
Yeah, the article was weak. I must have missed the compelling reason to switch
off of a live language to the EOLed one.

And ... did they actually, really do that, for a critical piece of
infrastructure, because someone dislikes perl?

That should worry bank customers, shareholders, etc.

Business and tooling decisions should be rational, and risk reducing. I don't
see that this change met either of these criteria.

------
EdwinLarkin
I dont believe this. Maybe it's no longer used for "core banking services" but
companies the size of JPMorgan have subdivisions that are as big as
small/medium sized companies.

There must be a lot of software written in <whatever language> that is still
used inside the company.

~~~
jrockway
I never worked at JPMorgan but a lot of the investment banks went towards a
single platform for everything. JPMorgan had Athena, Bank of America had
Quartz, and they both use Python. Goldman Sachs had something similar whose
name I forget (slang?)

At least in 2011 when I last worked in the industry, this sort of
infrastructure was replacing the ad-hoc data-munging scripts that people used.
It was even slowly eroding some of the Excel-based workflows designed by less
software-engineery teams. 10 years later, I'm guessing it's only doing more
than it was back then.

~~~
EdwinLarkin
That's true. Several companies I know are pursuing such endeavors. It's often
even battle between Java & .NET as they are trying to focus on a single stack.

~~~
user5994461
The comment you reply to happens to hit the nail on the head. Some perl was
slipped deep into some platform in the 2000s.

While client software could be python, java or C# (usage has evolved quite a
bit over the decades), they ultimately called and depended upon a bunch of
Perl on some servers.

------
faizshah
Im a Junior dev and I actually have been learning basic Perl over the last
year. I think Perl is still useful in shell scripts and most of the time its
faster than awk and sed. But I cant justify using it instead of Python for
scripts or applications. I cant think of any advantage to using perl instead
of python in 2020. Even if there is an advantage, any coder can read and write
python without learning python whereas Perl scripts are a liability, few can
maintain them. I would love to use Perl I think its powerful and especially I
see use cases for it in data munging. But at the current moment it needs a
killer app that can offer some clear justification over python.

I do think Serverless Perl could be a good idea though:
[https://metacpan.org/pod/AWS::Lambda](https://metacpan.org/pod/AWS::Lambda)

------
foobar_
For some reason people like to compare perl to cobol. Perl fell out of usage
more like lisp or tcl, mostly a failure to deliver on some of its promises
which proved to be market advantages for others. The influence of latin is
obvious.

Let's hope the windows 7 phase is over. I personally think perl 5 was a
mistake, perl 4 was more fun and minimalistic ... just like javascript 5 vs
typescript.

Commercial things have a way of ruining fun.

~~~
ChiranSoogoor
and one has to keep investing from one's personal savings to learn new
languages and tools every year, even in one's near retirement age!!

------
Jonnax
Their software is running on python 2.6 but they also have it working on 3.7?

Why?

Also this is some weird post, is this blogger famous? Because it's not of much
substance.

~~~
user5994461
Because the servers ran on RHEL 6, so the application had to run on python
2.6.

Servers will be upgraded to RHEL 7, so the application had to run on python
2.7 too in prevision of the upgrade very soon.

Then servers will be upgraded to RHEL 8 maybe 5-10 years later, so the
application better work on python 3 too.

It is not glamorous but it's the practical way to make critical software work
and continue working for some period of time. I think we can all agree that we
don't want our banks to break every 3 months accidentally due to the newer
release of whatever.

~~~
EdwardDiego
> Because the servers ran on RHEL 6, so the application had to run on python
> 2.6.

pyenv runs on RHEL 6 yeah? Does Python 3 not?

~~~
detaro
Is pyenv and the Python 3 it wants to use in official/supported packages? If
not, it doesn't exist for many IT departments in such cases.

------
blondin
so perl is not actively used and developed by the perl community? i would have
sworn i saw a new release this year?!

~~~
clscott
Version 5.32 was released 6 days ago:

[https://metacpan.org/pod/release/XSAWYERX/perl-5.32.0/pod/pe...](https://metacpan.org/pod/release/XSAWYERX/perl-5.32.0/pod/perldelta.pod)

------
enriquto
I call bullshit. Every macbook on this bank (and elsewhere) has several perl
programs running daily and supporting the jobs of the people who own them.

~~~
user5994461
JP Morgan doesn't support macbook. I've only ever seen one employee in my time
there with a macbook, who's had to go out of his way to procure it and he had
regular issues because it was unsupported, issues like DNS not working.

------
tooltalk
I'm not surprised that Perl is being phased out, but was JPMC really that big
on Perl? IIRC, I worked at JPMC in NYC over 10 years ago and IIRC they never
had the kind of centralized Perl infrastructure like Morgan Stanley did --
though after the BankOne acquisition, things started getting streamlined a
bit.

------
WinstonSmith84
Nothing against Python, but I'd have expected the choice of a little more
(statically) typed language for such a critical application (also considering
future maintenance). Any reasoning behind why?

------
sys_64738
I only ever used perl for regular expressions from the command line when sed
failed me. Perl just doesn't have the mindset of python IMO.

------
antidaily
Yep. No more DHTML either.

------
zerr
How about APL?

------
lol768
> Are banks still using Perl in 2020? The correct answer is no.

> There is no more Perl at JP Morgan, the largest investment bank in the US.
> The last Perl code was decommissioned in 2019.

I see the situation at JP Morgan now extrapolates to all banks globally.

I am glad that JP have done something sensible here, though.

> Nope, not python 3. Think 2018-2019 so no python 3 in sight.

What. That was literally last year. We all knew Python 2.7 was going to be EOL
on January 1st 2020.

I know a lot of these legacy banks/financial institutions seem to operate in a
time-shifted bubble a good few decades in the past, so maybe that explains it?

~~~
onei
It's not even python2.7, they went with 2.6. A version that reached end of
official support in 2013. All because that's the default for RHEL 6.

It's not hard to build RPMs of newer and/or supported versions of Python. You
might even find it in EPEL. I get being risk averse, but if you're going to
make the change, move to something sensible that your developers will want to
work with.

~~~
ChrisSD
On the other hand Python 2.6 will be supported on RHEL 6 for as long as RHEL 6
is supported.

Of course this still means having to switch again in a few years time but
that's a problem for future JP Morgan.

~~~
tyingq
RHEL 6 EOL is 11/30/2020.

There's "extended support", but no patches, not even security patches.

Edit: Apparently I was wrong about some security patches, but ELS sounds
complicated:
[https://access.redhat.com/discussions/2399461](https://access.redhat.com/discussions/2399461)

~~~
ChrisSD
It sounds like you can pay extra for security patches until 2024:
[https://access.redhat.com/support/policy/updates/errata/#Ext...](https://access.redhat.com/support/policy/updates/errata/#Extended_Life_Cycle_Support)

------
wheresmycraisin
Oh, are we writing blog posts to answer questions no one asked? I have a few
more ideas then:

\- Are state unemployment agencies using Nim in 2020?

\- Are aircraft carriers using Ruby on Rails in 2020?

\- Are hospital bed firmwares using Excel VBA Macros in 2020?

~~~
EdwardDiego
For some reason, the last one feels very plausible.

