← Back to context

Comment by andrewmcwatters

13 hours ago

It's fundamentally extra work to support Windows when the rest of us are writing software for POSIX environments. Whatever extra work you think it takes to break Windows development is because others before already ported first POSIX-supported work to Windows.

Node, Deno, and Bun, and all their contemporaries in other programming language ecosystems are targeting POSIX first, and then often times forcing those same APIs to behave the same way on Windows.

That's why. Most full stack web developers are not doing things in a Windows environment.

There's no such thing as POSIX. Every platform needs support a little different. macOS isn't nearly as similar to a random distribution of Linux as a lot seem to think and vice versa, you can't just build on Linux and expect macOS support.

There's no such thing as POSIX. There have been a million different standards named POSIX. The only one that really mattered long-term commercially was "capable of being used for US Government projects" and that one both has and has not claimed Windows was "POSIX" in different decades. "Has a file system and a command line and is capable of running programs." Exciting standards stuff like that. Everyone who uses the term "POSIX" has a different definition in mind, in my experience.

> Most full stack web developers are not doing things in a Windows environment.

I think that depends as much on which part of the country you live in. There's a lot of "dark matter" developers doing boring full stack things on Windows. You might not see them, you might not care about them, doesn't mean they don't exist. Also the last straw poll I saw was something like a 50/50 split. I don't any side can claim "most". I do think that yes, the most visible web developer is the stereotype of the Bay Area macOS programmer with a hipster 'stache a near permanent chair in some coffee shop. I don't think that is most web developers in the general world.

  • What in the world are you talking about? This is completely incoherent.

    There's literally a POSIX specification at https://pubs.opengroup.org/onlinepubs/9799919799/

    Do you seriously not think the people who author Node, et al aren't looking at POSIX, the C Standard Library, Linux, macOS, Windows and moving down the list in that order?

    Where do you think all of `node:fs` comes from? Because I sure don't see GetFileAttributesEx there.

    Or who could forget good old CreateDirectoryA? I guess Bun didn't get the memo.