Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Those that keep trying to make a point of Android being UNIX, never really shipped anything on the Play Store.

Yes, it uses the Linux kernel, and several components born on the Linux world and that is about it.

Only Google and OEM partners get to see that layer, and those that root their devices.

Nothing on the Android userspace, the Java and Kotlin frameworks, or the NDK official APIs have anything to do with Linux in any kind, form and fashion.

As for putting UNIX in a pedestal, most of the so called culture, is mostly circled around nerd circles, hardly ever noticed in big iron commercial UNIXes, and now that most of them faded away, gets passed by as a kind of old culture myth told during cold nights around the fire.

As for the technology, the UNIX haters book exists for a reason, had AT&T been allowed to sell UNIX from the get go, and most likely it wouldn't have picked up steam on the market.

Being source tapes available for symbolic prices, when compared with the real cost of a commercial OS on the 1970's, is of course a different matter.

I find great that at least the mobile OSes, and cloud infrastructure nowadays focus on other stacks, instead of being yet another UNIX clone, no need for OS monoculture stuck in the past.

Signed, a recovered UNIX zealot.



Well you can ssh to an Android phone through the USB developer tools, and you get a bunch of Unix commands like ls, df, etc.

Anyway what's wrong about Unix is that it assumes that users need to be protected from each other (good) but installed binaries can be somehow trusted (bad). We're in the internet age now where we download so many executable code that we need better sandboxing, as part of the OS.


After enabling the developer mode, and using tools regular users never get to see.


so what? Regular users (whatever they are) don't know or care that a mac is unix under there somewhere.

At moments like these i feel the loss of the nokia N900 that was glibc, gtk+ linux all the way down and up. Best phone I ever owned by a margin. Also arguably not a machine owned by apple/goog/samsung/etc whose purpose is surveillance of the schmuck (me) who just paid for it.


Its UNIX influence is a phyrric victory, without any real value as Google can completly replace it with Fuschia at any time they feel like it, and those regular users won't even notice.


* Pyrrhic


> the UNIX haters book exists for a reason

For the same reason that is behind complaints about undefined behaviour in C/C++: because there are people who do, and people who can't do. Those who can't do, need to complain in order to relieve their frustration.


See, I CAN program C++. I still prefer Rust.

“Some people who can use other systems fine, can’t use my preferred system” is possibly the worst defense of a system. It’s bad. It’s not something to be proud of.


> and cloud infrastructure nowadays focus on other stacks, instead of being yet another UNIX clone

could you elaborate? I was under the impression, that most clouds heavily rely on unix, both for host and guest systems (and containers)


First, Azure runs on Windows, using Azure Host OS at the lowest layer.

https://techcommunity.microsoft.com/t5/windows-os-platform-b...

Secondly, unless you are doing classical VM deployments, the only thing we care about are type 1 hypervisors.

If the language runtimes are running directly on top of a type-1 hypervisor, some kind of container, or bare metal, it is mostly irrelevant for most languages, with exception of C and C++ with their direct dependency on POSIX related APIs.

Taken to the extreme, on serveless workloads, you can even upload the code, and it get magically transformed into a deployment, mostly using managed languages that are OS agnostic.

At the end of the day, if those type-1 hypervisors are self-contained, or need a guest OS as management node, is completly transparent to the managed runtime workloads.


> with exception of C and C++ with their direct dependency on POSIX related APIs

...why would POSIX be special if the POSIX layer is statically linked with the application and would just be a translation layer to anything that lies below? Same way MUSL works on Linux as alternative C library which bypasses glibc and instead directly uses syscalls to talk to Linux.

