Remix.run Logo
Wowfunhappy 4 days ago

> The only thing windows has focused on has been dark patterns to force users towards cloud and figuring out more and more ways to collect data to sell ads.

And backwards compatibility.

They're really good at it. And I'd say that's the reason Windows is still dominant. There's this unfathomably long tail of niche software that people need or want to run.

dijit 4 days ago | parent | next [-]

Windows has changed the kernel interface more often than Linux.

This fact alone throws this commonly held belief to the wind.

Glibc provides binary compatibility to newer versions too.

Shims exist in both, “windows compatibility layer” for example, but pulseaudio can emulate ALSA- and pipewire can emulate pulseaudio and ALSA.

It’s actually a quagmire, but I would contend that either has solid story for backwards compatibility depending on the exact lens you’re looking at. Microsoft is worse than Linux in many ways.

Microsoft sort of only wins in the closed-source, “run this arbitrary binary” race - if you totally ignore the w10/11 UWP migration that killed a lot of win32 applications, but drivers for older hardware are much more long lived under linux.

zigzag312 4 days ago | parent | next [-]

What win32 apps were killed by UWP migration? When UWP was added win32 wasn't removed. Win32 applications still work.

> Microsoft sort of only wins in the closed-source, “run this arbitrary binary” race

That is actually a big win as some manufacturers only provide binary blob drivers and a lot of commercial software is distributed as binaries only.

dijit 4 days ago | parent [-]

Binary applications do not include drivers. I only mean applications, drivers do not transfer cleanly between versions of Windows.

To answer your other question though; Any GDI that is not accessible through DirectX- The Contacts API, Timers API, BITS (Background Intelligent Transfer Service), The inbound HTTP server API, NDF (Network Diagnostic Framework), SNMP.

AllocConsole and ReadConsole are gone, NamedPipes (something I used to use extensively) are gone. Toolbar and Statusbar APIs are gone and direct manipulation APIs for the Desktop.

I mean, I can keep going.

int_19h 4 days ago | parent | next [-]

You are describing limitations on sandboxed UWP apps, but Windows still supports regular Win32 just fine, and everything that you describe is available there.

I still run 30 year old games on Windows and write new software using WPF and WinForms even, and it all "just works", much more so than similar attempts at software archeology on Linux.

It's really too bad that Microsoft is hell bent on shoving ads, AI, and dark patterns everywhere in what could otherwise be a decent boring "it just works" OS.

zigzag312 4 days ago | parent | prev | next [-]

Surprising amount of drivers do transfer between versions of Windows, even if not officially supported. But yes, most break at some point.

I'm able to run binaries compiled over 20 years ago on the latest version of Windows most of the time. They do require enabling compatibility mode and sometimes installing legacy features.

I don't know, if APIs you mentioned are available in compatibility modes, but at least named pipes can still be enabled.

But Windows is going downhill lately, so backwards compatibility isn't what it used to be. Improving backwards compatibility for running old binaries would make Linux adoption easier. I hope that Linux PCs market share keeps improving to cross the threshold where it becomes an economically viable platform for most of commercial software.

4 days ago | parent [-]
[deleted]
71bw 4 days ago | parent | prev [-]

>AllocConsole and ReadConsole are gone

...sorry, what? I use these intensively and they are still available to use.

ectospheno 2 days ago | parent | prev [-]

> Windows has changed the kernel interface more often than Linux. This fact alone throws this commonly held belief to the wind.

Every Windows release I compile code straight from a Windows programming book from the 90’s. The only changes I made last time was a few include statements and one define.

MiddleEndian 4 days ago | parent | prev | next [-]

>backwards compatibility

They are getting worse at this. I bought a Surface Laptop Studio 2 two years ago. Windows Mail and Windows Calendar, two nice minimalist programs from Microsoft, were actively killed in this time. If you open them, it will redirect you to a new ad-laden Outlook app. If you somehow get a workaround going through the registry, they still fuck with it because the (incredibly simple) UI somehow has network dependencies.

I use MailSpring for email and no longer have a native calendar on my fairly expensive laptop from Microsoft. This is actually what drove me over the edge to switch to Linux for my workstation. Unclear exactly what I'll do for my next laptop but it won't be from MS.

Wowfunhappy 4 days ago | parent | next [-]

That's not a lack of backwards compatibility, that's an app purposefully self-destructing itself!

What I'm talking about is, if your widget factory uses some app to calibrate all the widgets which was written by a contractor in 2005, it probably still works fine on Windows 11.

dham 4 days ago | parent | next [-]

I used some software called Project 5 from Cakewalk back in 2006, as well as VST plugins. I can still install it and use it on Windows 11. Meanwhile, basic plugins from that time stopped working on Mac OS X Lion.

MiddleEndian 4 days ago | parent | prev [-]

That detail is definitely true, I just think that in practice the frustration with behavior like this from MS will trickle down(/up/whatever direction). Like the benefit of Windows as a regular user or power user was also that after the pain of dealing with whatever shit MS decided, you could configure it more-or-less however you wanted and it would not change. It will be delayed in the corporate world but it will happen.

vee-kay 4 days ago | parent | prev [-]

Just use Thunderbird Portable as email client.

