/g/, is there any point in learning the Win32 API in 2025?
>>107677767Yes. It's everything but dead in 2025 and much of the knowledge gathered will carry over.
>>107677904thanks anon
It's still the sanest way to develop a Windows app, sadly.
>>107677767There is no point learning anything in 2025, computing as a whole is dead.
>>107677958Two more weeks.
>>107677958this
>>107677767Unless you love .NET like some cuck, it's literally the only way to do anything. It's better than .NET and you'll need to use win32 pinvokes anyway since the .NET shit is woefully incomplete or outright wrong anyway.
>>107677958This. They will soon ban high-power hardware and programmable computers for consumers for national security reasons.
>>107677904No, OP should learn POSIX APIs and how Linux extends and improves upon them. Win32 is a dead end. OTOH, people will still be needed for some time to come to tard wrangle POSIX-ish Linux codebases.
>>107678301that barely has any apis for anything lol
>>107677767Win32 alone won't be enough, since almost all modern Windows features get exposed via COM.If you want to learn windows programming, it's a must, of course. Everything comes down to windows, handles and COM. I just don't think that rawdogging win32 is a good way to make modern windows applications in 2025.
>>107678301win32 is the only stable ABI on linux. POSIX is utterly obsolete and profoundly broken.
>>107678373>win32 is the only stable ABI on linuxit's funny because it's true
>>107678373POSIX is mostly about API, though. The ABI thing is about Unix userlands, in particular Linux distro userlands breaking binary compatibility practically every release. >Eh, we'll just recompile everything for Ubambo 26.04 anyway, who cares that the old software doesn't work anymoreSteam for example has to provide these "Steam Linux runtimes" which are basically just entire operating system containers containing their own parallel OS just so games can rely on what's there between different distros and in the future. Meanwhile, on Windows (and via wine) you can just natively run most binaries from Windows 95. That's ABI compatibility. Sure, the backwards compaitbility shims are not perfect so some applications need minor patches, or .dlls, but it's heaven compared to every other OS. Literally all of them.The only way to achieve that on Loonix is to build an entirely static binary that depends only on OS syscalls since those are stable (See old oldolduname - won't get removed or changed because it would break ancient bins https://man7.org/linux/man-pages/man2/oldolduname.2.html) - Linus fucking HATES any change that could break the userland. Meanwhile, the userland itself - libc especially - does not share that sentiment and it breaks ABI compat all the time.Check out Nolibc (ships with the Linux kernel, tools/include/nolibc) btw, it's based.
>>107678301POSIX doesn't have a windowing API.
>>107678301>OP should learn POSIX APIs and how Linux extends and improves upon them.LARP post. Not even freetards think POSIX is good, GNU famously makes a mockery of it.
>>107678527Linux does not have system calls to create a window. So you can really only statically link primitive console applications.
>>107678572You could statically link X11 or Wayland libs, or GTK. And then you'd have to statically link libc too and deal with all the ways THAT will (and it will) eventually break because libc isn't the only thing breaking ABI compatibility.Or you just do what everyone else does and dynamically link everything and just tell your users to recompile everything when libc decides it's time for our irregular and unscheduled ABI breakage (Linux distro package manager approach), or to run it in a container from now until all time (Valve's approach). ABI compatibility on POSIX is and will always be a fucking clusterfuck and it's a miracle they managed to learn nothing from Microsoft doing it right for all the world to see.
>>10767865030 years ago the current Linux way of dealing with compatibility would be insane, but these days I think it's fine. Storage is cheap and the Steam Linux runtime literally just werks. Flatpak does basically the same thing and it works well enough that some companies use it to ship commercial software.The Windows way seems magical until you run into apps that just don't work, in my experience it's a complete crapshoot.
>>107678713Time will tell how good Flatpak and other containerization approaches really will be. Wouldn't be the first oopsie caused by lack of foresight the Unix world made.But I don't disagree, it's our best bet.
>>107677767You can join the vanishingly small group of developers creating Windows apps that come as a small download, launch instantly, and remain responsive while consuming extremely little RAM or CPU.
>>107678953i'll do just that
>>107678713>The Windows way seems magical until you run into apps that just don't work, in my experience it's a complete crapshoot.If the devs wrote code by the book, it still works. If they wrote something that relies on undefined behavior that happens to work on Windows 95, it's likely broken on modern Windows unless one of the compatibility shims you can enable replicates the behavior it needs.
>>107678713At least Windows compares about backward compatibility. Linux can't run most software from even a decade ago, sad!
>>107678650You can't meaningfully draw or output sound or anything without dynamic linking. Your opengl driver? How you gonna statically link that? Maybe you can static link a pulseaudio client since even pipewire exposes it.
you could just make a C++ program with a webviewtakes like barely anymore ram than a native ui app and you get the same dev ux you get in developing a electron app