Hot Take: moving to Python 3 is fucking easy, you lazy shitbirds

https://engineering.khanacademy.org/posts/goliath.htm

Look, everyone’s codebase is different. There’s a shit ton of baggage, hidden complexity, 100% critical code with 0% test coverage, and so on and so on. I get it. I really do. But.

1. PEP-3000 was released in 2006. Python 3 was released in (late) 2008. You’ve had 10 years to plan your migration strategy.
2. It took a long time to get there, but there’s been a critical mass of important libraries ported to 3. Example 1, Example 2.

Here’s why porting to 3 is “really hard”, in most likely order:

Your devs are bored with python and want to pad their CVs with something new.
Your team has written shit code.
Your management won’t give you the time and space to do it.

That’s it. Some combination of those 3 things, most likely the first. You built a giant thing with Python and now it’s “done”, but it’s also boring. Or you just didn’t ever give a shit about designing your code for 3. Or maybe you did, you gave it a good try, but you just can’t get management to approve (new headcount/feature freeze/etc) you think you’ll need to do it right.

Switching platforms has as much to do with attracting (and retaining) talent, and getting your corporate blog post noticed in Orange Site, as it does things like “performance” and “time to market”.

Lots of codebases are fucked up and management is universally shitty but be real: you’re moving to (Go/Scala/Kotlin/Rust/whatever is hip this week) because you are bored with whatever you’re using now.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s