Hacker News new | past | comments | ask | show | jobs | submit login

> Or, alternatively, "How many Python 2 scripts will run on a Python 3 interpreter?" Answer: "None of them."

That's obviously untrue. For example, consider the following Python 2 script:

    with open('a.txt', 'r') as a, open('b.txt', 'w') as b:
        for line in a:
            b.write(line)
It works identically on a Python 3 interpreter, and it doesn't even use "from __future__ import ...".



Not quite. If your a.txt contains utf-8 byte blocks you are screwed in Python 2.


Yes, I should have said, "a vanishingly small proportion, and even then mostly by accident".

My guess is that if you sweep GitHub for Python2 code and push it into Python3, that proportion would be under one percent.


how will that number look when you first autoconvert via 2to3?

I did two migrations of >500k loc projects in an afternoon each, and admittedly some days of testing to gain confidence since there where few unit test. But i found it to be very smooth sailing.

I was very familiar with both projects, so that helped a lot.

EDIT: I also want to add that i did this using python3.5, when to ecosystem seemed to be at a sweet spot of dependencies supporting both 2 and 3 mostly. I guess if one has been waiting until now, the divide between library versions will be a lot bigger.


As a big user of logging and little to do with character coding, all of my admin/daemon stuff moved over with almost no changes necessary for 3.0 (actually ~3.3).

For some projects I did bigger refactors for 2.6/7 (exceptions) and 3.6 (fstrings).


Fair point, but:

  int main(int c,char** v)
    {
    printf("Hello, World!\n");
    return 0;
    }
doesn't make C++ the same language as C.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: