4 ms·
I really can't imagine anything worse than trying to support the Windows API. I'm sure there are those of us here who still have nightmares from the famous Char
by Uptrenda 3y ago
I really can't imagine anything worse than trying to support the Windows API. I'm sure there are those of us here who still have nightmares from the famous Charles Petzold "Programming Windows" book. In this 1500+ page tomb the author takes us through writing various "simple" Windows programs that use the Win32 API. Doing this lets you write programs on Windows that have minimal dependencies... But big disclaimer... it ain't easy.
Windows API functions are known universally for their monstrous number of parameters. Mountains and mountains of arguments that are 'reserved', 'optional', 'undefined', 'undocumented', 'hidden', 'deprecated', and so on. What made Windows so successful for developers and users was ensuring that every new release remained backwards compatible. That which is Windows biggest feature now becomes it's biggest flaw leading to an inhuman API. I imagine somewhere in hell there is a level reserved for torturing programmers. In this level they are forced to re-implement software with Win32 functions while the devil laughs 'come on! It's only 15,000 lines! You can do it!'
Here we see the Wine developers doing this 'for fun.' One can only conclude from this that they are either masochists or have gone totally insane.
- poisonborz 3y agoIt might be complex, but at least is stable. Nothing is deprecated and only sightly extended, with most processes relying on old APIs. Microsoft, when doing the counterpart (supporting linux kernel syscalls) just gave up and resorted to VM.
- Zardoz84 3y agoBecause the shit filesystem API of Windows, not because there was a problem with Linux/Unix syscalls. At the end, is more IO perfomant to run a VM using a file as hard disk (or a real hard disk), that using the windows native filesystem API under the simple POSIX filesystem API.
- mkljczk 3y agoThe majority of Wine contributions comes from CodeWeavers, the company providing commercial support for Wine and working on Proton with Valve. Google is funding development of Wayland support on Wine which is being worked on by a Collabora developer. This is so far from doing this just 'for fun', though I'm sure most of them actually have fun working on this.