
JPMorgan's Athena has 35M lines of Python code, won't make upgrade deadline - mooreds
https://www.techrepublic.com/article/jpmorgans-athena-has-35-million-lines-of-python-code-and-wont-be-updated-to-python-3-in-time/
======
nickm12
It's a decade too late to be saying so, but the Python foundation really
missed the boat by not developing a version of the Py2 CPython interpreter
that was instrumented to support straddling code.

The 2to3 approach of statically translating Python was a bust—the language is
just too dynamic for that. Instead, they should have leaned in on Python's
dynamism with an instrumented interpreter that supported configurable levels
of strictness, on a module-by-module basis.

~~~
stubish
No need for the Python foundation to do it. It could be a commercial offering.
It still might be... even just offering security maintenance for Python 2.7.
But I guess the need isn't that great, even if there are some whales like
JPMorgan who might be required to purchase security maintenance if available
for a year or so until they catch up.

------
cpeterso
It will probably be cheaper and lower risk for these big companies to pay
someone to backport security patches to Python 2.7 than to upgrade 35M lines
of code to Python 3.7.

~~~
geofft
But that's not the real cost. The real cost is that your new development has
to be in Python 2.7. You don't get any of the new features, but more
importantly you can't use any new libraries that are Python 3 only.

You lose a huge amount of the value of Python if you can't participate in the
ecosystem. You're effectively left with 35M lines of Pascal or COBOL - on the
one hand, a perfectly adequate and workable language for running a company
like JPMorgan, it's been done before, and one which any skilled programmer
ought to be able to pick up and work with for at least incremental changes. On
the other hand, your new software development won't be in this codebase at all
- developers won't want to use a dead language. They'll interoperate with the
legacy code by treating it like legacy code. All your incremental changes will
just be building APIs to call it from some other language (perhaps Python 3,
perhaps something else entirely), which will work, it's just probably not what
you expected to have when you wrote those 35M lines of Python.

------
addisonl
Over 10 years to prepare, still not ready. Poor risk management.

~~~
sp332
10,000 production changes per week, but no person-hours available to backport
security patches for three months while the transition wraps up.

------
malux85
Oh, boo hoo. Quarterly profit of some 9.8 billion. My heart bleeds.

Maybe some of that can come back to the python community and an investment in
open source tooling? Yeah right.

