5 ms·
There is no more Perl at JP Morgan
- mjs33 6y agoThis 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.
- deleted 6y ago[deleted]
- HeckFeck 6y agoReminds me of a quote from the Learning Perl book: "There's a joke among Perl developers that the next economic crash will be caused by a bug in someone's Perl script. Even then, all those redundant economists will have at least one employable skill."
- sys_64738 6y agoThis 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 6y agoThat'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.
- lol768 6y ago> 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?
- x87678r 6y agoI know right. Banks are so risk adverse now, the biggest thing people are worried about is breaking things and downtime. Running on 10 year old platforms isn't a problem as long as there is no outage. No wonder they're getting killed by Citadel.
- lol768 6y ago> I know right. Banks are so risk adverse now, the biggest thing people are worried about is breaking things and downtime. Yeah, it's funny though that the ones who've stuck to their aging mainframe systems and haven't invested in maintenance and reducing technical debt have the worst uptime. https://github.com/openbankingspace/tpp-issues/issues?q=is%3Aissue https://github.com/openbankingspace/tpp-issues/issues?q=is%3... https://twitter.com/nickrw/status/1141058572547215360 https://twitter.com/nickrw/status/1141058572547215360 https://twitter.com/kieranmch/status/1188118150757224449 https://twitter.com/kieranmch/status/1188118150757224449 It's okay though, because they generally don't even tell the customers when it's broken. I get status updates, good quality technical post-mortems and generally very good uptime from my modern bank.
- elcomet 6y agoBut there's a reason for this. No one wants to be unable to pay for something when they really need it (gas,.. ). So downtime for banks is very bad for business and for people's lives.
- 6y ago
- Jonnax 6y agoTheir 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.
- tyingq 6y agoThat seems odd to me. If there's any use of bytes, you would have to sprinkle in a lot of dodgy version checks and facades.
- user5994461 6y agoBecause 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 6y ago> 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 6y agoIs 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.
- tyingq 6y agoSo a high effort project to convert from a codebase with a supported interpreter to an EOL interpreter. Congrats, I guess.
- TurboHaskal 6y agoThis 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 6y ago> 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.
- EdwinLarkin 6y agoI 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 6y agoI 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 6y agoThat'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 6y agoThe 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.
- gpderetta 6y agoI work at JPMC. Athena is a huge platform, but not everything is on it (for example the team I work on isn't). I very much doubt there aren't small perl scripts and tools still hanging around somewhere. But probably no large customer facing is running on perl anymore.
- dsr_ 6y agoMy 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.
- kemiller2002 6y agoYeah, 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 6y agoI 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 6y agoSure. 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?
- daneel_w 6y agoThere's a distinct whiff of "I hate Perl and must stomp it" in this guy's articles.
- hpcjoe 6y agoSeems 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 6y ago> 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!
- user5994461 6y agoNot at all. I rather wrote this to illustrate how critical legacy software is created, operated and evolved over time, but it seems that readers can't get past immediately defending/bashing Perl.
- daneel_w 6y agoBut your article is immediately and repeatedly bashing it, for no practical reason, is why some are immediately rolling their eyes and defending Perl.
- user5994461 6y agoDefinitely not the intention. I've removed the one sentence in the intro that may have sparked some misunderstanding. I shall note that HN moderators edited the title 3 times making it more or less outrageous, nothing I can do about that.
- WinstonSmith84 6y agoNothing 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?
- detaro 6y agoI'm guessing Deutsche Bank is hiring Perl developers for fun then? https://db.wd3.myworkdayjobs.com/en-US/DBWebsite/job/New-York-60-Wall-Street/Associate--Technology-Service-Specialist----KP4721567-_R0064460 https://db.wd3.myworkdayjobs.com/en-US/DBWebsite/job/New-Yor... 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)
- deleted 6y ago[deleted]
- blondin 6y agoso perl is not actively used and developed by the perl community? i would have sworn i saw a new release this year?!
- clscott 6y agoVersion 5.32 was released 6 days ago: https://metacpan.org/pod/release/XSAWYERX/perl-5.32.0/pod/perldelta.pod https://metacpan.org/pod/release/XSAWYERX/perl-5.32.0/pod/pe...
- snicker7 6y agoNot in JP Morgan, apparently. As mentioned in the post, the code was barely touched since 2006. The rewrite was needed presumably so that the code could be better maintained (or hot patched, if the emergency arrived). And there was, presumably, more Python devs at the firm than Perl devs.
- tluyben2 6y agoJPMorgan 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 6y agoYeah, 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.
- enriquto 6y agoI 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 6y agoJP 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.
- antidaily 6y agoYep. No more DHTML either.
- arianvanp 6y agoWhy 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 6y agoRHEL'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.
- wheresmycraisin 6y agoOh, 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 6y agoFor some reason, the last one feels very plausible.
- tooltalk 6y agoI'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.
- deleted 6y ago[deleted]
- foobar_ 6y agoFor 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 6y agoand 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!!
- T3RMINATED 6y agoPerl is dead, long live Python.
- tyingq 6y ago98 open jobs at JP Morgan with Perl in the description: https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/requisitions?keyword=Perl https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en... Including many that seem pretty clear Perl is involved in a substantial way: https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/requisitions/preview/210005700/?keyword=Perl+5 https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en...
- user5994461 6y agoLooking 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..."
- zerr 6y agoHow about APL?
- faizshah 6y agoIm 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
- yami-sama 6y agoThis article is fake.
- sys_64738 6y agoI 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.