In 1999, armed with a brand new copy of Metrowerks Codewarrior and a PowerMac running Mac OS 8.5.1, I wrote a basic implementation of Minesweeper to test out the Powerplant application development environment. It’s the oldest project of mine that I’ve kept, so I wanted to see if I could get it running again for the first time in 17 years.
There’s no Swift or Objective-C code in this article but there are disk-eating koalas, deliberately misspelled cities, Zernike polynomials, Cocoa software (but not the Cocoa you’re thinking of), resource forks, master pointer blocks and in the end, I finally earn the admiration of my family.
Great, entertaining story, you learn something, and it mentions BeOS. I can’t think of anything that would make this story even more likely to get posted on OSNews.
The contrast between Mac and Windows couldn’t be more stark in terms of changed instruction set, frameworks, and toolchains. Most C code I wrote in 1999 works with current tools as well as it ever did, and a lot of new code I write uses 1999 tools because – well, why not.
(Granted, this is really only true for C/C++ – a developer who uses higher level frameworks is likely to have a very different experience.)
As you said, this is right for Windows C++, not as much for Visual Basic, Delphi, etc.
MacOS is a bit of an anomaly as it probably would be easier for someone with a mid ’90s NeXT program macOS Sierra than a late ’90s C++ one.
Windows was always more conservative.
Code I wrote for OpenStep circa 2000 (+/- 5) will still compile on macOS. The problem with macOS is that the API completely changed and the old API’s were removed. Nothing more or less. Some would see this a a good thing… Win32 is a pretty crusty API.
“I can’t think of anything that would make this story even more likely to get posted on OSNews”
Fiona Apple, obviously.