Another issue also is differentiating between hidden requirenments, undocumented features (positive), bugs (negative) and developer choice made during coding of the legacy software which does not affect the program positively or negatively.
A LLM (or alternatively a tem of developers) could do a reasonable well job of repuducing all these features and behaviors in a new program. But at that point you have effectively just cross-compiled your code (and maybe refactored it a bit).
The real issue is in identifying essential and wanted features from all the features, even if you could magically extract all of them. And in most cases that requires a deep understanding of the target audience/customer, which I would argue no person (including the customer), let alone a LLM, just has without years of requirenment refinement.
I’m an actuarie, but my day to day job is being a developer. And is really funny when I’m refractoring or migrating some code where the preview developer wasn’t an acturie and I can see entire pieces of code that are useless (on top on when they’re just wrong) and are just there because who wrote it don’t really understand the purpose of the process and added things that at the end were never used. And when they ask an LLM to translate or refractor the code, that useless code usually cause problems because they can’t understand that that pieces of code have not real use and need to be ignored.
Another issue also is differentiating between hidden requirenments, undocumented features (positive), bugs (negative) and developer choice made during coding of the legacy software which does not affect the program positively or negatively.
A LLM (or alternatively a tem of developers) could do a reasonable well job of repuducing all these features and behaviors in a new program. But at that point you have effectively just cross-compiled your code (and maybe refactored it a bit).
The real issue is in identifying essential and wanted features from all the features, even if you could magically extract all of them. And in most cases that requires a deep understanding of the target audience/customer, which I would argue no person (including the customer), let alone a LLM, just has without years of requirenment refinement.
I’m an actuarie, but my day to day job is being a developer. And is really funny when I’m refractoring or migrating some code where the preview developer wasn’t an acturie and I can see entire pieces of code that are useless (on top on when they’re just wrong) and are just there because who wrote it don’t really understand the purpose of the process and added things that at the end were never used. And when they ask an LLM to translate or refractor the code, that useless code usually cause problems because they can’t understand that that pieces of code have not real use and need to be ignored.