Since M$ is doing away with simple free apps (such as Mail) and forcing users to move to cloud-based expensive apps, you can use FOSS (Free and Open Source) alternatives -- especially the Portable ones (e.g., apps from PortableApps.com) that don't need an install, they can run off a USB drive, and app+userdata can be easily backed up without fuss.

https://alternativeto.net/software/mail-calendar-people-and-...

MiddleEndian 4 days ago | parent [-]

I tried Thunderbird first, but unfortunately it was kinda heavy and was fairly unreliable, which kinda tracks with my experience before (at least on Windows). Mailspring works fine and is also open source.

Couldn't find a decent minimalist calendar program that integrated well with Windows. People say they like OneCalendar but I refuse to use the Windows Store, I even got WSL set up without it lol

int_19h 4 days ago | parent [-]

Try Vivaldi. It's a "kitchen sink" browser in the same vein as Opera used to be back in its days of glory, so it comes with an email and calendar client that can be optionally turned off:

https://vivaldi.com/blog/vivaldi-mail-calendar-feed-reader-a...

But you can also just use it as an email client and ignore the browser part.

MiddleEndian 3 days ago | parent | next [-]

Vivaldi's email client is kinda clunky as well and has no way to show just my "inbox" (mail without any labels) from Google as far as I can tell, just one big unread chunk. And the calendar seems to just be a column on the left of the browser.

Either way, MailSpring works fine for email, and I've recently discovered Fantastical for a straightforward calendar program.

But it's absurd that I have to do this at all. At a minimum, if I buy a laptop, Microsoft should not be able to actively break it without refunding me 100% of the purchase price.

int_19h a day ago | parent [-]

My "favorite" part about the new Win11 email client is that it pulls your emails to their servers.

codingrightnow 4 days ago | parent | prev [-]

The Vivaldi web browser tab groups are a killer feature. It's my main browser because of this.

the__alchemist 4 days ago | parent | prev | next [-]

Yep! I can compile a program on Windows and expect it to work on any Windows OS from the past ~15 years that has the same CPU architecture. Linux? Each binary is more provincial. I want to try some of the tricks like MUSL though; haven't explored the space beyond default compiler options.

hamdingers 4 days ago | parent [-]

Ironically, you can run almost any vintage Windows or DOS software on any modern GNU/Linux OS too, using compatibility layers.

krferriter 4 days ago | parent | prev | next [-]

Linux also doesn't have as good hardware support. While Linux will probably run on most hardware. It doesn't run well. Like you may just immediately give up half or more of your laptop battery life if you switch from Windows to Linux on a particular machine, even if you use a lightweight and up-to-date environment and use TLP and whatever else to tweak kernel settings. I used Linux on my personal laptops for many years. No amount of tweaking could make it perfectly smooth and have comparable battery life and cooling.

New apple-silicon Macbooks also get such good battery life and performance now that if you are switching from Windows to a Unix-y personal computer, is is increasingly hard to not say that you should go to Mac.

gchamonlive 4 days ago | parent | next [-]

> Linux also doesn't have as good hardware support.

I once had to patch uvc to support a webcam that wouldn't work natively on Linux. It would advertise one version of the API but implement another. That didn't affect windows which probably already knew and had proper patched drivers for it.

We can all but wonder why, but my guess isn't that there is some sloppy dev there and windows is just making up for it. It all seems very deliberate to undermine Linux. And it's plausible given Microsoft's bottomless pockets.

So it wouldn't surprise me that these companies are actively hindering Linux compatibility. So much for a free market with open competition.

Yoric 4 days ago | parent | next [-]

I believe that Linux is just a low-priority target. There are so few users on Linux that it's not worth investing in Linux support unless you specifically target Linux crowds.

gchamonlive 4 days ago | parent [-]

Makes sense

int_19h 4 days ago | parent | prev [-]

If you start thinking about a conspiracy, the first thing you should do is ask yourself how much effort it would take to keep it under the lid without anyone leaking.

gchamonlive 4 days ago | parent [-]

As the other commenter said, way more likely that Linux is just a low priority for hardware manufacturers.

ndsipa_pomu 4 days ago | parent | prev [-]

> Linux also doesn't have as good hardware support

My experience has been that I can generally just install Linux on a machine and pretty much everything will just work straight away, but with Windows, I have to go and find the relevant Windows drivers to get things like iSCSI working.

brettermeier 4 days ago | parent [-]

When did you install your last Windows? Like 20 years ago?

red-iron-pine 4 days ago | parent [-]

"I had to patch drivers to get the dot-matrix printer working, and it didn't play nice with the PS/2 used by my mouse (the big one that goes on the nice mousepad)"

ndsipa_pomu 4 days ago | parent | prev | next [-]

I recall lots of reports of printers and scanners becoming unsupported during one of the Windows version upgrades (possibly the Windows 7 upgrade?).

int_19h 4 days ago | parent [-]

Likely Vista, that's the last time they did a lot of breaking changes around drivers.

happymellon 4 days ago | parent | prev [-]

> And backwards compatibility.

I have plenty of printers that have stopped working on Windows over the years, my current Brother laser doesn't have drivers that Windows will allow to be installed anymore. Its fine with Linux, so I just print share it as a generic so the Windows clients can connect.