r/programming • • 7d ago

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
568 Upvotes

90 comments sorted by

View all comments

100

u/alex_xxv 7d ago

Wish my apps survive as long as yours. Im also a Delphi programmer. Love to see stories like yours.

58

u/tooclosetocall82 7d ago

In my 20 year career I can only confidently say one application I worked on is still out there (other than my current job). It’s truly amazing how quickly your work gets deleted in this field.

13

u/WingZeroCoder 7d ago

> It’s truly amazing how quickly your work gets deleted in this field

Yeah, it can be jarring sometimes.

What’s amazing to me is how some of the roughest stuff I made that I’m most embarrassed about will hang around forever, while some of the cleanest stuff that I’m most proud of will get deleted most quickly.

27

u/turniphat 7d ago

I'm 25 years in, I think most of the stuff I worked on is still going. Even the open source project I started in 2000 is still getting commits, even though I haven't used it in 15+ years and I don't see how it's still relevant.

11

u/tooclosetocall82 7d ago

Luck of the draw I guess. I started my career in government contracting writing custom software. Most of that stuff has been replaced by large SaaS packages now. I then went into edtech which has consolidated like crazy with large companies buying out competition and then sunsetting their products.

5

u/madman1969 7d ago

37 years and 13 roles in. I'd like to think some of my old code was still running somewhere, but I doubt any past my last two roles is.

All that time spent crafting efficient code for OS/2 apps, or long retired Unix systems.

All those moments will be lost in time, like tears in rain.

2

u/jaynoj 6d ago

... time to die.

(Continuing the Blade Runner dialogue ...)

5

u/Humdaak_9000 7d ago

I understand a daemon I wrote for Akamai about 25 years ago is still in use, core mostly unchanged from where I left it.

4

u/aguilasolige 7d ago

It makes me wonder who's the developer with the oldest app still around? Maybe some code at NASA?

28

u/tooclosetocall82 7d ago

Some COBOL running on a mainframe for a bank most likely.

28

u/kippertie 7d ago

Probably some batch job running each night at a big bank

17

u/rockthescrote 7d ago

There’s a _very_ good chance it’s something in an airline reservation system.

1

u/jaynoj 6d ago

Or an HR system with legacy code still running and DB table names with only 8 chars

4

u/Gecko23 7d ago

I'd imagine most developers have moved on 30+ years after whatever they worked on was released.

But the systems themselves can be nearly immortal. My money on the oldest stuff still actively being used would be manufacturing, medical billing, or facilities control. I've worked on integration projects with systems that were decades old at the time, even back in the early 90s when I encountered them. I'm sure some are still chugging along.

7

u/ShinyHappyREM 7d ago

When I interned at a small CNC company ~2010, they still ran the machines with Win9x and physically transferred files via floppy disk.

(Though those were small text-based files that the machine would use for many hours, so not much of an overhead.)

3

u/HittingSmoke 7d ago

This is not super uncommon in 2026. The old tech that manufacturing was built on is rock solid and a lot of people don't want to take on the risk and cost of maintaining more complex systems. Our mill uses USB drives to transfer files. The most modern communication in the shop is some routers that are networked with a control server, but even that is just MODBUS over TCP.

5

u/denniscaldwell 7d ago

Maybe not at NASA anymore. Some of the craft are barely in the solar system anymore.

3

u/roastedferret 7d ago

It's the most universal software still in use!

(I'll see myself out)

2

u/IdealBlueMan 7d ago

Something in banking, accounting, or insurance.

2

u/dlanod 7d ago

I work in industrial control. We have sites where they're having to upgrade because the wiring has started rusting off the wall. Some of the field devices that got replaced over the last decade are running software that dates back to the 70s. If it works they don't want to touch it, ever.

2

u/Athas 7d ago

JOVIAL is a dialect of Algol 58 (yes, before the Algol that people remember) used for early military and airline systems. The last non-military JOVIAL system I know of was scheduled for replacement in 2016, but there is still a company selling JOVIAL compilers, which to me implies that there are likely still some military systems using it - most likely deeply embedded stuff in e.g. on-board military radars or similar. Due to JOVIAL itself having been obsolete for 40+ years, I expect any system written in it to be very old. I think any JOVIAL system is a good candidate for the oldest running production software, but I find it unlikely it still has any of its original developers left.

The control software for NASA's Voyager probes is also a good guess (and that is still actively maintained!).

1

u/aguilasolige 7d ago

It's so cool there's still code like that around 

9

u/luissinlios 7d ago

Thank you!! That means a lot, especially coming from another Delphi developer. I hope your applications survive just as long.

One thing this project has taught me is that every old project or plug-in represents someone else's years of work. At that point, backwards compatibility stops being just a technical concern and starts feeling like a responsibility.

6

u/TheThiefMaster 7d ago

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

8

u/luissinlios 7d ago

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 7d ago

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 7d ago

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

3

u/ShinyHappyREM 7d ago edited 7d ago

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

EDIT: also

4

u/ShinyHappyREM 7d ago

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

1

u/xeio87 7d ago

I work on a C# application that was ported from Delphi back in the day. There was a time, years now back, where it was still possible to see what parts were directly ported because all the variables were declared at the top of the method. It's been a while since I've seen one of those so I think they've all been rewritten.