Live data from Hacker News

Why CCP is still using Python 2

robg3d.com

21–30 of 95 posts

Re: Why CCP is still using Python 2

#21

As someone who works in VFX I can sympathise with CCP on this. However the real question is: why should port everything to 3? none of the software in VFX uses it, plus a lot of people aren't really up to speed with the changes. What is the point? yes the language "purer" but that doesn't make my life easier......

If you haven't already written your own horrible hacky string handling framework, python 3's unicode support is much nicer. And IMO, for projects of the size I work on, super() alone justifies the upgrade.

But I think to talk about porting is to ask the wrong question. The main reason for python 3 isn't to port existing projects, it's to make python a good choice for new projects.

Re: Why CCP is still using Python 2

#22

As someone who works in VFX I can sympathise with CCP on this. However the real question is: why should port everything to 3? none of the software in VFX uses it, plus a lot of people aren't really up to speed with the changes. What is the point? yes the language "purer" but that doesn't make my life easier......

exactly.

Maya 2012, Nuke 7 are on 2.6.4/5

Maya 2014, Nuke 8 are on 2.7.3.

It's a chicken and egg situation - until VFX houses (often with close to a million lines of Python code integrating stuff) need Python 3 (I don't see why they would based on the new features), they're not going to ask companies like The Foundry and Autodesk to add support for it.

And the commercial companies aren't going to waste dev (and huge amounts of test time) on a feature 95% of their customers don't want or need.

Houdini's got dual 2/3 support, but I find it very difficult to believe any big studio is using the 3 support (as it wouldn't integrate with the rest of the pipeline).

Re: Why CCP is still using Python 2

#23
post #11

As someone who works in VFX I can sympathise with CCP on this. However the real question is: why should port everything to 3? none of the software in VFX uses it, plus a lot of people aren't really up to speed with the changes. What is the point? yes the language "purer" but that doesn't make my life easier......

The point of maintaining the source code to the latest version is to guarantee its survival to the long term: at some point you will have to pass the ownership to another, younger, dev that might not have been taught into this older technology; or port your script to a newer hardware, and eventually deal with an sub-optimal or incomplete VM. Either you maintain to the latest version and distribute the cost in time or…

But the python source code's available to build, and anyway, quite a bit of the python in VFX is run through embedded interpreters in Maya, Nuke, Houdini or Katana which means they can keep using an old version indefinitely.

Re: Why CCP is still using Python 2

#25
post #5

Huh? Python 2.8 discussions recently? Last I checked there was never going to be a 2.8.

What rock have you been under?

The last 2 weeks have been full of people championing the idea that perhaps a 2.8 with back ported 3.x features is a better solution than the 3.x line, because it provides new features with an any easy upgrade path to existing code bases.

...just because most of the core python developers currently seem to hate this idea (pep 404) doesn't mean it won't happen.

If 3.4 is as much of a flop of the 3.x line has been thus far, we're almost certainly see some change of direction over the next few months.

Re: Why CCP is still using Python 2

#26
post #19
post #11

Earlier quoted context omitted.

The point of maintaining the source code to the latest version is to guarantee its survival to the long term: at some point you will have to pass the ownership to another, younger, dev that might not have been taught into this older technology; or port your script to a newer hardware, and eventually deal with an sub-optimal or incomplete VM. Either you maintain to the latest version and distribute the cost in time or…

"See every organization still running on XP ? They may be sentence to death in 3 month, that may be the hardest way learn it." Huh? XP will just be chugging along, for another decade probably in some places. There are still business being run on DOS software FFS. What is the easiest - pay for a complete replacement somewhere in the next decade or two, or upgrading everything every few years to stay with the times? (w…

Well, with Microsoft (and many other software company) ready to pull the plug of updates on this OS, I hope you have faith in your antivirus to stop every unpublished exploit.

Re: Why CCP is still using Python 2

#27

I don think it should surprise anyone here that users with enterprise-size Python codebases aren't jumping to Python 3. PEP 373 doesn't end support until 2015, and I assume at that point RHEL or maybe even someone in the python community will pick up the torch (a la Rails LTS). I think by far the more interesting question is what is going on with today's green-field projects (a.k.a. the enterprises in the making). Wh…

Which statistics? I'm honestly curious.

I presume you've read http://blog.startifact.com/posts/python-2-gravity.html?

All the new python3/python2 libraries I've noticed adhoc recently have been doing the horrible 'polyglot' one-code-base-support-python2-and-python3 thing, or been in python2.

Re: Why CCP is still using Python 2

#28

We have very few automated tests. He could have just written that one sentence.

I changed it to "relatively few." We actually have several thousand altogether, but we have a lot of code. I don't want to discourage the great progress we've made.

I understand your position. I've managed a group that was struggling to increase test coverage. It's hard to make testing work if management wasn't behind it from the get-go. Short term thinking almost ensures this doesn't happen. It is possible to catch up, however. A friend of mine did it with a DoD project. (In C++!)

Re: Why CCP is still using Python 2

#29
post #11

As someone who works in VFX I can sympathise with CCP on this. However the real question is: why should port everything to 3? none of the software in VFX uses it, plus a lot of people aren't really up to speed with the changes. What is the point? yes the language "purer" but that doesn't make my life easier......

The point of maintaining the source code to the latest version is to guarantee its survival to the long term: at some point you will have to pass the ownership to another, younger, dev that might not have been taught into this older technology; or port your script to a newer hardware, and eventually deal with an sub-optimal or incomplete VM. Either you maintain to the latest version and distribute the cost in time or…

Spoken like a true Programmer.

remember to refactor costs man hours, which costs real cash. If it works there is no point changing it. especially if the benefit is some so nebulous as "sub optimal VM" if you were worried about speed in the first place it wouldn't have been written in python.

also you wouldn't port your script to new hardware, you'd port Python (well wait for someone else to....)

Re: Why CCP is still using Python 2

#30
post #21

As someone who works in VFX I can sympathise with CCP on this. However the real question is: why should port everything to 3? none of the software in VFX uses it, plus a lot of people aren't really up to speed with the changes. What is the point? yes the language "purer" but that doesn't make my life easier......

If you haven't already written your own horrible hacky string handling framework, python 3's unicode support is much nicer. And IMO, for projects of the size I work on, super() alone justifies the upgrade. But I think to talk about porting is to ask the wrong question. The main reason for python 3 isn't to port existing projects, it's to make python a good choice for new projects.

You correctly point out that unicode is much much better, but How often are you dealing with it? I know that I certainly don't have to think about it in my pipeline.
Post reply on HN