Windows API is Successful Cross-Platform API (2024)

· systems coding devtools · Source ↗

TLDR

  • Win32 argues that the Windows API became a de-facto cross-platform desktop runtime through pragmatic adoption via Wine, Proton, and CrossOver rather than any standards body.

Key Takeaways

  • Wine and Proton let Portable Executable binaries run unmodified on Linux and macOS, giving Win32 effective reach across all three major desktop OSes.
  • Win32 grew from a 2000-line Windows.h in seven 400KB diskettes to a sprawling API including DirectX, CryptoAPI, and COM/OLE subsystems.
  • Microsoft’s ISV investment via Visual Studio and MSDN documentation drove developer lock-in that POSIX alternatives never matched on the desktop.
  • The article frames POSIX adoption as necessity-driven pragmatism, then applies the same logic to explain why Win32 became the dominant desktop runtime despite no ISO standardization.
  • COM/OLE branding is cited as a rare own-goal: genuinely useful technology obscured by unintelligible naming, a pattern later imitated by Mozilla and Apple.

Hacker News Comment Review

  • Commenters split sharply on causation: the article calls Wine/Proton a tribute to Win32’s reach; critics call it decades of reverse-engineering forced by OEM per-processor licensing and embrace-extend-extinguish tactics, not technical merit.
  • A concrete technical point emerged in discussion: Win32’s stable ABI across language toolchains is the real underrated win, since the Unix/POSIX world historically relied on source-level recompilation rather than binary compatibility.
  • Commenters noted a practical builder angle: Win32’s age and stability makes it unusually strong territory for LLM code generation, with even small models like Qwen 1.5B reportedly handling Win32 and OpenGL 1.1 reliably.

Notable Comments

  • @p_l: Win32’s stable cross-language ABI is the real structural advantage; POSIX leaned on source recompilation instead, leaving binary portability as a Win32 differentiator.
  • @tehologist: LLMs are “quite strong” at Win32 codegen due to its age and corpus size, even at 1.5B parameter scale.

Original | Discuss on HN