(also technically the POSIX standard doesn't have anything do to with the C and C++ standards)


The POSIX standard definitely has something to do with C standards:

> Parts of the ISO/IEC 9899:1999 standard (hereinafter referred to as the ISO C standard) are referenced to describe requirements also mandated by this volume of POSIX.1-2017. Some functions and headers included within this volume of POSIX.1-2017 have a version in the ISO C standard; in this case CX markings are added as appropriate to show where the ISO C standard has been extended (see Codes). Any conflict between this volume of POSIX.1-2017 and the ISO C standard is unintentional.


Well ok, the two standards are overlapping where it makes sense, I stand corrected there.

But nothing prevents me from writing C or C++ programs on Windows which don't have a single POSIX (or even libc call) in them, but exclusively use Windows system DLL calls - and those are still entirely valid C or C++ programs (although I'm aware that the situation is muddy for some libc calls which some compilers treat like builtins, e.g. memset and memcpy).


> Those that keep trying to make a point of Android being UNIX, never really shipped anything on the Play Store.

most people never ever even ship anything that is actually dependent on having any kind of unix underneath.


Doesn't Termux count? I literally develop software on my phone with it.


It's a system inside a system shipped as an app, isolated from other apps and with no integrations with the wider operating system. It's not far from WSL or a VM.


It forks and execs new programs using the actual Linux system calls. It's a real Linux terminal emulator that opens and drives /dev/ptmx. Not sure what else it needs to be a real Linux.

Termux is very well integrated. Termux:API allows access to phone sensors, location and cameras, sharing data with android apps, issuing notifications... All from the command line. Things like xdg-open work fine.


There is a reason why you cannot install Termux any longer via the Play Store, those APIs aren't allowed as public APIs.


I know and I think it's dumb. Termux is too useful not to allow the use of those APIs. They should turn them into permissions or something.


Linux kernel is only an implementation detail, doing so would prevent a future Zirkon migration.


yet the existance of these api's serves as an example as to why android can be classified as a unix


What matters is what the consumers, and developers of the platform see when using it in legal ways, not the hacker route.


the nature of a thing does not change with the perspective


>Those that keep trying to make a point of Android being UNIX, never really shipped anything on the Play Store.

An old wise sayings said, never say never

>Yes, it uses the Linux kernel, and several components born on the Linux world and that is about it

It's the OS engine of the world's most popular mobile software framework so called Android not unlike the Unreal Engine is the game engine for the world's most popular 3D gaming software so called PUBG. Is it wrong to claim Android is Unix, as PUBG is Unreal?

>Only Google and OEM partners get to see that layer, and those that root their devices

I think the sibling comments already answered these allegations

>As for the technology, the UNIX haters book exists for a reason, had AT&T been allowed to sell UNIX from the get go, and most likely it wouldn't have picked up steam on the market.

Haters gonna hate but the most ardent Unix hater, the author of most successful desktop OSes VMS and Windows NT namely the lagendary David Cutler did copied many of the "flawed" Unix ideas into modern Windows

>recovered UNIX zealot

Personally never meet a Unix zealot, but never say never


> namely the lagendary David Cutler did copied many of the "flawed" Unix ideas into modern Windows

You have any examples?


The classic example is that the original VMS (of which Dave is one of the original authors) has several types of native files, but the modern Windows NT has forgone this many types approach (e.g record & index) for simpler flat file approach similar to Unix.


I guess. I’m not sure I buy how just removing some shitty idea from a system is copying a system that never had that in the first place.

The actual meat of how the filesystems and namespaces work (and Unix has several types of files - block and character special to start with) are still wildly different between the two systems.


Remember that Ken Thompson and Dennis Ritchie were part of the original Multics project, and the Unix name was a joke or more exactly a pun on the former.

