On 1/17/2014 5:16 PM, beliav...@aol.com wrote:

I don't think the Fortran analogy is valid.

The appropriate analogy for the changes between Python 2.x and 3.x, which started about 1 and 2 decades after the original Python, are the changes between Fortran IV/66 and Fortran 77, also about 1 and 2 decades after the original Fortran. The latter two have a comparable number of differences. "In this revision of the standard [F77], a number of features were removed or altered in a manner that might invalidate previously standard-conforming programs.
  https://en.wikipedia.org/wiki/Fortran
Not mentioned in the wiki article is the change in calling convention from call by value to call by reference (or maybe the opposite). I remember a program crashing because of this when I tried it with F77.

Overall, there was more churn in Fortran up to F77 than there was in Python up to 3.0.

The Fortran standards after F77 are almost complete supersets of F77, and 
Fortran compiler vendors handle even the deleted parts of F77, knowing their 
customer base. Therefore you do not need to rewrite old Fortran code to use it 
with Fortran 95 or 2003 compilers, and you can easily mix old-style and modern 
Fortran. Later Fortran standards did not invalidate basic syntax such as print 
statements, as Python 3 did. Python 2 and 3 are incompatible in ways that do 
not apply to Fortran standards pre- and post- F77.

Since 3.0, we have added new syntax ('yield from', u'' for instance) but I do not believe we have deleted or changed any syntax (I might have forgotten something minor) and I do not know of any proposal to do so (except to re-delete u'', which should only be used as a temporary crutch for 2&3 code).

> Python 2 and 3 are incompatible in ways that do not apply to Fortran > standards pre- and post- F77.

As stated above, I disagree with respect to pre-F77 and F77. Did you actually program in both, as I did?

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to