Many legacy software are built using "rapid application development" (RAD) tools like FoxPro or Microsoft Access. At that time, the senior engineers around, the ones who had spent decades with punch cards and mainframe batch jobs, looked at what FoxPro users were doing and called it cheating. FoxPro was too easy and high-level. It abstracted away the real work. A tool like that couldn't produce anything serious.

They were wrong as those FoxPro applications were able to run businesses and created the bedrock of successful enterprises. Some of them are still running today, decades later. The people who dismissed the tools could never dismiss the results.

I've watched this pattern repeat through every generation of technology I've worked in. Visual Basic was too simple for C++ developers. .NET was too abstracted for the Visual Basic crowd. And now, AI-assisted development gets the same skepticism from the previous generation. Every era's tools get treated as cheating by the people who built the last era.

The pattern isn't just about tools, though. It shows up in how we talk about the systems those tools produced. We call them "legacy" and mean it as an insult. That's a mistake.

What "Legacy" Actually Means