5 ms·
Sentry stays on Python 2.7 even after 2020
- mindcrime 8y agoIt boggles the imagination that anybody is still clinging to Python 2 at this point in the game. I guess they have their reasons, but man, oh man... from an outsider perspective, this feels very questionable.
- speedplane 8y ago> It boggles the imagination that anybody is still clinging to Python 2 at this point in the game. I guess they have their reasons, but man, oh man... from an outsider perspective, this feels very questionable. If you're running a company would you prefer to ask your developers to spend their time upgrading to Python 3 for mostly syntactical sugar or adding new features? Python 3 is a complete disaster. It's not a newer version of the language, it's an entirely different language.
- mariuolo 8y ago> Python 3 is a complete disaster. It's not a newer version of the language, it's an entirely different language. Be news to me. Are you sure you aren't talking about Perl 6?
- mindcrime 8y agoPython is (or will soon be) unsupported, legacy technology with no future. If I had a Python 2 codebase, I'd be asking the developers to move to a platform with a future. And while I disagree with your "Python 3 is an entirely new language" assessment, even if that were true, the point would be the same: move to a modern platform, whether it's Python3, Go, Rust, Java, Erlang, Agda, Brainfuck, or whatever.
- speedplane 7y ago> If I had a Python 2 codebase, I'd be asking the developers to move to a platform with a future. You've obviously never managed a production app with paying customers on a Python 2 codebase. In a real product, there are a near infinite number of bugs to fix and features to add. Each new feature or bug fix can often lead to additional customers and more revenue. In contrast, re-engineering a large Python 2 codebase into Python 3 can take a team months, and users won't notice the difference. If you were a product manager, or even a technical systems architect, would you prefer that your devs make the product more useful to your customers or would you ask them to devote their time to rewriting already working code for a different programming language?
- tutfbhuf 7y agoIn software development there are direct short term goals and benefits, like bug fixes and features, which easily show up in the next quarter result and there are long term objectives which are hard to measure but equally important. If a company only focus on short term quick wins, then it will most likely not survive in the long run. One reason for this is that as the software/stack gets outdated it becomes much harder to find new good developers that want to spend a significant time of their life with legacy software and stuck on a dead end language like phyton 2.7 with no future. Eventually the niche will be covered by a new company with an up-to-date tech stack. Uprading the codebase from python 2.7 to 3.X definitely only pays (the bill) in the long run. If a company plans to shutdown one of their department anyway within the next few years, well then stick to python 2.7 and die along with it. But if a company plans to continue for the next decade, then the upgrade to python 3 is a no-brainer.
- speedplane 7y ago> Uprading the codebase from python 2.7 to 3.X definitely only pays (the bill) in the long run. It doesn't even pay the long term bills. If future development necessitates the use of Python 3, it is far easier and more maintainable to put the existing app into a Python 2 Docker container, and build any new stuff in Python 3 container. If they have to talk to each other, they can do so using standard inter process communication techniques. You are underestimating the amount of work it takes to rewrite a large app. History is littered with examples of rewrites taking down entire products and companies. There are almost always better solutions.
- mariuolo 8y agoPresumably because they assume it will cost less to maintain Python 2 than porting the application to Python 3. The Calibre author said something like that himself https://bugs.launchpad.net/calibre/+bug/1714107 https://bugs.launchpad.net/calibre/+bug/1714107 .
- tutfbhuf 8y ago"I am perfectly capable of maintaining python 2 myself. Far less work than migrating the entire calibre codebase. status wontfix" Porting to Python 3 has been done many times even for very large codebases. I think if a application is written in a way that to fork Python 2 and support that indefinitely instead of upgrading to Python 3, is the lesser evil of the two, then I would come up with serious questions about the quality of the codebase and its maintainers.
- mindcrime 8y agoPresumably because they assume it will cost less to maintain Python 2 than porting the application to Python 3. That strikes me as incredibly hard to believe, but hey, if they've "run the numbers" and that's their conclusion, then so be it.