I would argue it's not the exact same thing. Sure, when overdone then you would get the same. But the way it is, commonly used concatenated words are words, not just hyphenated words. They are used as words and without an extra though people don't parse them into separate parts, unlike they do with a list of words with hyphens.
E.g. you don't think of firefighter as fire-fighter in ordinary usage.
Also, given how many times you enter a 6-digit number over a day, it's absolutely trivial to steal it. Let alone basic patterns people use, smudges etc.
In the use case of a mobile phone, apple's face id absolutely improves security several-fold.
I am absolutely not even close to being an expert on the topic, but type theory wasn't all that well understood even relatively recently - Voevodsky coined the Univalence axiom in 2009 or so, while sets have been used for centuries.
So not sure it would be "unwieldy", it's a remarkably simple addition and it may avoid some of the pain points with sets? But again, not even a mathematician.
Easy but boring. Realistically, the workers would be gathered in a hall and their immediate boss would give a speech: "The party and the government want you to serve the Motherland at this heroic moment and volunteer for a hard job. Whoever goes gets apartments ahead of the waiting list".
Yeah, it's not that hard if the hardware is high quality and of small number of known types.
Windows and Linux is judged by whether it works on any hardware, including the so-cheap-it-should-not-have-been-produced-ever machines, that will obviously just plain suck. No amount of software can save shitty hardware.
I feel like Linux proselytizers are always talking about how Linux will revive or improve low-powered hardware, and that’s one of the reasons it’s so great. Then when it’s still a poor experience, the same Linux users say things like this, that no software can save bad hardware. You can’t have your cake and eat it too.
Also, Linux expressly aims to run on a wide array of hardware, and macOS doesn’t. So Linux should be judged across a large range of hardware and macOS shouldn’t, in the same way a Jeep should be judged on its off-roading abilities and a Civic shouldn’t.
A supersonic airplane is not better than a bicycle, nor the reverse is true. They are just.. different and only marginally related.
Also, "revive" a device is more of a niche thing. What's more generally in line with linux's philosophy is it scaling down to embedded-like hardware, but also scaling up to supercomputers. Neither end is "a bad experience", and none of the other mainstream desktop OSs can even hold a candle next to it.
Countless other things about the way they work and how they handle what you want to do with them? We're not comparing radically different things, I was intentional about my comparison of Jeep vs Civic: they're the same basic tool, with different applications and contexts where they shine. This isn't an airplane and a bicycle.
Not really - a Jeep and a Civic is pretty similar in use case still. The Mac would be more like a tram that can only go on rails vs perhaps a bus. If we want to make some useless comparison.
I can easily tell you a story of the same with the two OSs reversed. It's no longer 2016, pretty much every hardware worth their salt has good, or better Linux support, with the possible exception of some random RGB led not being controllable out of the box (though usually it's not out of the box either on windows). Like outside of desktop, Linux is the most prevalent operating system and it's not even close.
This wasn’t 2016, it was this year, and we are talking about desktop OSes (given the comparison to MacOS). If I wanted to run it as a server without a desktop environment, it would have been fine.
I don’t understand all the folks who crawl out of the woodworks as Acolytes of the Holy Linux Empire every time this topic comes up. Linux is a good desktop OS these days, it is my default, but I don’t have any problems acknowledging its issues and moving to another OS if it can’t meet my needs or if I have hardware/software that it has issues with.
This conversation started because someone said "I wish we could get a LInux system running on an Apple hardware, that would be the best of both worlds", and then the first response is to make a defense of MacOS, implying that MacOS would be the superior choice even if the Linux integration with Apple hardware was leveled.
What I am refuting is basically the idea that MacOS provides a better "experience" than a modern LInux Desktop installed on any reasonably conventional hardware.
I don't refute that are limitations on Linux. I am not saying that it will run everywhere flawlessly. But I am saying that the average college student, the average "web developer" and the average "elderly folk with basic computing needs" can have a good desktop experience without being forced to pay the Apple tax.
Now you are comparing single threaded code with multi threaded, which is a completely different axis to async vs sync. Just take a look at C#'s async, where you have both async and multi threading, with all the possible combinations of concurrency bugs you can imagine.
Of course I'm comparing them. Threading and async are two solutions to the same problem: How do you write high performance event driven systems like network services? How do you solve the C10K problem (or more recently the C10M problem)?
If you use a thread per connection (or green threads like Go), you don't also need async. If you have async (eg nodejs), you can get great performance without threads. You're right that they can also be combined - either within a single process (like tokio in rust). Or via multi-process configurations (eg one nodejs instance per core, all behind nginx). But they don't need to be. Go (green threads) and Nodejs (async, single threads) both work well.
Of course we're comparing them. We all want to know who wore it better
> The job wouldn’t have been done. They would have needed threads. And mutexes. And spin locks. And atomics. And semaphores. And message queues. And - in my opinion - the result would have been a much worse language.
My point is that you do need mutexes, spin locks, etc with async as well, given that you have a multi threaded platform. So no, we have basically 2x2 stuff we are talking about with very different properties (async/sync x single/multi threaded).
> My point is that you do need mutexes, spin locks, etc with async as well, given that you have a multi threaded platform.
No, Javascript isn't a shared-memory multi threaded platform. It would only need mutexes and so on if we added threads to javascript, as the comment I was replying to suggested should have happened:
> At any step in that sequence, the language could have introduced green threads and the job would have been done
reply