[Info-vax] Python 2 support ends 1-Jan-2020

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Fri Jan 4 10:24:52 EST 2019


On 2019-01-04 02:25:51 +0000, Dave Froble said:

> Sounds like an interesting predicament.  Maybe this could be a preview 
> for Steve's ideas breaking things in order to move on.  Somebody keep 
> track of this.

The Python 3 division change—switching from an integer result to a 
floating point result—has been underway for most of twenty years.

Python source code migration tools and testing tools have been 
available for a long while too, with a tool that allows Python 3 code 
to also operate on Python 2, and another that allows migrating Python 2 
code forward to Python 3.

https://docs.python.org/3/howto/pyporting.html

The Python migration has messes undoubtedly be similar to those of any 
hypothetical DCL migration, too.  Some mixture of added floating point, 
64-bit integers, and/or unsigned integers isn't a stretch in some 
future DCL or DCL replacement, after all.

The addition of IPython would be a more isolated and probably 
pragmatically better approach than DCL2 or VCL, in the shorter-term.  
https://jakevdp.github.io/PythonDataScienceHandbook/01.05-ipython-and-shell-commands.html 


Independent of working with Python and the Python 3 migration "fun", 
I've been working with tooling that migrates source code from older 
APIs, which is something that's been comparatively rare within OpenVMS 
environments.  That tooling has often worked fine, and—even when it 
doesn't completely resolve the necessary source code changes—having the 
routine changes automatically migrated is still handy.  OpenVMS has had 
documentation for many of these (sometimes not, such as with SMTP), 
sometimes had binary translation tools, but seldom much in the way of 
developer assistance.  And the app migration 64-bit addressing is going 
to be causing us grief for the foreseeable future, when it's not simply 
ignored.

We're in a world where there'll inevitably be breaking changes to APIs, 
and which means we're going to have to deal with that.  And deal with 
that better than we have.   TLS, password hashes, and (soon) 64-bit 
file I/O among these areas.  And with older and particularly 
problematic APIs that eventually get deprecated and removed, and 
OpenVMS just has not been good at that.  I care rather less about the 
removal of $crelog and other retired APIs here, nor whether you're 
still using K&R C syntax and its problems, and rather more about 
retiring and removing hard-coded 8-byte password hash buffers and 
DECnet and telnet.  And some apps will fail when migrating to 64-bit 
I/O, too; to apps running with and on SSDs and HDDs larger than 2 TiB.  
64-bit flat virtual addressing would be handy too, but I don't see VSI 
having the fortitude for what that would involve.

And yes, there'll be Python 2 source code around for decades.  There 
are still VAX systems around, and there'll remain a 
hopefully-decreasing apps and code that uses $crelog and ODS-2 and 
DECnet and telnet, too.  Same for old Windows versions, DEC PDP-11 
boxes and whatnot.  Some folks will run stuff into the ground, and for 
whatever reason.  Those same folks often aren't much of a market for 
sales and support, though.  Or keeping those folks with the older 
configurations happy slows down support for the folks that are buying 
in larger volumes.

Feature-competitive operating systems are ginormous projects, and the 
VSI budget is very far from ginormous.  Which means VSI gets to pick 
from a very long list, and targeting what will keep the installed base 
buying. Which has historically been different from what new folks might 
or would want.  And while the installed base is the future of VSI, the 
oldest parts of the installed base... aren't.  Not unless they start 
moving forward.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list