UNIX is stuck in time, hardly anything improved beyond file systems, and small API improvements, and that is what macOS is measured against, POSIX certification.
To note that the only standard UNIX UI is CDE, and anything 3D isn't part of POSIX.
On modern FS', the plan9/9front ones are pretty much ahead of almost anything; but plan9 it's a Unix 2.0. It went further. On 3D, forget POSIX. GL was the de facto API and now Vulkan, and the most common middleware multimedia API it's SDL2.
While IrisGL was born on Irix, it was placed under ARB stewardship, which after Long Peaks disaster became Khronos.
Vulkan only exists thanks to AMD offering Mantle to Khronos, an API designed originally for game consoles, very much not UNIX, and had it not been for AMD, Khronos would still be thinking what OpenGL vNext was supposed to look like.
SDL also has very little with UNIX history, as it was created originally to port games from Windows to Mac OS (not OS X) and BeOS.
System76 is great and all but we really, really need a vertically integrated “Apple” of Linux laptops that goes the extra mile to dial in everything to perfection.
It's called the App Store.
xcode-select --installThe App Store install what you would install through .dmg or .pkg. This is, if you install, for example, Android Studio, Docker and UTM, you will have three QEMU executables, one for each app.
Homebrew does quite a good job as a package manager for Mac, however, it's far from how the package managers work in Linux distros. For example, by running ``sudo pacman -Syu`` I upgrade everything that is installed, including the kernel, standard libraries, Python packages, language packages, manpages and so on. In Mac, I have to upgrade the system through system updates, homebrew packages through ``brew upgrade``, Python packages through pip, the App Store installed stuff through App Store and the manually installed apps through whatever the way they are upgraded.
I actually view this as a liability. System package management should be distinct from userspace package management.
Mentioning this classic XKCD: https://xkcd.com/1987/. This only made sense after using a Mac. While using Manjaro it was quite organized: only the pacman-installed libraries and the ones of my user projects. Now in Mac I have the default Python, the several Python versions installed from several dependencies in Homebrew, and so on.
That seems to be the worst of all possible worlds.
> Pacman would install the system-wide stuff
Most system-wide stuff is userspace. I was more referring to a divide between the OS-core (kernel, drivers, init scripts) and userspace. Upgrading userspace should not incidentally not allow the system to boot.
Plus, it's spammed with low-quality for-profit crapware—the iOSification of an otherwise fantastic platform
As for Apple making life easier for developers by making their OS more like Linux, that is not good for the rest of their users, and these users are more important than developers. It's preferable that developers jump through some hoops, rather than making the OS worse for non-developers.
There’s a really good reason the Mac App Store isn’t that big.
Is this supposed to be a bad thing?! It's a rock-solid workhorse. If they changed it I would stop trusting macOS to be any better than the linux flavor of the month
* I'd prefer better font rendering
* I'd like to move the cursor backwards and forwards in long commands easier, maybe even with the mouse (!). Use case is, say, a long curl command and I press up-arrow to repeat it, but want to tweak something. So I press and hold left arrow and wait.
* Semi-transparent background was cool in the 2000s; these days everything is blurred like it's Vista (not a criticism, Windows does it too, it's just UI fashion.) A terminal background is a place where that might be genuinely useful.
* This may be the shell, but when I reboot and restart I get my Terminal tabs reopened to the same working directories, but the history is identical between all of them. I run different commands in different folders for different reasons, and I want to be able to press up-arrow to get back the last command(s) per tab.
I am far from a Terminal, shell, or anything related expert. There may be solutions to the above. But third party terminal apps exist so there must be a market for some problems & solutions.
Ctrl-A moves you to the beginning of the line (and Ctrl-E to the end of the line); Option-left-arrow moves you left by word, option-right-arrow right by word.
You can. Just hold down the option key and click wherever you want in the command.
I believe basic gnu readline semantics are followed here, and most text editing fields elsewhere, with emacs keybindings - ctl-a for start of line, ctl-e for end, esc f for forward word, etc. “esc e” to open $EDITOR with the command line in a tmp file.
iTerm always struck me as slow and bloated. I think it's just a matter of taste.
In Terminal.app you may alt-click to make the cursor jump to where you’ve clicked. Besides, I use alt-arrows to jump between words: I don’t remember whether that’s out of the box, though. In any case, you may configure the relevant codes in the Keyboard section of the preferences.
That being said I haven’t investigated and it could be user error. But brew can absolutely bork your shit
Later Windows also aimed for the same thing with their new console app and Linux support. Yet macOS has remained the same. The Terminal app feels essentially unchanged and there’s no good app package service (eg brew etc - these are third party and can mess up your system.)
Even Xcode is, well… look how extensions were restricted.
Modern macOS feels boring, but also not aimed at developers.