tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Rewriting pkglint in a portable language



On 3/24/16 7:37 AM, Greg Troxel wrote:
> Java and python I agree with you, but those are hardly paragons
> of compatibiltiy virtue.  They are both examples of a language
> process where there is no language standard and the authors of the
> sole/dominant implementation think it's ok to change the language
> every major release, and users have to juggle which programs run on
> which versions.

Hi, Greg!

I'm puzzled by what you mean about Java.  My experience is that Java
has been backward compatible for a very long time; I've been *very*
impressed that Sun and Oracle have kept it backward compatible for so
long.  Honestly, it reminds me of C in this respect.  I've never had
to change any Java code to make it work on a new JVM.  IMHO, Sun and
Oracle have done a great job in this respect.  (There are other things
I'm not pleased with, but that's a different story.)  Sure, they release
new features in new Java versions, but they always remain backward
compatible: you can run code written for an old version of Java on the
latest JVM.

Python is a *completely* different story.  The change from Python 2 to
3 is huge and significantly breaks lots of code.  I experienced this
personally when trying to migrate some code from 2 to 3 and spending a
lot of time dealing with the string representation change in Python 3.
As another example, Mercurial requires Python 2 and, according to [1],
it will take a significant effort to port it to Python 3.

When Python 3 came out, the impression I got from the Python developers
was that Python 2 would be supported for a while but then support would
end.  It seems that this position has softened now because it has become
clear that the effort to convert the large base of existing code from
Python 2 to 3 is so massive.  I was of the opinion that if the Python
developers really did drop support for Python 2, we would see a fork
of Python 2.  Thankfully, though, now it seems that Python 2 is still
supported.

Regards,

Lewis

[1] https://www.mercurial-scm.org/wiki/SupportedPythonVersions


Home | Main Index | Thread Index | Old Index