On Wed, Feb 12, 2020 at 7:03 AM Michael Torrie <torr...@gmail.com> wrote: > > On 2/11/20 4:05 AM, Chris Angelico wrote: > > Or just the recognition that, eventually, technical debt has to be > > paid. > > Speaking about technical debt is certainly fashionable these days. As > if we've somehow discovered a brand new way of looking at things. But > it doesn't matter what you do, there's always real cost, and therefore > always technical debt. Moving to Python 3 incurs technical debt. > Staying with Python 2 incurs technical debt. Thus I wonder if the term > is actually that useful. > > I know what you mean, though. The cost of staying with Python2 is > increasing rapidly compared to the cost of porting to Python3. Unlike > the nebulous term, "technical debt," the cost of staying with Python2 vs > porting to Python3 can be quantified in real dollar amounts. I've no > doubt that the calculus is in favor of Python2 a while longer for many > people.
What you're talking about is costs in general, but "debt" is a very specific term. You accrue technical debt whenever you "borrow" time from the future - doing something that's less effort now at the expense of being worse in the future. You pay off that debt when you sink time into something in order to make it easier to work on in the future. The most common form of technical debt is legacy code, where you often end up paying interest on the debt every time you dip your toes into the code to make a small change, avoiding the work of actually refactoring things and fixing the problems. Porting to Python 3 should *improve* your codebase, so it should be a way of shedding technical debt. (Unless you do it by running 2to3 on your code and hoping for the best. But that's a bad idea for many other reasons.) ChrisA -- https://mail.python.org/mailman/listinfo/python-list