I did a reasonably big rewrite from JavaScript (Nashorn, long story) to Kotlin/JVM recently (with 60x speedup and elimination of huge variance in runtime). Keys to success in a larger scale translation: - don't redesign anything, do a port (see also, Typescript compiler to Go port) - leverage LLMs interactively: per chunk (e.g. function), copy the old code into a comment in the new code, then use LLM completion to qu…
> Don't get tempted into doing refactorings as you go.
I would say those are the most important. We did so many migrations in the past 30 years and the only ones that went ok were the ones that held to these rules. If you don't, you are rapidly stuck in a lot of pain and probably you won't be able to get out.