What is automated software migration and why should I care?
Your code is your asset
Software development is not easy. And not because programming in itself is rocket science. As an application grows in size, things get increasingly complex. The software industry is still young and we have a low level of standardization in the software development process. Let’s face it, each company does things differently and takes pride in doing so. And we could go on.
Yet have you ever found yourself asking Why did we code product X in that programming language? Why didn’t we choose the other language instead? But, traditionally, the wisest choice is to stick with what you already have and avoid rewrite as hell. Everyone is saying this.
An alternative to manual rewrite
A software migrator is a complex tool that automatically translates applications written in a source language into semantically equivalent applications that use a different (target) language. The goal is to maintain the original look and behavior to the largest possible extent.
Once the codebase has been successfully migrated, no one says that it has to stay frozen that way. In fact one of the reasons to migrate is to take advantage of the target language’s ecosystem - features, available tools, specialists, community. So you can now refine, refactor, develop new features while resting assured that you are not ruining what you already had working.
A clean sheet, but without a catch
Automated software migration is a fast way to start over with a clean sheet, but without losing what you already have worked on. It’s the fastest way to rewrite your application in a better-suited language while retaining all existing functionality.
Just think of it: We have this insanely fast hardware that no one could have imagined two decades ago. Huge storage space, lots of RAM too. Yet we continue to rewrite software by hand. As if still coding in assembly because one wouldn’t know better. Is this really acceptable?
We don’t think so and started to do something about this - at least if you’re stuck with some huge PHP codebase that probably should have been written in Java in the first place.