Programming Like It’s 1986, For Fun And Zero Profit

screenshot of C programming on Macintosh Plus

Some people slander retrocomputing as an old man’s game, just because most of those involved are more ancient than the hardware they’re playing with. But there are veritable children involved too — take the [ComputerSmith], who is recreating Conway’s game of life on a Macintosh Plus that could very well be as old as his parents. If there’s any nostalgia here, it’s at least a generation removed — thus proving for the haters that there’s more than a misplaced desire to relive one’s youth in exploring these ancient machines.

So what does a young person get out of programming on a 1980s Mac? Well, aside from internet clout, and possible YouTube monetization, there’s the sheer intellectual challenge of the thing. You cant go sniffing around StackExchange or LLMs for code to copy-paste when writing C for a 1986 machine, not if you’re going to be fully authentic. ANSI C only dates to 1987, after all, and figuring out the quirks and foibles of the specific C implementation is both half the fun, and not easily outsourced. Object Pascal would also have been an option (and quite likely more straightforward — at least the language was clearly-defined), but [ComputerSmith] seems to think the exercise will improve his chops with C, and he’s likely to be right. 

Apparently [ComputerSmith] brought this project to VCS Southwest, so anyone who was there doesn’t have to wait for Part 2 of the video to show up to see how this turns out, or to snag a copy of the code (which was apparently available on diskette). If you were there, let us know if you spotted the youngest Macintosh Plus programmer, and if you scored a disk from him.

If the idea of coding in this era tickles the dopamine receptors, check out this how-to for a prizewinning Amiga demo.  If you think pre-ANSI C isn’t retro enough, perhaps you’d prefer programming by card?

27 thoughts on “Programming Like It’s 1986, For Fun And Zero Profit

    1. One of After Dark screensaver has Life module. It ran at about 2 fps at low res setting on my old color Macintosh Centris 610. I’m sure it’d be faster or be usable at higher res on later Macintosh with built in FPU or even the early PowerPC Macs.

      Sadly After Dark isn’t officially supported anymore and its a pain in the butt to make it work under OS 9 or early versions of X with PowerPC support that still has 68000 code support.

    2. it really is (I actually wrote the code that ran on the Mac at VCF for Conner). made use of some pretty awesome optimizations that I’d never gotten a chance to use before. it’s like a fun logic puzzle.

    1. I remember being quite excited when I got Lightspeed C for my mac. I think I had upgraded to 512K and a hard disk by then. I don’t remember whether I used any Pascal or not (probably?).

      Part of today’s appeal of programming a machine like that might be the lack of layers of stuff between your program and what you see on the screen. Just you & quickdraw, no mmu even. I think Lightspeed C even went around the windowing somehow and used the screen as a console.

    2. “But why C of all languages? ”

      My guess is because all these open source and Linux fana, err, fans are hard-wired to C by now.
      To ANSI-C, sadly. K&R C was so clear in structure and easy to memorize.
      It started in the 90s, I think, when C started to haunt, err, dominate personal computing.

      Turbo Pascal remained “a thing” in the DOS world for a couple of more years,
      but the platforms Windows 3.x, NT and so on were all about C at the core (and some ASM).
      Except for complex DOS games, which also moved to C/C++ quickly.
      Stuff like DOS4GW used an C API, too, as did other DOS Extenders, I believe.

      The Unix graphics workstations probably also influenced this.
      At one point, C/C++ simply was obiqutious and omnipresent.
      Just like Penguin OS now is everywhere, even when it doesn’t belong there.

      On later Macs, CodeWarrior was a popular development system.
      It supported Java, C/C++, Pascal.
      https://en.wikipedia.org/wiki/CodeWarrior

      1. this had a lot to do with the performance of those machines. c is suffieciently low level enough to give you everything you need. interpreted languages like basic were a huge performance loss back then. still are, but our hardware is so fast its hard to notice. when dealing with a few mhz and a few mb of ram. you need every scrap and cant throw it away on easy code.

        1. And the 68k was even slower than you might think based on the MHz. Every bus transaction required 8 clock cycles, and most instructions took multiple bus cycles. 8 MHz on a 68k is like sub-1 MHz on a modern, pipelined, 1 instruction-per-clock CPU.

          1. The fastest MC68000 instructions, register-to-register moves, were 4 cycles including fetch. Same for data register ADD, AND, CMP, EOR, OR, and SUB.

      2. “My guess is because all these open source and Linux fana, err, fans are hard-wired to C by now.”
        Why would you think like that? This is basically assuming he is a part of mentally constrained fanatic crowd.

        1. Uh, um, well.. ok. Good point. 😶‍🌫️
          Anyway, I just think that C/C++ and the script language Python have become overly common these days. Because of ..reasons.
          And that’s the cause Pascal wasn’t used in first place, I guess.
          Certain groups of people are simply conditioned to default to use C/C++ anyway without considering other languages. IMHO.

          1. It’s just what most were taught for quite a while. Even if into to cs was in pascal, the next level would be C, then later Java replaced both for the first couple years of college CS, followed by C++, then C.

  1. I had a similar experience when entering university in 2008 with my trusty Toshiba 4800CT. I had used it all through high school as it had all day battery life with a compact flash hard drive adapter and no active cooling. I had tracked down a C compiler for dos 6.22, but unfortunately it’s 75mhz 486dx4 was just not enough to compile even very short programs fast enough to keep up with the coding examples in lectures.

    1. “…just not enough to compile even very short programs fast enough”
      That’s very odd. Borland’s TurboC worked great, even on much less powerful machines before that one. Like, thousand line compiles in much less than a minute on 10 MHz 8088 and 80286 machines.

      It was a huge improvement over the 20 minute compile times on the Apple ][, mostly because its ramdisk was only 128k, and it had to resort to two floppies…

  2. Im having flashbacks to the Conways Life C++ project I had in HS…. I got a C+ (not bad for a program that did not compile or run). That stung a little since I was infatuated with Life from my Win 3.11 and DOS days.

  3. I taught myself Macintosh Programmers Worship (C) in the late 90s, way past its prime but it was offered free from Apple. It used a pseudo CLI which seemed very much the antithesis of Macintosh.
    I managed to mostly get a chat client working, sockets at that era were a real bear

  4. I did it back in 1986 (1st formal job) with a brand-new diploma in programming & systems analysis doing COBOL for PCs and Big Iron alike. Good times but I woldn’t go back.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.