Yeah, this might be a nice middle-ground. You don’t have to write the code yourself, just find a small dev agency or freelancer to do it for you. Ask them to focus on readability, write it in a simple, straightforward, procedural style, and thoroughly document/comment every major section — both for you to learn from and for any future maintainers to understand.
You don’t have to know anything about object-oriented programming. From what I can see of your existing code, it is pretty straightforward “move characters, substitute this for that”, etc., just a whole bunch of them. It’s the kind of stuff that your average programming student would learn in their first semester, not anything super fancy.
For what it’s worth, I’m also fairly confident this is a problem that LLMs can help solve for you (and pretty effectively teach you, line by line, along the way… just ask it to convert one section of your code at a time and explain what it’s doing and what the Python code means). That might be cheaper than trying to hire a developer. And by cheap, I mean anywhere from free to like $20. But be very sure to run test cases against it; they don’t always get the code right at the first (or even many) tries… but the same thing applies to any agency you hire, and especially freelancers. Test the heck out of any new version, whether it’s human-written Python, AI code, or a Tableau thing that a consultant writes for you.
Anyyyyyyhooow… I think the main benefit of using a more modern language (beyond long-term maintainability) would mostly be a readability improvement. It wouldn’t necessarily cause any increase in complexity. Your bazillions of if-statements could become more terse and readable, like these examples.
This kind of code doesn’t cause complexity (in any language), because primarily it is a matter of syntax (how the program “looks”) rather than logic (what it’s doing). The logic is simple, but the syntax is very verbose and pretty old-fashioned and kind of spreadsheet-like (reminds me of nested Excel formulas).
As a web developer, I’m probably a bit biased here, but I think you could also make the case that this would be better as a Javascript web app (because it’s easier to distribute that way; you can send any of the other companies or your own users to www.johnnys-transformer.com and they would just be able to upload the files and download them without needing to install anything). Python programs are a little trickier to distribute to your users, but not terribly so… we recently had another thread about this, and you can pretty easily distribute a Python app as a website too: Turning a Python app into a web app for easier distribution?
Yes, fair enough, sorry about that!