7 ms·
Python 3 was released in 2008, it had 12 years of legacy support before going EOL, and then an additional 12 months of support after that. If 13 years isn't en
by philderbeast 6y ago
Python 3 was released in 2008, it had 12 years of legacy support before going EOL, and then an additional 12 months of support after that.
If 13 years isn't enough warning to migrate your use case, no amount of warning will help you.
At some point you have to stop saying its to hard to migrate.
- pishpash 6y agoAcademia doesn't have unlimited budget to do migrations that don't solve any pressing problems. I guess now there is a pressing problem, but more likely people will maintain the old version of pip locally.
- philderbeast 6y agoThen they are asking the wrong question, instead of asking do I have to upgrade, they need to be asking why shouldn't I upgrade. Keeping current with industry is the only way they can stay relevant in the modern world, particularly in IT and related fields where anyone with a computer at home can do the same research as someone at a university.
- meekrohprocess 6y agoYeah, really. Graduate students aren't cheap! Oh wait, we pay computing grad students literally 1/10 of their potential salary ($10Ks vs $100Ks). Why could there possibly be a shortage? -_- More importantly, it shouldn't be prohibitively expensive to port academic Python code.
- Wowfunhappy 6y agoGraduate students are there to do research, not update old existing codebases. That's a part of the bargain, part in parcel with the low pay.
- Kalium 6y agoFrom limited exposure, these codebases are often in truly awful shape. They've endured years or decades of having been hacked up just enough to finish someone's thesis or dissertation with no concern at all towards maintenance. It should be no surprise that such a poorly engineered process produces awful results.
- deleted 6y ago[deleted]
- meekrohprocess 6y agoSure, the low pay is commensurate with...uh...some sort of ephemeral opportunities in the future. But seriously, you're right. Grad students do grunt work, that's how it goes. And if an academic Python2 library is widely-used, porting it is important grunt work. Surely, no serious researcher would let an important tool rot, right?
- zmb_ 6y agoThe problem is that because of the way the incentives are set up, it is not important to anyone involved. What is important to the grad students is to produce research papers and to fulfill their mandatory obligations (teaching, project deliverables). And most grad students, even in CS, are not professional software developers anyway. Good luck convincing capable grad student candidates to join your group to do boring software maintenance for horrible pay and no job security. What is important to the professors, who decide what the grad students will work on, is again to produce research papers, fulfill their mandatory obligations (teaching, project deliverables) and to continually file for grants. Spending grad student time on porting and maintaining libraries does not help with that. In the worst case your grad student is spending their time maintaining a tool that a competing group's grad students are using to churn out papers, beating you to publications and grants. What is important for the funding agencies is flashy new research in the current hot topics. I never saw a funding agency that would even consider paying a grad student, let alone a full software engineer salary, to port an academic tool from Python2 to Python3 or do all the other maintenance you need to do on production codebases---nor do most universities even have salary classes and positions for that. As a result, in the many years I spent in academia, I saw many important research tools rot (both software and large hardware testbeds). The solution is not grad students, but to have fully paid software engineer positions in academia. But realistically that is not going to happen.
- MattGaiser 6y agoYeah, but would grad students come to write code all the time? The low pay is in exchange for the ability to do research, not to be a discount software engineer.
- meekrohprocess 6y agoNot all the time; to be fair, universities don't pay their students to work 40+hrs/week. But graduate schooling is still a big opportunity cost, and not to go all Mark Twain, but sometimes that can get in the way of your education.
- valvar 6y agoThey don't pay them to work 40+hrs/week, but often they expect them to work 50+hrs/week. From what I've seen in Sweden at least, but at least the pay is okay there.
- meekrohprocess 6y agoWell in the US, postgrad education is a genuinely interesting proposition. * Very low pay. * Good benefits in a nation with poor safety nets. * Tuition waivers along the lines of $10-100K/year. * When the Dr. says jump, you ask how high. If you view education as an investment, it isn't necessarily bad compared to an ordinary job. But it's kind of like a FAANG company; your experience depends on who you report to.
- mikepurvis 6y agoI don't think migration was given enough serious consideration until Python 3.3 in 2012, and even then there were some baffling and massively unnecessarily migration-hostile decisions like not allowing a separate PYTHON3PATH envvar. Anyway, how hard would it have been to have a "from __past__ import old_strings" that could have worked for the first few releases to allow the single biggest issue to be smoothed over universally and then fixed file by file under the Python 3 environment? With that in place a lot of shops could have just migrated on day 1 and then iteratively worked to finish the job rather than delaying for so long.
- mynameisvlad 6y agoI mean, that's still 8 years of time to migrate to Python 3. That's more than enough time, IMO.
- mikepurvis 6y agoRight but it poisoned the well; people had already had four years to kick the tires and conclude "yeah nothing works, my dependencies aren't ready; this seems completely not worth it."
- dxdm 6y agoThat doesn't sound like a good reason to sit on your butt for 8 more years while the world moves on.
- mikepurvis 6y agoAt this point we're hopefully past insulting people who did what everyone else did and instead looking for the larger patterns and lessons learned.
- mynameisvlad 6y agoSaying that people sat on their butt for 8 years is insulting now? Come on. At the end of the day, they had anywhere from 8 to 12 years to migrate. In the tech world, that's a millennia. Most products and services will give you months when they deprecate or sunset.
- zachrip 6y agoIf anything, having such a long runway could cause the issue of people not migrating. 12 years presents no urgency in software, code is regularly rewritten every few years.
- vmception 6y agoOutside of mere observational contribution to this topic, are you playing devils advocate because it is easy, or do you actually believe that this is a real excuse for the python community?
- zachrip 6y agoI'm not making excuses for them, I'm saying the upgrade path was too long. It's the same reason people don't care about climate change - many of them won't see the results of their efforts now so they just keep doing what they're comfortable with. If it was a year or two, people would've upgraded straight away.
- coliveira 6y agoThat's exactly the point: some software will never be ported. That's why is such a bad idea for languages to create a break point like the geniuses of Python decided to do.
- xxpor 6y agoNo, there's an implicit assumption that you need to do maintainance on software you run. People who don't budget for it are just denying reality. There's 0 difference between the states that were putting a call out for COBOL programmers to deal with their disaster of an unemployment system and the professor running some python script from 2003. Their lack of responsible ownership is their own fault.
- dwheeler 6y agoIt's true that you need to budget for maintenance. It is a serious societal problem that maintenance is underfunded. But that means that any language revision needs to work hard at making the transition easy and incremental. 2to3 was and is laughable; at no point was it a reasonable solution. It's okay to say "we need maintenance money". But no one has an unlimited budget. People complain about the 2->3 transition because (1) it was extraordinarily steep, (2) was not justified, (3) its huge costs are repeatedly denied.
- coliveira 6y agoYour comparison couldn't be worse. COBOL is having problems not because of the language, but because of the code created 50 years ago. For all its disadvantages, COBOL is in fact one of the most successful languages of all time because it has allowed businesses to run their software for the last 50 years. That's why it won't go away, even though no one in their sane mind would create even a new line of software in COBOL. Python decided instead that their customers were of no value, and all the millions of lines of existing Python shouldn't continue to run, even though it would be trivial for them to continue supporting 2.x syntax along with 3.x. I think it is one of the most insane decisions ever made by a mainstream programming language.
- 6y ago
- lanstin 6y agoIt was in the end more rewarding to migrate to Golang rather than rewrite in a similar version of Python. Old is boring. Change is risky.