Live data from Hacker News

Windows API is Successful Cross-Platform API (2024)

retrocoding.net

41–50 of 147 posts

Re: Windows API is Successful Cross-Platform API (2024)

#41

Earlier quoted context omitted.

> " ...embrace-extend-extinguish against Java... " Early Java was horrid for everybody except the architecture astronauts who could cram ten GoF design patterns into a hello world program. It only got traction because a different wannabe monopolist, Sun Microsystems, spent heavily to get it pushed into CS curriculums. Fortunately, the one-two punch of Linux and Intel killed Sun or we might all be cursing them today i…

None of your opinion on Java changes the fact that Microsoft used it's monopoly to execute an embrace, extend, extinguish strategy on Java. It is well documented since they lost an anti-trust court case on it [1]. [1] https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor... .

Back when the word hacker still meant something, that was the opinion of most hackers. Microsoft being bad guys did not make early Java versions good.

[EDIT] I'd actually say MS losing the J# lawsuit was a net positive since it gave Hejlsberg the opportunity to create C#.

Re: Windows API is Successful Cross-Platform API (2024)

#42
post #3

(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…

Proton represents Valve's failure to make Linux gaming attractive to game studios.

Not even those that have Android/Linux NDK builds, bother with porting to GNU/Linux.

Besides blaming Microsoft, look inside into the endless reboots of audio stack, GNOME vs KDE vs XFCE vs Sway vs whatever is cool in Linux Desktops this month, X Windows vs Wayland,...

I was a believer, until 2010, then went back into Windows 7. If it wasn't for gaming and .NET, I would probably be on macOS instead.

Taking care of Linux deployments is part of my job, so I know pretty well how it goes today, don't need the have you tried standard Linux forum replies.

Re: Windows API is Successful Cross-Platform API (2024)

#43
post #11

> In the real world, the internet is TCP/IP I guess he missed http3, which now makes up 35% of web traffic.

> something that comes from consensus from a big, top-down standardisation body usually fails.

So IETF is the "big, top-down standardisation body" producing "bloated, inefficient and largely unused standards" here?

Wouldn't be the first time someone characterized it as such.

> The internet is an example of the implementation of a top-down approach when a scientist submits a paper for an RFC and iterates on it until it's de-facto protocol of the internet.

Yeah, he must be talking about the IETF. Very consensus-driven, most participants funded by vendors, difficult to iterate after RFC approval.

> While their nimbler competition is being adopted, iterated, and expanded. In the internet protocol use cases, OSI Model is now essentially just a theory taught in networking training, certification, and classes. In the real world, the internet is TCP/IP, and it's TCP IP that runs on computers, phones, and other devices.

Now I'm confused. TCP/IP are literally defined by IETF RFCs.

Re: Windows API is Successful Cross-Platform API (2024)

#44
post #19

Sometimes I think that, if Java ditched the idea of JVM and followed what modern languages did today (write once, compile on every major platform), things would be different.

I don't think so. Oracle isn’t a consumer-facing company and doesn't really care about that sector. SWT and Swing will likely remain as ugly as they are for the next century, regardless of their popularity.

Microsoft, Google, and Apple have invested millions to polish their GUI solutions because that’s where their revenue comes from.

Re: Windows API is Successful Cross-Platform API (2024)

#45
post #3

(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…

winapi introduced event based programming to the masses and took it to the next level. You could argue that they weren't the first, but blanket singling it out as bad design makes no sense.

This control flow has been taught everywhere and is the basis of node's async loop (node waits on io, winapi waits on kb/mouse/timers) so "no system copied it" is complete ignorance. It is the first thing I think of when I'm designing an async flow.

Re: Windows API is Successful Cross-Platform API (2024)

#46

Earlier quoted context omitted.

> Wine and Proton are not tributes to Win32's portability. I emphatically disagree. It is a hilarious and catastrophic failure of Linux userspace that the best API for running games on Linux is Win32. This has absolutely nothing to do with what Microsoft locking down the desktop market. It has 100% literally everything to do with Linux userspace being a clusterfuck of terrible design. Linux adopted Win32 because it a…

It's Linux's failure that one of the world's biggest corporations outspent it on marketing by orders of magnitude? You can sell crap like hotcakes with enough money and advertising minds. Yours isn't really an argument for Linux APIs being any worse or better quality. > Linux adopted Win32 because it actually worked. WINE would have been invented one way or another because enough people would have wanted to run Windo…

> It's Linux's failure that one of the world's biggest corporations outspent it on marketing by orders of magnitude?

No, It is Linux's severe failure that it lacked a singular, stable, and unified userspace GUI API.

Re: Windows API is Successful Cross-Platform API (2024)

#47
post #42
post #3

(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…

Proton represents Valve's failure to make Linux gaming attractive to game studios. Not even those that have Android/Linux NDK builds, bother with porting to GNU/Linux. Besides blaming Microsoft, look inside into the endless reboots of audio stack, GNOME vs KDE vs XFCE vs Sway vs whatever is cool in Linux Desktops this month, X Windows vs Wayland,... I was a believer, until 2010, then went back into Windows 7. If it w…

> Proton represents Valve's failure to make Linux gaming attractive to game studios.

> Not even those that have Android/Linux NDK builds, bother with porting to GNU/Linux.

It is a huge hassle to make a new build to a new platform. You double build system, release management, and testing. Compared to just one plat. Games are complicated, and testing all the dynamic behaviour is also complicated.

Making just a Win32 build really saves resources.

Also Win32 has been a stable api for a long time. Linux apis tend to change, and old games don't get re-built. The win32 build is therefore also provably a lot more long lived, compered to anything you build on linux.

Thats also important because of the Dont Kill Games effort and so on.

Re: Windows API is Successful Cross-Platform API (2024)

#48
post #3

(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…

The point is not that Win32 is exemplary. The point is that it's compatible. More compatible, in some cases, than native apps for non-Windows platforms. A Win32 binary that runs in Wine is likely to work on more Linux distros than a native Linux binary, due to decisions made by glibc and distro maintainers over the years.

Uh, no, a Win32 binary will run in Wine because of the concerted effort of thousands of talented developers for more than a decade, painstakingly reimplemting Win32 into a a compatibility layer for it to run on Linux.

There has been little to no interest in doing the reverse, at least until WSL, which is just containers anyways. (WSfU barely counts as an "attempt.")

I would hardly consider anything relying on a compatibility shim "compatible." Especially since Wine is not a perfect shim!

Re: Windows API is Successful Cross-Platform API (2024)

#49

Earlier quoted context omitted.

> It is a hilarious and catastrophic failure of Linux userspace that the best API for running games on Linux is Win32 Studios don't target Linux, they target Windows and sometimes Mac. Imagine if Flappy Bird targeted only iPhone, because there were only 50,000,000 Android users in the world (hardly worth supporting). Then Android creates an iPhone runtime on Android so people can play Flappy Bird on it, and you concl…

I don't need to imagine a made-up scenario that doesn't make sense. We can look at what has happened at face value. The calculus is very very very boring and simple. Game devs will support every single platform on the planet in which the cost to support that platform - both directly and long-term maintenance - is less than the increased revenue that platform provides. It is not uncommon for indie games on custom engi…

> Supporting Linux is a monumentally tremendous pain in the ass. Radically more than literally any other platform. It is hands-down the hardest and most painful to support natively.

Funny, I have the same feelings after 5 seconds of using MSVC or looking at Win32 documentation. Or is it WinRT now, or is it .NET Core, or .NET Framework, or UWP or OLE or COM, or whatever the API du jour is which will be slightly incompatible and incomplete with the rest of the ecosystem in poorly documented and inscrutable ways?

Performance profiling and debugging tools are critical for game development. What's your equivalent to strace again, the one that's built into the system natively? There isn't one?

All major game engines I am aware of support native Linux builds and have for years, anyways.

I guess there's a reason 80% of the servers in the world run Windows. Because it's so hard to develop for. Er, uh...no wait!

Re: Windows API is Successful Cross-Platform API (2024)

#50
post #46

Earlier quoted context omitted.

It's Linux's failure that one of the world's biggest corporations outspent it on marketing by orders of magnitude? You can sell crap like hotcakes with enough money and advertising minds. Yours isn't really an argument for Linux APIs being any worse or better quality. > Linux adopted Win32 because it actually worked. WINE would have been invented one way or another because enough people would have wanted to run Windo…

> It's Linux's failure that one of the world's biggest corporations outspent it on marketing by orders of magnitude? No, It is Linux's severe failure that it lacked a singular, stable, and unified userspace GUI API.

[deleted]
Post reply on HN