I strongly believe that the non-existent of complicated file structures are actually by design not by chance by Unix authors, and perhaps at the time is mainly due to the limitation of the hardware. But since now we have computer with TB size of storage and RAM (that's not a typo), and apparently no OS after VMS copy the record and index file structure, it's probably a very bad idea. The fact that modern OS textbooks don't bother to cover them in details but only in passing mentions is really telling something.


> I strongly believe that the non-existent of complicated file structures are actually by design not by chance by Unix authors, and perhaps at the time is mainly due to the limitation of the hardware

And Unix was just a return to the basics of CTSS, which also was the precursor to ITS. This is not to mention the numerous micro OSes independent of Unix that didn’t live in the bubble of Multics. I don’t think Unix was really original in that regard (but it won, so everybody just assumes they did everything first) - and claiming that everything they undid from an all but forgotten ancient overengineered system was an invention is a bit contrived.

“In most ways UNIX is a very conservative system. Only a handful of its ideas are genuinely new. In fact, a good case can be made that it is in essence a modern implementation of MIT’s CTSS system. This claim is intended as a compliment to both UNIX and CTSS” - dmr


I wonder how much of the hate Windows gets is simply because Windows has nothing to do with Unix's bloodlines and heritage.

Aside from cursory accomodations like the Microsoft POSIX Subsystem (what we would in theory call Windows Subsystem for POSIX if it existed today), that is.


Windows gets hate because as a desktop OS it's an unreliable user-hostile experience with obvious security vulnerabilities.

Unix gets hate because as a command line OS it's an unreliable user-hostile experience with obvious security vulnerabilities.

They're both examples of worse-is-better, and (mostly) ignore the history of mainframe operating systems with more sophisticated security and reliability and - sometimes - a friendlier shell/UI.


Windows NT and all subsequent Windows versions trace their heritage to VMS.

Had it not been so monolithic, almost excluding all other OS’s I think we would celebrate Windows too.

Unix ultimately won mindshare because it was relatively open. Any technical advantage mattered far less at he end of the day.


The Windows kernel is excellent, the problem is everything that's built on top of it (of course the same could be said about Linux).


My disdain for Windows has nothing to do with that. It comes from trying multiple operating systems. From a development and usability I do not find Windows to be good. From personal usage, IT management and consulting, Internet hosting, and development in full stack, desktop, service, and embedded applications.

Open file locking built in to the OS is not a good feature. Sysadmin days of having to wait and delete an empty folder because Windows Explorer keeps the thumbs.db locked with no other files in the directories. Where UNIX environments let me delete an open file, replace it, or rename it. Nothing like downloading a PDF, having to rename, because it's file name is a GUID. Renaming it based on the PDFs title, in Windows, requires using notepad to type the new file name, close the PDF, and then rename. UNIX removes the need for notepad or a text editor to do this, just rename it while viewing it.

Means to run a service and also have that service run a GUI application as the currently sign in user is simple in Unix where Windows requires a bunch of API hoops to perform. Recommend reviewing Ultra VNC source code it this needs to be done.

Winforms and WPF touch event design is broken. Had to circumvent the API for standard message pump parsing to work around faulty drivers and WPF latching on to UI elements while the fingers have left the screen.

Having hit edge cases where Windows backwards capability breaks with new features. Had to hack a virtual keyboard means to work around. SetForegroudnWindow() brakes with UWP and while operating Windows in tablet mode, needed since main applications run a touch screen without any other physical inputs. This would be BringToFront() in Winforms too. This edge case is not listed in Windows documentation too.

Irony is that Windows 10 in tablet mode has the best All Applications display by utilizing the whole screen versus standard desktop mode with single column infinite scrolling.

The registry just a bad design. No way to recover a corrupt hive unless there is a backup. Where UNIX configuration files are easy to re-construct if they get corrupt. Never had a UNIX system that could not be revived where Windows must be re-installed.

All of this grew out of continual use with using DOS to Win 3.1 to Win 10 and recently trial of the terrible Win 11 regressions. Cannot event place the taskbar at the top of the screen like Windows 95 to Windows 10.

You have to pay me to use Microsoft Windows.


Windows gets hate because it's a de facto monopoly on enterprise computing. Most medium sized business or organizations don't really have much choice but to go with the industry standard. It's natural to feel resentment against an oppressive monopoly. Posix compatibility has nothing to do with it.


iOS is also a UNIX btw ;)


Now try to ship an app using only UNIX apis.


I don't believe that's correct. MacOS has been a certified UNIX for ages, but to my knowledge Apple have never claimed nor sought to have their "smaller" operating systems certified as UNIX.

https://www.opengroup.org/openbrand/register/


By that definition most Linux distros aren't UNIX either though - which is a bit silly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: