tavavex 16 hours ago

I wonder what he'd say today, if he were to give his updated opinions on modern operating systems. I didn't even exist when this was written, but as far I know, OSes are extremely different today. This was still before MS was even hinting at having NT take over as the mainline Windows OS. And then, the macOS of today probably has a lot more in common with NeXTSTEP than classic MacOS, so I'm curious if he changed his opinion on it after OS X came out.

The most timeless thing here is Linux retaining its "highest hacker to user ratio".

  • CTDOCodebases 14 hours ago

    If anything the "highest hacker to user ratio" has diminished since then.

    Hardware compatibility was a major issue. Even if hardware was compatible with Linux it often wouldn't work out of the box. Most homes had only a single internet connected device so if you borked your system you had to have friends that would know how to guide you to fix it over the phone or you had to travel to someone else house to check the internet then come back and try what you wrote down. Users who had no patience for this would get filtered out of the userbase.

    • tavavex 14 hours ago

      There are far more mainstream Linux users (and "serious" business users) today than back in the day, but it still has the highest ratio among all modern-day systems. The statement still holds.

      • scuff3d 13 hours ago

        In terms of ratio today I would assume BSD would have the highest. Near 100% frankly.

        • ErroneousBosh 9 hours ago

          BSD is mainstream.

          If you really want 1:1 hacker-to-user ratio you'd need to go to Haiku.

        • bigyabai 12 hours ago

          That too can be swayed if you define it realistically. The modern Playstation operating system is based on FreeBSD, which isn't entirely pure but feels like fair game considering the BSD license.

          • scuff3d 12 hours ago

            Fair point. But if we're going to include that we have to include Android in the Linux camp. Which is gonna dumpster the Linux ratio.

            • Gud 6 hours ago

              Android uses OpenBSDs libc, though. Unless it's changed in the last 10 years.

    • geocar 12 hours ago

      > If anything the "highest hacker to user ratio" has diminished since then.

      Really?

      What do you think hackers are using now?

      • Zambyte 12 hours ago

        The percentage of non-hacker users has gone up. Hackers aren't leaving, it's just more accessible.

        • geocar 11 hours ago

          Right, so how did the "highest hacker to user ratio" diminish then? You or I are probably misunderstanding something.

          If they just meant "the hacker to user ratio" diminished, they should've said that, but it seems like a weird way/phrasing to acknowledge that linux-using-hackers sell to non-hackers (and is a no duh).

          Carmack's point was that linux was a good place to get hackers, so it's good for him to target as a business, but maybe it's better to get them on mac now (in 2025). I don't know: I use a mac laptop outside of my office, but I mostly just use it to browse the web and remote to my linux desktop inside my office. I wonder sometimes if it is important to target mac to get smarter users, and so I might believe mac has the "highest hacker to user ratio" now when in 1997 Linux definitely did. Depending on what I'm doing the bsds might be a better focus.

          That is, I suspect that Linux might not actually have the "highest hacker to user ratio" anymore, which is what I think the person I am replying to meant as well. I don't know; and I don't have good reasons for believing such a thing that beyond my own experiences, but I'm curious and willing to be convinced, and so I ask questions.

  • andrewf 15 hours ago

    He mentions https://en.wikipedia.org/wiki/Rhapsody_(operating_system) in the NeXTSTEP section, which was a stepping stone to OS X.

    Windows stuck as the id tooling platform. I'm guessing by the time OS X was relevant, id Software had grown and all the tooling that would've benefited from Interface Builder was maintained by different folks. And Carmack was focused on getting the most out of various graphics cards, where Win32 drivers were both the cutting edge and what consumers had.

  • flohofwoe 7 hours ago

    > OSes are extremely different today.

    Are they though? Except for Windows everything else has become a UNIX (even on game consoles, Xbox runs a Windows derivate and PlayStation runs on a BSD kernel, only Nintendo is still doing their own thing).

    The OS diversity in the 90s was much bigger than today, AmigaOS, RiscOS, AtariTOS, BeOS and the original MacOS were all siginificantly different from each other, much more different than Linux vs macOS vs Android vs iOS.

  • deaddodo 16 hours ago

    Knowing Carmack, and the market, not much would change about this.

    Windows still rules the roost, though it wouldn’t be referred to as Win32 today for various reasons. Linux is even more important today, given the Steam Deck and Proton; but still a smaller market than Windows. And macOS is even more of the third-option today given their antagonistic support to OpenGL/Vulkan and non-Apple-first developers (in general).

    If anything, Linux would probably be switched to first since Carmack was always a hardline supporter and it seems to have the most capture velocity; but that’s still quite unlikely. And obviously all the other platforms would be missing from the list altogether given the triopoly/triculture that the modern desktop OS sphere has evolved into.

    • branko_d 13 hours ago

      > Windows still rules the roost, though it wouldn’t be referred to as Win32 today for various reasons.

      Win32 is stable, supported and will stay supported forever, as various technologies built on top of it come and go. It is the API for the OS.

      > Linux is even more important today, given the Steam Deck and Proton

      Which uses Win32 under the hood!

      There is a running joke that Win32 is the Linux's most stable API.

      • tonyedgecombe 6 hours ago

        >Win32 is stable, supported and will stay supported forever, as various technologies built on top of it come and go.

        I wouldn't assume that. The journey towards the web as an application delivery platform is making Win32 less relevant as time goes on.

      • deaddodo 10 hours ago

        What you’re referring to as “Win32” is WinAPI and its derivative/wrapper technologies. Which can include WinRT, WinUI3, MFC, etc.

        And “Win32” as a reference to the platform is well gone, as it’s exclusively “Win64” on the x86 side these days.

        Thus why I said it would be unlikely he would refer to it as “Win32” specifically today. But yes, if you conflate “Win32” to “native Windows API” (even that term will be controversial, so replace “native” with “legacy” at your preference), it’s all the same today as then.

        • flohofwoe 7 hours ago

          Nah, in the gamedev world Win32 has a pretty focused meaning: the subset of Windows system DLLs that are needed for game development, and that subset is pretty small, just enough to get an empty window, DXGI swapchain, D3D device, audio output, input and maybe networking, e.g. kernel32, user32, ole32, gdi32, dxgi, d3d11/d3d12 is pretty much all you need.

          Except for the 3D API, the requirements for game development on the OS haven't changed much since around WinXP, and the fact that Win32 hasn't changed much since WinXP is still the greatest quality of Windows (since anything that came after the classic Win32 APIs was pretty much a shitshow - with the notable exception of DirectX).

      • pjmlp 10 hours ago

        Win32 as pure C API has stagnated in Windows XP view of the world.

        Since Windows Vista, most new APIs have been introduced as COM libraries, exception being DDK and extending versions of existing ones with new nummeric or Ex suffixes.

        Besides COM, other ones have been based on WinRT, which is COM upgraded to use .NET metadata instead of type libraries, and an additional base interface for reflection, IInspectable.

      • xeonmc 11 hours ago

        Win32 will be preserved forever in a glass museum case with life support bolted on -- just like how in Valve’s Source Engine, the Quake physics component (Qphysics) is treated as a ancient artifact to be called upon when its power needs to be channeled, but kept isolated from the "normal" VPhysics lest its Eldritch power corrupt the rest of the codebase.

        Though judging from how CS2 is going, it seems that the quarantine measures aren’t particularly airtight.

        • flohofwoe 7 hours ago

          > Win32 will be preserved forever in a glass museum case with life support bolted on

          And that's a good thing because for game development you don't need much more from the OS, just enough to get a window, input events, audio and networking. All the interesting stuff all happens in the 3D APIs, and those have changed a lot since the early 2000s.

      • IlikeKitties 7 hours ago

        > There is a running joke that Win32 is the Linux's most stable API.

        It's genuinely true. With the exception of the Linux ABI, everything else is in constant flux. I think systemd has slowly taken over the world to the point that it's not going anywhere but beyond that it gets really thin.

    • otabdeveloper4 6 hours ago

      > Windows still rules the roost

      Windows is a legacy OS that isn't developed anymore and only exists to support the Excel cash cow.

    • doctorpangloss 15 hours ago

      Why not count Android as Linux?

      It’s the biggest Vulkan target, by far.

      Is John Carmack the Ja Rule of programming?

      • pjmlp 6 hours ago

        Because the only Linux thing Android exposes to userspace is the Linux kernel.

        Everything else is either Java/Kotlin based or the set of official NDK APIs.

        https://developer.android.com/ndk/guides/stable_apis

        It is hit and miss if using unstable APIs works across devices.

  • xxr 15 hours ago

    > The most timeless thing here is Linux retaining its "highest hacker to user ratio".

    More so than BSD? Or still more than just the OSs Carmack listed?

    • flohofwoe 7 hours ago

      In 1997 Linux was still so niche that the hacker-to-user-ratio was definitely on par with BSD.

    • tavavex 14 hours ago

      Honestly, I didn't even think of BSD. I actually don't know anyone who uses it on a personal level, I assumed it was more of an OS that you had to use for your job. But I guess, given how niche it is for individual use, you'd be right. But to be pedantic, if you took something really obscure (like hobbyist OSes that have little practical use), you'd probably get to a 100% "hacker" user base.

      • cyberpunk 12 hours ago

        Playstation, Juniper, NetApp, Netflix to name a few small users. If you touch any of these, you use it too.

        • flohofwoe 7 hours ago

          Don't forget macOS and iOS, Darwin is also derived from BSD.

