When ye say "great", I think ye mean "the one I am familiar with".
When ye say "great", I think ye mean "the one I am familiar with".
(A) Operating systems that major desktop apps support
(B) Developer-friendly operating systems (Unix/Linux at the core, default shell is bash or similar, etc.)
Windows is in (A). Linux is in (B). But macOS is in the overlapping area between (A) and (B). It's the best of both worlds.
Plus I feel if I really needed a Linux environment, the Linux subsystem would fill that need.
Have you actually used it? A bunch of devs I work with continually have issues relating to WSL so i'm not sure if its comparable to macOS.
https://devblogs.microsoft.com/commandline/announcing-wsl-2/
I'm a little skeptical given the shortcomings/difficulties I encountered last year, but a solid competitor to macOS as a unix workstation with broad desktop app support would be great to have.I also told myself I needed a Windows laptop for hobby projects outside of work. A few things happened to make me think about getting another Mac within the next 18 months.
- All of my work now is cross platform .Net Core, JavaScript, and Python.
- I don’t have any plans on doing any Windows specific development.
- In the unlikely event that I need to do anything on Windows, I’ll spin up an EC2 instance in my hobby AWS account.
- the chances of any company I work for not giving me a Windows laptop is slim.
But honestly, I don’t do side projects that aren’t work related and I hardly ever use my computer at home besides as a Plex server. I use my iPad at home mostly with a Bluetooth keyboard for the rare personal MS Office work
Source: myself, a gamedev for AAA titles.
Its very common here in comments (and articles) for the two to be synonymous.
And Apple has had the mindshare of that crowd for quite some time now. But...
---
Personally, I despise working with both Windows and current generation of Linux desktops. They are clunky, inconsistent, cluttered etc. However, they are improving (albeit slowly sometimes) while Apple's "pro" offerings are degrading at an alarming rate. And with the impending advent of Marzipan we might see an exodus of pro users from MacOS.
In case of Linux and Windows you can see their effort to improve things. Their failures and shortcomings stem from either decades of legacy (Windows) or lack of overarching vision and resources (Linux).
Whereas MacOS... It has always been billed (and billed itself) as the UI/UX front runner. It was (or was trying to be) polished, consistent, good.
Apple had Human Interface Guidelines in as early as 1987[1]. Apple was the definitive yardstick interfaces would be measured by.
But in the recent year(s)... Apple has been consistently dropping the ball themselves. When their own first-party apps break almost every single HIG [2], how can one expect third-party developers to create quality apps. When their own third-party apps are locked in to landscape mode (iOS dashboard and iOS books interface), how can one expect third-party developers spend any significant amount of time creating seamless experiences across multiple screen sizes (and Apple’s own Marzipan apps like Newsstand and Home are barely ok at best).
When your OS is no better than the competition, what’s to stop people from using the competition (which actually shows willingness to improve).
[1] https://blog.prototypr.io/rediscovering-apples-human-interfa...
Since web development doesn't require a proprietary dev toolkit, it gravitated towards the platform that most naturally supports software development in general. And that happened to be Unix/Linux.
Otherwise it's the same git, cmake, etc I use everywhere, just a different language.
I need a Unix-like command line environment and Windows is inferior there. Otherwise it's fine (I use it on my gaming machine), but if you look closely you can see it's a huge mess (e.g. the insane state of the control panel(s)) in ways Mac OS just isn't.
Linux is too much work. I say this as someone who has used it for years, still uses it every day, I've compiled my own kernels, etc., but it's just too much work to get everything working perfectly on my personal machine, especially on a laptop.
Mac OS doesn't have many of these problems. I am old, I have too much real work to do, and I need a machine that works and gets the fuck out of my way. I am past the point where I consider fiddling with the guts of my OS a badge of honor and think having a bunch of code up on my screen makes me look super cool like Neo from The Matrix. For people like me who don't need things it doesn't have and like what it does have, it's a good choice.
Now if only Apple would stop making so many dumb hardware choices...
Overall polish is not to Mac level, but it's a smidge above Windows 10. Which is about 100x better than my prior experiences with desktop linux.
That being said, I have high hopes considering their latest efforts, the new terminal looks cool, powershell is useful and WSL2 looks to bridge the gap. I'm a die hard macOS user that requires Windows for a variety of work tasks, i'm glad to see the effort and competition.
And all this is available to developers out of the box. Very few "cross-platform UI toolkits" can come even close.
That said, a fully native app would be a better option, but Electron apps are ok (unless devs go out of their way to make them bad)
Additionally, browsers are one of the most out-of-place feeling applications because the look and feel is controlled by the website, not by your operating system.
Note that Chromium (and hence Electron) reimplements many of these things.
EDIT: VS Code is the main place I run into this
Kinda like how iTunes was brushed metal forever while the Finder was Aqua and some apps roll their own UI to mimic Aqua? It's not like either Apple or Microsoft produce consistent applications, let alone the lack of control they have over third party developers. There is also Carbon vs. Cocoa, where different programs get different services "for free" from the operating system (e.g. spell check). Apple is just as guilty as Microsoft.
Win32 and WPF are both more than "decade-old," so really you're down to two. I'm not sure that 3 toolkits in 24 years is "every other year."
Cocoa is more like targeting an evergreen browser. Just target the version that is just old enough to support enough users and you’re good (and users are happy). Unlike evergreen browsers, though, you do hit hard cutoffs once every few years, but I suspect navigating those means updating the compilation/signing process more than rewriting anything (correct me if I’m wrong).
Microsoft is the same as its always been but acting like Apple has a clear, unified, and sane design doesn't reflect the evidence.
Also as someone who only knows Linux and Windows and is not familiar with Mac OS, anytime I have to use it, it is a baffling experience, common things are done with gestures and keyboard shortcuts that one would never be able to intuit or discover. I find some random completely new Linux windows manager that Ive never seen before much easier to get to grips with than Mac OS.
I've been using LTSC on my work / gaming desktop for about 6 months and its been the best OS experience ive had since DOS. Everything works perfectly, and otherwise it just stays out of my way.
I'm conflicted about all this myself because I have a good experience with Win10 once I get all the extra nonsense removed, the settings changed, and my shell setup working. I feel like Windows rewards people who are willing to put the time into it now, but its not as easy as dealing with Mac OS where you basically just clear off the toolbar, put the shell and whatever dev apps onto it, and maybe tweak a few settings and you're okay to go.