Live data from Hacker News

Why CCP is still using Python 2

robg3d.com

51–60 of 95 posts

Re: Why CCP is still using Python 2

#51
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…

See every organization still running on XP ? They may be sentence to death in 3 month, that may be the hardest way learn it.

See that place running COBOL? Yeah, that's your bank.

Re: Why CCP is still using Python 2

#52

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

That's quite a glorified view of tests. You can have the best test coverage in the world backed by a great CI culture but if porting something is a huge time investment, it may still be a huge time investment. Maybe there's one 2.x feature that you use almost everywhere that has been removed in 3.x and there's no simple way to replace it automatically.

Re: Why CCP is still using Python 2

#53
post #26
post #19

Earlier quoted context omitted.

"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.

Most places I know of running WinXP are completely cut off from Internet, using personal media like pendrives is prohibited and the identity of a user is confirmed with physical "PKI card" or something.

They will use their XP's long after the universe dies, I think.

Re: Why CCP is still using Python 2

#54
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…

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....)

Servicing technical debt sometimes costs more than refactoring. Sometimes not. A good manager/programmer can decide which situation they are in and act accordingly.

Re: Why CCP is still using Python 2

#55
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…

> 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.

We're talking about Python 2 vs 3 here, not upgrading your system from Cobol to Clojure.

Re: Why CCP is still using Python 2

#56
post #38

Earlier quoted context omitted.

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....)

And that why so many businesses are outperform by new ones... Because they couldn't delivers a newer product and features fast enough... Because, to support the new "object" that drive money now they had to refactor an old library, created by a dev 5 years ago, and left untouched since.

> And that why so many businesses are outperform by new ones...

So many? Is this including the massive number of new businesses that fail in the first few years? I think that is a very hard assertion to make without seeing the actual numbers of these "new businesses." Most are private and don't report their profits, so you have no idea if they are burning through cash or actually making money -- you just see the hype.

Re: Why CCP is still using Python 2

#57
It was an interesting read, I'm not sure if they are like the shark, already dead but the message hasn't gotten to the swimming part yet, or like a harbinger of the future.

One of the things engineers are going to have to come to grips with is that you can actually be "done" doing new design. It's really really hard in FOSS stuff because bug fixing is so much less rewarding than new feature development. But programming languages are tools, and if you're familiar with tools in the physical world you realize that once you get to a certain optimum, there isn't a lot of 'new feature' to add.

The nature of tools is why a good oscilloscope or bandsaw is still a good oscilloscope or bandsaw 25 years later. It does what it needs as well now as it did when it was new. If there is some new 'space' to work in, you might need a variation of the tool, but the basic tool is fine.

Computers, and computer tools, are maturing. We've seen this in the slowing of the upgrade cycle, the resistance to change that the OP writes about, people are ok with their tools. That will be a different world of computers than we are used to I suspect.

Re: Why CCP is still using Python 2

#58

Earlier quoted context omitted.

The core point is the same: With sufficient test coverage, you can change one variable (Python 3 vs 2) and control for all others. Tests are not an end, they are a means to an end; the courage to change your software in the face of a constantly changing world. Sounds like you're not there, but maybe you have specific domains of EVE that you feel comfortable changing at your whim. That's the success to focus on.

>With sufficient test coverage, you can change one variable (Python 3 vs 2) That is a pretty hilarious way of putting it.

Somewhat naive too to be honest. As someone that had just plain old ruby circa 1.8.5ish code (not rails) that I ported to 1.9 a while back, even with tests there were differences in behavior that I guarantee you probably weren't thinking of writing a unit test for.

Unit tests are nice, but they don't make things braindead easy. Just make it a bit easier to narrow down where something might be broken/different.

Re: Why CCP is still using Python 2

#59
post #50
post #18

Earlier quoted context omitted.

Blender's hardly used in high-end VFX production, due to scalability and interface issues... Houdini's got dual 2/3 support though.

High-end wasn't mentioned before. But I know, I know, blender is often just not an option. Although I don't find the interface as bad as everyone is saying. But then again, I'm a software developer and I don't find GIMP's interface that bad either.

It's all about workflow.

and it's what free/open source software gets wrong almost all the time (and I say that as an advocate of it), due to the fact devs rarely listen to users. The features are often there but they're not that easy or flexible to use, so often they're practically useless in certain situations.

There was something last year when someone came up with some workflow / design improvements suggestions to blender, and the developers just didn't understand why it was necessary, saying "it's possible to do stuff in blender".

Re: Why CCP is still using Python 2

#60

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…

Some support for your point regarding the LTS: The yet to be released RHEL 7 still has Python 2.7.5[1] bundled and not Python 3. RHEL 5 & 6 are being supported for 10 to 13 years[2]. I'd assume that RH will provide any improvements made though - aren't they even required to? [1] https://access.redhat.com/site/documentation/en-US/Red_Hat_E... [2] https://access.redhat.com/site/support/policy/updates/errata...

At the very least, they have to do security fixes.
Post reply on HN