r/Python Pythonista 6d ago

News The Move to Python 3 Begins!

As someone who spent decades in the mainframe community, I find it ... humorous ... that there are legacy Python2 code bases that are only just (or have yet to consider!) moving to Python3.

https://www.eveonline.com/news/view/the-move-to-python-3-begins

307 Upvotes

106 comments sorted by

View all comments

311

u/diegoasecas 6d ago

idgi if you spent decades working on mainframes you'd know how hard is to migrate legacy working code

82

u/SheriffRoscoe Pythonista 6d ago edited 6d ago

Oh, yeah, I get it. I just giggle every time I see a "modern" language or platform go through this. Meanwhile, z/OS and z/VM are still happily humming along, almost old enough to apply for Medicare, and stuff I learned in the 1970s is still relevant.

27

u/kosz85 6d ago edited 6d ago

Yeah, and then dev get ticket that something is not working. He get there, and WTF:

  • why the certs are obsolete?
  • why I can't connect to that server from python 2.7 which is using new TLS
  • why it's not recognizig my ssh key
  • why the image building is no longer working
  • what was that lib again? Where I can find it? Why there is only version for python 3
  • life suck, have to change work or ask for a raise again

I mean it's possible to address all this issues if you prepare beforehand, but most don't do that. If they did, they would migrate ;) There are only few small cases that it would be good choice, like lib that is no longer developed for new python and you have to use it. But still it's better to make it small micro service, and maintain separately.

9

u/Pttrnr 6d ago

nothing beats editing a s/360 assembly module that deals with Time Zones. originally written "in the 1970s" (memory is fuzzy). standard header. code. patch notes... so many comments... probably 99% of the file was the changes...

21

u/el_extrano 6d ago

It's actually kind of refreshing to work in an old C or Fortran codebase... everything is backwards compatible, and the language doesn't have to change every 2 years for no reason. There's all kinds of environments where you can't count on the everything being ultra modern and continuously updated (embedded devices, PLCs, code for machines, factories, etc).

I can write C 89 and run it on IBM mainframes, DOS, Windows 9X, 32 and 64 bit NT, and of course all the 'nix descendants. Meanwhile Python dropped support for Windows XP after 3.4, and for Windows 7 after 3.8.10. It's not great but there are actually still plenty such machines running in factory environments.

And I understand that tech moves quickly blah blah, but I just really disagree that everything should be designed to be torn down and rebuilt from the ground up every 10 years. I've come to appreciate projects that prioritize stability and backwards compatibility.

1

u/diegoasecas 6d ago edited 6d ago

yeah because we'd have the modern web if everything ran on proprietary mainframes

tools for tasks