1. 24
  1.  

  2. 7

    Back when Windows 3.1 was current I was heavily an Amiga guy. I’ve never used Windows regularly, only using it when forced to for work-related matters.

    On a whim a few years ago I picked up a copy of Petzold’s Programming Windows 3.1 (the same book in TFA) from the used bookstore for like a dollar and gave it a read.

    I gotta say, the Windows API at the time was loads better than anything that was available for a long time afterwards. I’ve written GUI code for the Amiga and X11 under Xlib, Xaw, and Motif and I was passingly familiar with Mac Classic programming and…the Windows API was better. A lot better.

    Of course it looks clunky today but that’s comparing it to modern stuff. Back then, the only thing better that I’m aware of was NeXT (the future was here!).

    1. 4

      Yep. I remember in the late 90s (or maybe early 2000s?) picking up Mac OS just as the Carbon transition was kicking off in earnest, and being somewhat floored how basic the Mac API was compared to Windows. Likewise, in a fit of pique, in 2006, I decided to port a Windows tool I worked on (Copilot) to OS/2, and…I ended up feeling very happy that Windows had beat out OS/2. For all the (valid!) complaints about Win32 in 2019, I think it’s easy to forget that Win16 and Win32 were actually genuinely really nice APIs for their day.

      1. 2

        Fog Creek Co-pilot?

        1. 3

          Yep. I was sincerely just bored one day, found a VNC client for OS/2, and decided to start modifying it for Copilot, and…several hours later, somewhere between churning through SOM docs and grokking why OS/2’s globally blocking input queue was going to make debugging overly exciting, realized that I had made a very bad decision.

    2. 1

      This is great. I want to try this in Rust, but alas rustc doesn’t support 16-bit targets.

      1. 1

        The most important aspect of developing an app is the compiler toolchain. For this, we have the Visual C++ 1.52.

        The app is very impressive, but I wonder if the choice of dev environment here made the work harder than it needed to be? There were better development environments available for Windows 3.1.

        I would have picked Delphi. It even had the, then revolutionary, concept of a debugger that could catch exceptions causing GPFs. I was not at that demo, but have heard from those who were there how that was greeted. Great UI tools too.