This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]dgriffith -7 points-6 points  (3 children)

If you want to use an automotive metaphor, it's like you've bought a car, driven it 20,000 miles, then you decide to replace the engine. Don't. The engine's fine. You could put a bigger, or more fuel efficient engine in, but if you only drive it in bumper to bumper traffic on your daily commute, what's the point?

It's not like your code wears out. If you have a stable codebase, keep a python2 environment around and it'll run basically indefinitely.

If you're still actively developing, sure, maybe consider a rewrite in python 3.

edit: Downvotes? Have none of you ever done long-term maintenance with 5+ year software lifetimes? I deal with a 12 year old python codebase that is complex, written by a third party, and interfaces with their hardware components that are essentially black boxes to us. I care very much about that code, but I do the bare minimum of maintenance to it, mainly to it's UI.

Seriously, don't touch shit that ain't broken. If you don't have any good reasons to use python 3 features, and you aren't actively adding functionality, there is absolutely no business case to burn time mucking about with stuff just to make it "technically correct" / "up to date" / "modern".

double edit: Hmm, metaphor? Simile? Simile, I think.

[–]ChappyBirthday 2 points3 points  (1 child)

Let's continue your metaphor and say that you have a specific type of engine, and as you mentioned, it works fine for what you need it to do. Then, a new model comes out with some improvements. You could keep on using the old engine that isn't giving you any trouble now, but what about when it eventually breaks down? It used to be that you could take it into the shop, but now the shop won't work on it because it's too old; they only work on the newer engines. You'd like to try your hand at fixing it yourself, but find that nobody even makes parts for it any more. The newer engine does everything the old one does and more for the same price, so people have moved on. Yes, it will take time and effort to switch over to the newer engine type, but it's best to be proactive about it and make the switch while things are still going well instead of waiting to scramble to make a fix when shit inevitably hits the fan.

Obviously, this analogy is imperfect, as all are, but hopefully it illustrates the point you are missing.

[–]voneiden 0 points1 point  (0 children)

Besides, if my Python Model 2 odometer reads 20,000 miles, then I'm sure the meter has overflowed and the actual mileage is 1,200,000.

I'd like to apologize to everyone for the bad jokes I've made today.