← Back to context

Comment by binarin

2 days ago

It's the Python guys whom I totally don't understand - it's all fun and dandy until you try to maintain and cleanup a legacy codebase of tens of millions lines of code in any dynamic language :)

With or without AI - doesn't matter. Only at that point you gain understanding of the limitations both of LLMs and of dynamic languages.

edit: Forgot about "Nightmare" difficulty - try enjoying dynamic languages and LLMs when your legacy codebase is earning tens of thousands $ per second.

Unless you're doing something really dynamic, I don't really understand this position and would like to learn more. for most cases gradual typing is a great option that can be done incrementally in Python (two things even cheap agents are really good at).

  • You can't forbid people doing something "really dynamic". And in a sufficiently big system, over long period of time, this stuff will accumulate - 100%. Then you'll get to a point where answering questions like "is this piece of code still alive" with enough confidence is almost impossible.

    The question is where the "enough confidence" border lies - and in the worse case the only way to do some reliable investigatios would be printf debugging or its alikes.

    • It sounds like your app is using a lot of dynamic techniques like meta-programming? If so, that makes a lot of sense. Most of the apps I've seen use very little use of meta-programming and friends and incremental typing worked rather well.

> your legacy codebase is earning tens of thousands $ per second.

Your legacy codebase generates ~300 billion a year?

  • Okay - not earning, but processing. Adjust the figure a bit for varying traffic patterns during week and seasonality, and it'll be kinda like that.