All three main desktop operating systems suck for very different reasons
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
I take it you run TempleOS?
As a linux dev, this conspicuously misses mentioning Visual Studio.
True, but he mentions .NET development is Windows first, and even mentions that you have "some IDE's that work with it, like Rider". He kind of said it without mentioning the specific IDE.
Rider is the real MVP anyways.
Jetbrains ftw
My company and literally every company I've worked for somehow has been deeply afraid of leaving .NET framework for .NET core or .NET 6, 7, or 8.
I just want to get away from needing Windows to run my programs locally
Most companies I worked with had a choice of the work laptop, usually Windows/Linux or MacBook. And the trick is, you cannot buy cheap MacBook. So the choice is using linux but with a terrible screen, unusable trackpad and bad hardware, or take MacBook and enjoy all premium.
So I always take MacBook and then ask for a local workstation where I will have linux with i3 / Sway WM.
I prefer a desktop. Don't have to worry about swelling batteries from being plugged in all day... plus they're cheaper so I get new computers far more often than my coworkers who get laptops.
So many praises for Windows and Mac about 'premium features', 'corporate environment' and 'device support'. But not enough talk about how they treat customers like crap and cash cows. Windows is replete with spyware and ads. It doesn't respect the user's choices, like when not to do an update or opening the links with a browser of user's choice. Heck! Some versions don't even allow you to register users without a cloud account. And now they are taking definite steps towards ensuring that you can't do anything they don't approve - with TPM and pluton non-sense. Praising windows is like being in an abusive relationship and finding justifications for it.
Mac is on the other extreme. They lock down their platform more and more in every revision in the name of security. It's getting harder to side-load apps. Why? For security, of course! No mention of how security comes primarily from platform design. Then there is the hardware, where everything is glued, soldered, riveted, digitally locked, etc, etc. Any small issue, and it's garbage. Not even parts from another genuine Mac can be used. Macs also have the strange distinction of needing calibration and signing of any part that can be replaced at all. It's deliberately designed to extract more money from you and create a tonne load of e-waste (iWaste?). Mac fanbois have a habit of justifying it in the name of 'miniaturization' and progress. Honestly, that's just hand-wavy and completely wrong technical argument. And Apple says it is all for 'privacy' and 'security' while their actual reason is the pursuit of double-digit growth (not just profits). So, in effect, Apple is saying to their customers "Oh honey! You're are just too stupid to take care of it. So let me just decide for you" - all the while squeezing you for money. Does it end there? Oh no! They need developers to pay a yearly fee and want to take a huge cut from their profits. All that for "providing the engineering, platform and services". As if the exorbitant price they extract from their customers isn't enough.
The hardware situation on Linux distros and frankly even BSDs isn't as bad as it is projected by some. Most devices just work even on a live installation medium. Even Nvidia works. (Have you considered the possibility that if any device doesn't work, it's the manufacturer's fault and not the OS's? There are plenty of devices for which the community maintains the drivers, just because the device manufacturer isn't an utter trashbag). There are tonnes of games too - thanks to Valve and Proton. And as for the 'corporate env', you are probably just locked in or too used to them. There are users who have been on these platforms for decades now without complaints. And there are companies built entirely on them. Can you say the same about any of the company that makes your OS/devices? Is there one among them that doesn't use Linux or BSDs?
Look! I'm not claiming that everything is rosy on the Linux and BSD side of things. Sometimes you have to find an alternative way of doing things (there are plenty of options). Sometimes, you have to configure a lot. Sometimes, you have to carefully choose your hardware so that your life is easier with Linux and BSDs. But there is one thing they don't ask you to do- and that is to surrender your self-respect. You don't get treated like cash cow. You don't get spied on as if you are a thief. You don't get restricted like a school kid. You're not told that your choices are wrong. Your choices are not disrespected. You don't get treated like you owe them after you paid your hard earned money on the devices they make. Ultimately, it's up to you to decide if the little conveniences are bigger than your self-respect.
Macs are actually secure. Not as much as ios, but compared to the general linux userspace, it is like a military establishment vs a homeless tent.
Did you miss the part where I said they use the security argument to lock down the device and restrict the user? In addition, Linux distros in their default configuration may not be secure - but there are plenty of packages that can secure it down to a deep level. It just depends on the user's threat level assessment. That military establishment vs homeless tent analogy is just pure hyperbole and FUD.
Security doesn’t work like that and I find it important to share the insecure nature of most linux distros with many people, hopefully to make it improve one day.
Currently a make install
can do literally anything to your computer besides installing a video card driver (as per the old xkcd comic) and sure there is firejail.. but let’s be honest, how often do you use it? Defaults matter, and thus linux is insecure.
Also, again, how is osx locked down? What’s a concrete thing you can’t do on it?
I wont work for a single day without linux
macOS all the way.
All the comfort of a UNIX FOSS env, all the premium features of a corpo env.
I wish the company I worked for would let us use Linux. Mac dev only. :(
Better than Windows at least
Nah these days with wsl, I prefer windows over Mac. At least you get packages that have been updated in the past decade.
What packages are you missing? With brew you can get most things
True.. although using brew to upgrade bash is far from straightforward. Plus you can't run gdb on a m1 mac.
Ah yeah tbh I only use fish so I've never had to bother upgrading bash. And actually yeah the M1 can be annoying. I have an M1 Mac for work and some libraries are a massive pain to get working on it
Bro do you even oh-my-zsh bro?
Bro where are you goingggg...
/s
WSL has been super garbage for me with the WM closing without warning to update and if you don't limit the ram usage it just takes everything available because it just doesn't free memory that isn't using anymore. Two issues that have been open on the repository for a long time.
I care about freedom. In that regard, mac is easily the worst of the three. Also, it kinda combines the downsides of both:
- Being proprietary crap that tries to force you into using it a specific way and does shit in the background nobody ever asked for
- Not being compatible with some proprietary soft- or hardware
I hate windows with a passion but would take it anytime if mac would be the only other option.
Every windows machine a job has given me has been a hunk of garbage. At least Mac hardware has a floor of quality. Not perfect by any means, but at least the battery lasts and there's basic horsepower.
Also every windows machine has been with a fossilized company that has tons of IT bloat with tons of spyware authentication shit on it. Hell I had to file (and fight for) wsl privileges on my current windows machine
The Macs I've gotten have been brand new, straight from the manufacturer.
I'm sure that's just luck of the draw but yeah fuck windows shops hah
I'm not talking about companies that use windows vs companies that use mac but about the systems themselves. It's very possible that most companies that use macs are generally better equipped, treat their devices better, upgrade more often, etc.. But that's a correlation, not a causation. You are right about the quality baseline because apple forces them to buy very specific hardware. But if they'd instead spend the same money for a windows machine and set it up decently, I would prefer that by a lot. MacOS is just terrible. It's less keyboard friendly, always messy, forces users into a overpriced and shitty proprietary lock-in ecosystem, etc.
I'm not sure how long I'll say that though since microsoft really manages to make windows so much worse with every version they release, it has also reached a barely usable state to be honest.
In what way does it limit your freedom? When I first tried OSX I was quite surprised at how customizable it actually is, contrary to all the talk I heard about it.
Hell nah. Personally, mac os is the most frustrating of the bunch to use.
I switched over to MacOs about 3 months ago now for dev work and I've really been enjoying it so far. Except when there are weird hiccups, but they've been getting better as I get more familiar with it
Each to their own! I'm not a dev, but I have to use a mac at work for video editing, and what frustrates me, is the clunky window management and that some keyboard shortcuts (like copying and pasting) make me have to twist my hand in quite unnatural positions, at least on the apple's own keyboard.
i used to have this opinion, i dont after having to use a mac for a few months. id take windows+wsl any day.
The Linux Experiment is also on the Fediverse.
Mastodon: https://tilvids.com/accounts/thelinuxexperiment
TILVids (Peertube instance): https://tilvids.com/w/995NqXZXXshptUnwZNcbKi
NixOS is the ultimate dev distro... For backend development anyways.
Thankful to communities, building dev env on Linux is easier than that on Windows.
The real reason linux is better for devs is because there are more communities about linux than about windows on programming.dev
And its because it was made by devs for devs. Not corporate ghouls that just want to squeeze another penny or data from you.
Is there any GUI for either GDB or LLDB? Most cases, I don't think "writing macros to do complicated things" is a path walkable for me, especially as I mostly want to do simple things.
VS Code (as well as Codium) uses gdb for debugging
I was gonna say Ctrl+X Ctrl+A but that's a TUI.
And cgdb is kind of the same but with better controls and syntax coloration.
DDD? Dunno if that's to your taste, nor what state it's in lately but... maybe it qualifies? :3
Once nix
supports mac and windows equally well, maybe those platforms can be considered equivalent, but until then linux FTW.
Cries in game dev
No, seriously. I've tried getting Unity to work on Linux once, and gave up after few hours of random crashes, bugs or errors. And I never even got to building the game, which I'm sure would be an entirely different adventure that would still in the end require to reboot to Windows and try the build there.
Also, getting O365 to work on Linux was another reason why I eventually gave up, since our company is simply a Windows-based, and the web apps are just too cubersome to use. And for alternative clients you usually need an app password (disabled in our domain) or another setting that you don't want to enable for 95% of your employees, since it's just a security risk in the wrong hands.
Oh, and then there are VPNs. I never managed to get Checkpoint mobile working on Linux, without it also requiring intervention from IT to enable some obscure configuration or protocol support.
It's a shame, but every attempt I made to switch ended exactly the same - after few days of running into "make sure to enable this config on the server side" or "if you don't see that option in the settings, contact your system administrator" for every tool I need for my job, I just gave up.
But I'm considering it giving it another try, and just go with the Unix + Windows VM for administrative tasks. But knowing myself, just the small hurdle of "having to spin up a VM" would be a reason to postpone and not do it properly, since that's additional effort... And then there's still the gamedev I do part-time, where I simply don't believe it's a good idea - after all, given the states the engines are in, it's a recipe for disaster of "works on my machine but not in build" or "doesn't work on my machine"...
We use CentOS for work.
Unfortunately I have to use Windows for work, and it hurts my soul.