Microsoft had a good licensing model that sort of worked. Instead, they are going towards selling malware for free or at a very low cost to manufacturers. It is kind of sad. The UX on Windows 10 for me still feels better for an average Joe compared to Apple and Gnome or KDE. Windows 10 also had WSL2 which made it an okay development system. Then they made a UI that sort of drifted off into something unknown and put in a bunch of telemetry and spyware. Their browser is now riddled with ads. Microsoft and Google have such talent, then talent that is basically making large surveillance software at this point.
> Windows 10 also had WSL2 which made it an okay development system.
To be honest, I would have preferred WSL1 which implemented the syscalls directly under Windows for the best possible integration, but they eventually just threw that away and switched to using virtual machines!
To be fair it's quite impressive WSL1 got this far, but ultimately it was doomed from the start if one targets perfect compatibility.
Given there's no "Linux specification" the spec is the actual code, nooks and crannies and all, down to nitty gritty details and implicit behaviours that end up indirectly getting relied upon. The only solution is to basically implement these in excruciating details, which may or may not possible depending on the Windows things being wrapped. Then the question of intellectual property, copyright, and licensing come in, as MS would have to ensure that it's a clean room implementation or be subject to GPL terms (cue the Oracle Java vs Android shenanigans).
So at some point it makes sense to just throw a VM at the job, cleanly separating realms, sidestepping any legal landmines, and ensuring perfect compatibility, especially as the whole HyperV infrastructure is quite solid and used throughout the MS ecosystem as a general strategy, e.g the Xbox uses HyperV to isolate games and apps.
Tangent: I wish (the VM part of) WSL2 would be available on Xbox, allowing one to run Linux while keeping the whole regular OS and features!
WSL1 was a dead end, not because of compatibility but because of performance, especially when it comes to file system access and process operations. Windows is supremely complex in both, with things like filesystem filters, fused fork+exec+setuid+setcap+doWindowsStuffThatDoesntHaveUnixEquivalents syscalls, all of which you cannot avoid. If you layer a Linux syscall personality on top of that, things will get molasses-slow quickly.
To be fair, at least on the syscall side, WSL1 was built in kernel space on Pico Processes, not regular NT processes. They very much were able to avoid the windows cruft. It really seemed to be the long tail on compat and the impedance mismatch on the vfs layer that killed it.
Correct - the semantics are simply too different to directly emulate. The simple fact that starting processes takes much longer in Windows cripples naive implementations, for example.
Wine is an amazing piece of software,but it’s still easy to find issues in many apps. Microsoft wanted something it could sell as a general Linux replacement, so it needed close to 100% compatibility.
It doesn't mean they are implementable atop NT/Windows kernel facilities, semantics, and behaviours, in which case it's an alternative implementation to maintain that foregoes integration.
While Wine's effort and compatibility levels achieved are impressive, they actually prove my point: compatibility is a constant fight, there are a ton of tunables (some automated), and it's still not perfect (which is what a VM gives you for essentially free).
There's more than "basic" syscall interface to it though, there's the whole implementation of features (that are GPLv2 licensed) e.g btrfs? iptables? ebpf? ptrace? hold my beer; run kernel-backed wireguard in WSL2? no problem; alsa? you betcha; real time facilities? sure! custom kernel with a missing feature like usb passthrough? be my guest; contribute to the linux kernel code? entirely possible. It's all there, today, and not at the mercy of MS's will or ability to implement this or that.
yeah, windows already ran in hyper-v anyway for protection of high-level processes at the hypervisor level, so it probably wasn't even that much of a leap to introduce other VMs alongside windows (aka WSL2)
I'd never used WSL1, but I use WSL2 at work (where I'm forced to use Windows). It's OK. I don't understand all the fanfare about it, though, because it's only OK. I still need to have a real Linux system around. WSL2 isn't an adequate replacement.
Windows 10 isn’t much different in terms of data collection. For example, for each USB drive you connect, it sends the serial number, partitions etc to Microsoft, as well as when you connect and disconnect it. And they probably know what smart TV you have in your living room even if you haven’t used it from your PC.
Windows 10 is terrible at privacy. It is known to broadcast to 400 IP addresses. It’s not the OS to use to avoid privacy issues in Windows 11.
Windows 10 may have been your last benefits-outweigh-drawbacks release, but I'd argue the the blatant user hostility really started in Windows 8 (and tainted 10 as well).
For me the turning point was Fall Creators Update.
I bought a Samsung Galaxy Book 12 bundled w/ a Staedtler Noris Digital Stylus, and it was perfect --- then Fall Creators Update crippled the stylus making it impossible to select text --- rolled back to 1703 twice, but finally broke down and bought a Samsung Galaxy Book 3 Pro 360.
Currently trying out a Wacom One paired w/ a Linux box and wishing someone would make a nicer screen w/ touch which used standard pens (don't want to go to a Cintiq since it would lose on the synergy/compatibility of _all_ my devices using the same pen technology).
Huh I owned a Surface Book at the time and I don't recall the stylus breaking after that update. Did you confirm that the issue affected all Samsung models with a stylus?
I'm reading this comment as opposition to the rule of law
The law they broke is of the type where you can't be known if what you're doing is allowed or not in advance. Dictatorships love these sorts of laws, but unfortunately in the West companies are made to deal with a bunch of them
With all the privileges granted to these companies in the west, shouldn't they also bear some responsibilities to continue to serve the public fairly as well?
Exactly; these are highly successful companies. Sure, they're destroying the planet and leading us to doom, but they're giving the people what they want. Just look at the discussion here today about how awful cars and parking are, and how many people trash public transit and walkable cities because they like their cars and driving everywhere.
The problem isn't big corporations, the problem is regular, everyday people.
they are not wrong, though. from my time in the US, unless you're lucky and decide to stay in a city with half-decent public transport, you NEED a car to get around. No busses, no trains, no trams, only ever-expanding highways and stroads.
these companies spent a whole century destroying public transport to sell more cars. they spend that century spreading propaganda about cars, bribing politicians (or lobbying as you like to call it), and completely redoing the entire infrastructure of a major world power for... more money. you cannot blame the people being exploited for having to buy into a system they cannot do without, in a country where public transport is just a hollow imitation of itself from the past. again, they spent trillions to get things how they are now! government propaganda since the red scare hasn't been as effective as this.
The voters are the ones who don't want walkable cities. Just look at how enraged they get every time some city government (like Culvert City CA) tries to take away car lanes and make them into cycling lanes.
Stop blaming this on "the corporations". The people are the real problem here. They wanted to move away from the Black people and have redlined suburbs away from them, and this is what they got. Euclidean zoning is entirely a local issue, not something forced on everyone by lobbying.
In my view Windows has always been a great development system. Been doing both php and c# development on windows for years and it always been "start computer, install wamp/editor or visual studio" then you are set and can develop great software.
Here you go, works on default Windows 10/11 install:
- open terminal
- winget install -e --id ojdkbuild.openjdk.11.jdk
> The winget command line tool enables users to discover, install, upgrade, remove and configure applications on Windows 10 and Windows 11 computers. This tool is the client interface to the Windows Package Manager service.
Ah, winget. Another proof that Microsoft never stopped being abusive as fuck.
Inviting over open source developers under false pretenses, milking them for all the knowledge of their projects and then proceeding to ghost them for months before releasing a complete ripoff of the original open source project.
At least they wont suffer a culture clash from the Activision acquisition.
With php its very little difference except that you run Windows and get all the benefints from that regarding drivers and software support, i have yet found an equaly good database manager on linux as heidiSQL(it is unstable in wine) for ex. Also it "feels" easier to click on the wamp installer and just run it from there compared to sudo apt install xyz.
With C# the difference is huge since you just need to install visual studio and you have everything you will need, with the best tooling there is.
>i have yet found an equaly good database manager on linux as heidiSQL(it is unstable in wine) for ex.
How does it compare to the mysql one or MS sql server management studio for that matter?
> Also it "feels" easier to click on the wamp installer and just run it from there compared to sudo apt install xyz.
Wamp installer is windows specific but i'd assume you browse to find the download for it, etc or use winget or chocolately instead of sudo install xyz, etc so i fail to see the advantage there?
Similarly I'd just open pacmac and click to install xampp or so no?
Maybe an equivalent experience can be had using the windows store if WAMP is found on there but i think the windows store is a bit of a disaster still. (It can't seem to grasp that I do not speak French all that well for example)
>With C# the difference is huge since you just need to install visual studio and you have everything you will need, with the best tooling there is.
There's a reason people jokingly call it microsoft java. The second half might be mischaracterizing it on many fronts but the first half is true to form.
I'd argue it as an argument in this matter is similar to bringing up the best platform for developing with Swift.
>How does it compare to the mysql one or MS sql server management studio for that matter?
It dosent compare, but then when working with php and mariadb you dont often use the advanced/esoteric features you have in SQLserver
>Wamp installer is windows specific but i'd assume you browse to find the download for it, etc or use winget or chocolately instead of sudo install xyz, etc so i fail to see the advantage there?
Well there is less configuring with wamp and there are gui tools to manage things, installing the services in linux and setting them up is always a bit more work. I have never tried xampp in linux so it might be equal there.
>There's a reason people jokingly call it microsoft java. The second half might be mischaracterizing it on many fronts but the first half is true to form. I'd argue it as an argument in this matter is similar to bringing up the best platform for developing with Swift.
It being an complete integrated package from the OS to the IDE is the best feature about dotNet. You can look at it the same way as "the lisp machine" but with better third party software support. I guess swift has the same benefits, altho when i tried it the tools where not really up to the same standards as visual studio.
I have yet came across a language platform i cant develop with ease on windows. Also these days with tech such as docker etc there really are no boundaries.
>It being an complete integrated package from the OS to the IDE is the best feature about dotNet.
In a general purpose development context I consider it a downside. In the same way that I don't consider it a boon for XCode & the like that I can't run it on my machine and will need to go buy a mac.
When it comes to a more general purpose development context I find that a lot of things have this "if you are on windows" asterisk. From recent memory it can go from the rustup installation page just referring to a completely different page or rediscovering that text files having diverging line endings there or needing to do some workarounds when making commandline tools in such low level languages so that they'll also work on windows, needing to bundle some redistributable dll in your installer to make things work on windows even if you used visual studio on windows to make your binary. They'd work everywhere except windows because vcruntime isn't statically linked by default or something.
Given PHP being mentioned think this was also the reason it took so long for various PHP functions to become available on windows in the past (Not sure if they're all available now. I haven't kept up).
I remember discussions from back then with complaints about Windows being a second class citizen for php when that wasn't really the case rather it was just more often the odd one out.