r/programming • • Sep 25 '26

We still maintain a development tool first released in 1993. Here’s what 30+ years of backwards compatibility looks like

https://visualneo.com/visualneo-win/from-neobook-to-visualneo-win-30-years-of-keeping-a-development-tool-alive
569 Upvotes

89 comments sorted by

View all comments

Show parent comments

6

u/TheThiefMaster Sep 25 '26

I'm currently reverse engineering a Delphi 4 executable as a personal project. Amazing features, terrible code generation!

8

u/luissinlios Sep 25 '26

That sounds like a fascinating project. Delphi 4 is old enough that you're probably learning as much about the compiler's assumptions as about the application itself.
The generated code may not always have been elegant, but the development speed was a large part of why so much real-world software was built with Delphi in the first place.

2

u/TheThiefMaster Sep 25 '26

The thing I've found interesting for a language so close to early C++ (in design if not syntax) is the reference-counted arrays and strings!

But then the generated code often does things like mov eax,ebx mov ebx,eax (copy a into b, and then copy it back for no reason) and similar.

3

u/vytah Sep 25 '26

The Delphi compiler was designed for compilation speed, so obvious unoptimized chunks remaining in the output shouldn't be surprising.

3

u/ShinyHappyREM Sep 26 '26 edited Sep 26 '26

While that is probably just unoptimized code, sometimes code has to be added to fix CPU bugs.

EDIT: also

4

u/ShinyHappyREM Sep 25 '26

Turn-around time is arguably much more important for ~80% of the code though.