this post was submitted on 28 Jan 2026
493 points (95.6% liked)
Programmer Humor
28883 readers
1614 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
As a programmer, it's pretty wild how much of Windows under the hood has remained completely unchanged. I started writing software synthesizer applications back in the late '90s, using a part of the Win95 API called "winOutX". The functions are kind of clunky to use but they allow you to programmatically create your own audio buffer arrays filled with whatever sounds you're up to creating and dump them into the playback stream for seamless audio. This shit has remained in place, working pretty much perfectly, for the last 30 years. It was even there in WinCE/Windows Mobile, which allowed me to write software synthesis applications for early smartphones circa 2005. And it's still all there today.
I like to rip on MS as much as the next guy (not least for them completely dropping the fucking ball as far as smartphones were concerned), but sometimes their incredibly long-term conservatism can work to your benefit.
It sounds like the app you wrote is doing 99% of the work. And I'm guessing it was written in C, which means it's an x86 binary and could theoretically run on any x86 system.
Modern Windows actually has a lot of problems running older software. In some cases, the only way to get those applications working again is using Wine on Linux.
It was originally written as a C DLL utilized by a Visual Basic front end. The C DLL used the Win95 API, though, so it wouldn't have worked on anything but Windows 95 and onwards. I subsequently ported the entire thing to C# but still using the same API to do the actual playing of the audio (I experimented with using DirectSound instead but that was really not appropriate for an application doing its own audio mixing). Now I'm working on an iOS version and I couldn't give two fucks about Windows at this point.
I know what you mean. All I was saying is that the binary would execute on an x86 processor regardless of the OS. Now the OS knowing what to do with it is another matter.
This is actually what Wine does, it's a translation layer that intercepts the Win APIs and converts it to a Linux API and vice versa. The actual binary runs on the processor just the same.
I wonder if my old app circa 2000 would actually run on Linux/Wine. One of my projects for this winter is to install Linux on one of my Windows laptops. I'll have to give the old app a try.