tom_alexander 16 hours ago

> It has an achingly elegent internal structure, but a user interface that has been asleep for the past decade. [...] I was writing a civilized window manager for it in my spare time

Brutal, but the window manager is probably one of the three big things hurting plan9 adoption (along with the lack of common editors like emacs/vim, and the lack of modern web browsers)

  • GianFabien 16 hours ago

    The Plan9/9Front folks must like the look or rio, sam, acme. Otherwise somebody would have written a more modern looking desktop for it.

    When Steve Jobs returned to Apple, he brought NextStep with him. The new version of the OS was basically FreeBSD core with a NextStep inspired desktop. The same could have been done for Plan9.

    • tom_alexander 15 hours ago

      While the look certainly isn't flashy, I'd be fine with the look. It's the reliance on 3-button mice that's a problem for me. At least modern laptop touchpads can do middle mouse click with 3-fingers but that's a pretty lousy UX, so it's really only practical with a real mouse.

      Also I'm much more of a keyboard + tiling window manager kind of a person, so the plan9 focus on the mouse isn't my cup of tea.

    • wvenable 14 hours ago

      That's not a correct characterization. OS X is entirely NeXTStep with some classic Mac OS UI elements bolted into it. You couldn't just swap some bit out for Plan9.

    • deaddodo 15 hours ago

      NeXTSTEP was never a “FreeBSD core”, at least not as is usually implied by that. It was XNU (Mach with FreeBSD’s world bolted on and IOKit shoveled in) with a custom Desktop Environment.

  • somat 12 hours ago

    I would have said the biggest thing hurting plan 9 adoption is that there is no C++ compiler. And this sort of slots into the next biggest thing, it's not posix, Yes posix is several sorts of terrible and a large part of the plan 9 ethos is to break from it's unix past and do things right. But posix keeps everybody on the same page so things tend to be easy to port. It is very hard to port software to plan 9. There is that posix layer APE but it does not appear to help for any moderately complicated program. I think this is because there is no C++ compiler.

    Every couple of years I resolve to try plan9 again, because I love the idea of it. and every time I sort of lose interest, I am mot a good enough programmer to make the pieces I want from scratch, it is too hard to port existing software, every thing is too different from any unix system. So I struggle for a day or two then go back to my obsd. As shallow as it is I think having a good web browser would solve 90% of my issues. and we loop back to the no C++ compiler again.

    • nasretdinov 11 hours ago

      > there is no C++ compiler

      That does indeed sound like what Plan 9 devs would do. Funny how this "no C++ compiler" stuff transferred to Go too, where there is no cppgo, only cgo integration :)

      • pjmlp 10 hours ago

        CGO supports C, C++ and Fortran.

        Having said this, yes even though C++ was born on the same build as UNIX and C, there wasn't much love towards it from UNIX authors, nor towards ANSI/ISO C for that matter, hence why Plan 9 and C compiler are their own thing, same on Inferno regarding the provided C compiler.

  • a-dub 15 hours ago

    the hardware support was pretty bad. it ran on x86 with only the most basic of hardware with a vga graphics adapter in some basic vesa mode.

    it never felt serious, just more like a technology demo. it was also hard to really see the beauty of the 9pfs on a single host... i always assumed it needed to be on some bell labs network with a bunch of other plan9 stuff to really shine.

  • linguae 15 hours ago

    I remember trying out Plan 9 a few years ago. I like its underpinnings; I like how the designers pushed the Unix notion of "everything is a file" to its limits, with various services being presented to the operating system as file servers implemented using a protocol named 9P. It's a cool research operating system with a lot of very interesting ideas, but ultimately it's not my daily driver due to a lack of hardware and software support, though I am working on a research project (but for conventional *nix operating systems) that takes advantage of 9P.

    Carmack's description of the rio GUI is apt; rio is heavily based on Xerox PARC's Cedar environment from the mid-1980s (https://www.youtube.com/watch?v=z_dt7NG38V4). I had a hard time getting used to rio, though eventually I learned it. I even purchased an old Sun three-button mouse (with no click-wheel) since Plan 9 didn't like my click-wheel mouse. rio does not adopt a lot of the conventions that were introduced by the Apple Lisa, Apple Macintosh, and Microsoft Windows, resulting in a completely foreign experience for most new Plan 9 users. There is a misconception that Apple and Microsoft simply stole the idea of GUIs from Xerox PARC without further innovating on it. This misconception is false; the Apple Lisa and the Apple Macintosh introduced many GUI conventions that were not present in Xerox PARC's GUIs (this video comparing the Apple Lisa to the Xerox Star highlights the differences: https://www.youtube.com/watch?v=pBiWtJJN5zk), and Windows introduced additional innovations. Back to Plan 9, the result is a GUI that has many conventions that were explored by Xerox PARC but were not adopted by the Mac or Windows, such as mouse chording (https://en.wikipedia.org/wiki/Mouse_chording). Hence, there's a learning curve for those accustomed to conventional GUIs.

    Even so, the ideas behind rio seem to do a good job with exploiting Plan 9's architecture and showing how it could support a more tools-oriented design. Moreover, it was borrowed from Xerox PARC's Cedar. It would have been quite a research effort to create a Mac- or Windows-like GUI for Plan 9 that made full advantage of Plan 9's "everything is a file" architecture. Merely implementing a Mac- or Windows-like GUI to Plan 9 might not have taken full advantage of Plan 9's architecture, which I think is the key difference between Plan 9 versus other operating systems.

    Perhaps in some alternate universe where Apple and AT&T merged in the 1990s and Apple built their successor to the classic Mac OS on top of Plan 9 with Apple people like Larry Tesler, Bruce Tognazzini, and Alan Kay joining forces with Dennis Ritchie, Ken Thompson, and Rob Pike....come to think of it, it's quite interesting to think about that possibility, though I don't think Apple would have made its post-1997 comeback without Steve Jobs, no matter how good "Mac OS Plan 9" would've been.

b0rbb 14 hours ago

This makes me wonder if Carmack's feelings on NeXTSTEP had anything to do with the decision to release the first publicly available release of Quake 3 on OS X only at first.

See https://web.archive.org/web/20000229083216/http://macweek.zd... .

At the time, I remember the ATI Rage128 chipset being the big deal and reason for why Q3's beta came out first on Mac... but gosh now I wonder if it was the feelings for NeXTSTEP.

  • hmstx 7 hours ago

    Q3test came out in 1999 - on the classic Mac OS he despised, even a bit before its final OS 9 incarnation. This was to get the biggest bugs ironed out on the most restricted hardware scope available as they were going HW accelerated only during a bit of a wild west period when it comes to that. We were all only reading about OSX in the press at the time - and when Q3 first made it to OSX proper, it was through a third-party (Omni Group).

    JC did however switch to OSX as his primary development environment for some time when Apple was the first to ship the Geforce 3 in 2001, which was really the generation of hardware needed to do Doom 3 justice. A year later, it was all about ATI's new flagship card which pushed things further for his needs - back to windows, and I can't rembember from his .plan files whether he moved back before getting access to that hardware.

a-dub 16 hours ago

hah! i forgot all about quake c.

in 1997 i had a windows nt 4.0 machine (might have been a beta) on my desk and a next turbo mono slab. visual studio wasn't terrible for development (and was a great place to get good at c++ and multithreaded), and they managed to bring all the directx stuff over. it was like windows 95, but serious and stable.

it replaced a slackware machine and a sgi indy. the indy was cool because it played a little song when you started it up and it had a novel ui with lots of cool color gradients, but otherwise it was kinda buggy. (the "objectserver" would frequently crash inexplicably. what objects did it serve? i have no idea.)

  • geocar 12 hours ago

    objectserver (cadmin) was part of the account management system suite. The desktop would use it to mount disks, route speakers/audio, create/manage users, connect things over the network, and all sorts of other stuff. It would crash because the code was garbage.

    • a-dub 3 hours ago

      ahh man you just reminded me. the cd-roms on those machines didn't have the silly audio cable that pcs of the time did, rather they were just connected via scsi. playing audio cds would rip the redbook cd audio stream in real-time and transfer it over the scsi bus where the host would reconstruct the pcm and write it to the dac.

      i liked the aesthetics of those machines and the tactile feel of the keyboard.

Havoc 16 hours ago

That must be the first “essay” I read by him. I just recall tweets and interviews

Sounds like the weighs and considers everything very carefully

cactusplant7374 17 hours ago

Has his opinion changed on Mac at all over the years?

  • bluGill 16 hours ago

    This was pre OSX so it is a safe assumption.

    OSX is sortof nextstep for the masses, but the differences might be things he cares about.

  • tracerbulletx 16 hours ago

    MacOS is NEXTStep.

    • flohofwoe 7 hours ago

      MacOS definitely wasn't, but macOS is (formerly known as OSX) ;)

    • SoftTalker 16 hours ago

      MacOS X and later, yes. MacOS 9 and earlier entirely different, even though some of the look and feel was ported to OS X.

      • tracerbulletx 16 hours ago

        I assumed it would be clear from context I meant in the present day. It's just called macOS now again.

  • commandersaki 16 hours ago

    He presented a quake 3 port on Mac at one of the Apple events with Steve Jobs on stage.

    • flohofwoe 7 hours ago

      That doesn't mean much though, big games are presented every couple of years on Apple events, doesn't mean that anybody respects the Mac as a gaming platform (including Mac users and most importantly: Apple).

  • analog31 17 hours ago

    At that time was he talking about 68k or Intel Mac?

    I had a Power Mac.

    • slater 16 hours ago

      This is from 1997, so PowerPPC + System 7 or w/e, not OS X

      • emmelaich 16 hours ago

        Possibly https://en.wikipedia.org/wiki/A/UX but then again probably not.

        • wmf 15 hours ago

          A/UX was never mainstream and nobody called it MacOS. Carmack was definitely talking about MacOS 7/8/9 in this context.

  • grg0 16 hours ago

    Why does this matter to you at all? It's funny to see all the Mac apologizer comments having to clarify that "oh no, but that Mac was so different". As if the modern incantation is any better; we just had a thread two days ago of how absolutely botched it is from a UI/UX perspective, and the hardware is the most anti-hacker, anti-consumer, DRM-riddled thing in existence if you watch any of that Ross boy's channel.

    > If I can convince apple to do a good hardware accelerated OpenGL in rhapsody

    Yeah, that comment aged well. Mac users are still waiting for full OpenGL 4.6 compliance and that spec is already ten years old.

    Edit: of course, I will get down-voted despite laying out very basic facts. Happens every time you poke the dogma bee's nest.

    Edit edit: I am still genuinely curious why the man's opinion from 30 years ago apparently matters to you that much. I'd like to understand the psychology behind it if you would care to write a response.

    • analog31 15 hours ago

      For me, it's just historical curiosity. I lived through that era, but had no hope of getting actual exposure to all of those OS's. I went from MS-DOS to 68k Mac, to Win95. I can't even claim to have been particularly prescient about any of those choices.

      • grg0 14 hours ago

        Yeah, for sure. It's interesting to read about what developers thought of OSes or programming languages of yore, especially from Carmack. But GP is already begging for praise on Mac or something.

    • taejavu 15 hours ago

      I mean, why does it matter to you that some random internet commenter is curious what John Carmack thinks about macOS?

    • JojoFatsani 14 hours ago

      I downvote anybody who complains about getting downvoted personally

      • tonyedgecombe 5 hours ago

        It's even mentioned in the site guidelines not to complain about downvotes.

dang 16 hours ago

[stub for offtopicness]

(but yes, year added above!)

  • leohonexus 16 hours ago

    I feel like this needs a (1997) on the title.