Live data from Hacker News

Unix is both a technology and an idea

utcc.utoronto.ca

21–30 of 97 posts

Re: Unix is both a technology and an idea

#21

Unix was a couple of guys in an attic. Hack was one guy. Unix was collaborative, personally collaborative between some extraordinary intelligent people. If you read Kernighan's memoir, it talks about the second version problem. Unix solved a problem. GNU solved a problem. Linux solved a problem, and WSL2 solved a problem. Using a hammer to rid your house of ants is a solution, that does not fit the problem. I do not…

What's often lost in a simple review of the history is that in modern times certain elements of the Unix philosophy [1] have become more important than ever. In fact as technology becomes more pervasive I would argue that the ideas it encapsulates are no longer only relevant to computer architecture, they're now relevant to the survival of a free and open society. This isn't just about how to build the best widget an…

> Stallman of course saw this coming decades ago and predicted with disturbing prescience - that "either the user would control the program, or the program would control the user."

Do you have a source for this quote? Best I can find is this text from 2013:

https://www.gnu.org/philosophy/free-software-even-more-impor...

Re: Unix is both a technology and an idea

#22
post #3

Android is a great NEGATIVE example of the Unix philosophy! The code is based on the Linux kernel, which might make you think it's Unix, but isn't Unix [1] An OS is where 3 things meet: code, data, and people. AKA apps, files, and users. AKA CPU, storage, and networking when viewed from hardware (in the old days, you'd have terminals and serial ports, not Internet) I'd argue that (if you take away the historical "hai…

Basically an argument is this:

Android could in the future replace the Linux kernel and libs with their own Fucscia kernel/OS and (aside from some light porting effort for some minor behaviors breaking and affecting very few items) nobody would even know.

That's how non-essential Linux/UNIX/POSIX is to Android.

And that's for the kernel and libs and APIs. When it comes to the philosophy, experience, etc, it's even more remote.

Re: Unix is both a technology and an idea

#23
This article just keeps repeating the two concepts of Unix technology and Unix ideas but doesn't clarify what they mean by either. The links, seemingly complaining about iOS or Android, don't really seem to clarify.

It seems many want Unix technology or ideas to be about what Unix meant in the 70s and 80s and don't have much interest in moving things forward from that plateau. (To be clear, I think all the major operating systems of today leave a lot to be desired, but each one has their own pros and cons.)

Aside from the file system parts, my understanding of the idea of Unix is that it is a bunch of small utilities interacting with each other. I think almost anyone agrees with that idea, see functional programming and node based tools that link up data between dedicated functions and nodes, respectively. This idea is quite pervasive, and I don't think it was necessarily Unix that conceived of it. But in reality, the implementation of this idea in Unix leaves a lot to be desired. The collection of utilities that have very few standards in interfacing, documentation, naming, usability, and more importantly, data structures leaves one wanting. The idea that everything should be text is implicit and highly limiting. This is why programming languages that are somewhat OS-like and have their own scripting are so well liked, becuase it removes the need to worry about the various OSes' implementation of these ideas, leaving one to stay at a virtual machine level. For example, Elixir and the BEAM.

It's typically viewed as blasphamous, but I think the PowerShell model is the more powerful one if we're just considering OS-level provided interactions. But even then, restricting oneself to the terminal is limiting. I find the ideas in Smalltalk to be much more powerful and forward thinking, despite being as old as Unix itself.

Re: Unix is both a technology and an idea

#24
post #12

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…

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.

Re: Unix is both a technology and an idea

#25

I would argue that while Unix the technology is helpful, Unix the idea is now actively harmful. The Unix idea just doesn’t scale well or have the necessary security. It seems we are more and more going to an idea that is even older than Unix - the mainframe. From fault tolerance to distributed computing to security to memory channels our modern architectures are more resembling mainframes than Unix and that is good.…

> “purity” is holding us back and closing our mind to new solutions. Maybe. But consider shebang. It means that any program (/script) written in any language known by the system can call any other program written in any other language. That keeps open the option of which laguage should we use for our next module. Right?

That's an constrained example of the general concept of a file-association (having a file plus the info of what application executes that file).

As such, it predates UNIX, exist in other OSes as well, and can be even more dynamic (as shebangs are hardcoded into the file, where file + executable associations could be external).

Linux offers another way anyway: linux_binfmt

If I'm not mistaken that's also how jar files can be executed by themselves without calling java on them.

Re: Unix is both a technology and an idea

#26

Unix was a couple of guys in an attic. Hack was one guy. Unix was collaborative, personally collaborative between some extraordinary intelligent people. If you read Kernighan's memoir, it talks about the second version problem. Unix solved a problem. GNU solved a problem. Linux solved a problem, and WSL2 solved a problem. Using a hammer to rid your house of ants is a solution, that does not fit the problem. I do not…

What's often lost in a simple review of the history is that in modern times certain elements of the Unix philosophy [1] have become more important than ever. In fact as technology becomes more pervasive I would argue that the ideas it encapsulates are no longer only relevant to computer architecture, they're now relevant to the survival of a free and open society. This isn't just about how to build the best widget an…

The principles are good, the implementation sadly is not.

Plain data streams have outstayed their welcome. Pretty much nothing but the classic old Unix tools communicates with plain text streams. Smarter, new commandline tools tend to provide at least JSON, but there's plenty that don't and that makes them absolutely painful to reuse. I've written large amounts of code that amount to running a process, parsing its output, and then translating that to the actual API I want: methods and events. Basically all that work is a waste that doesn't actually get what I want done.

Of all things, Microsoft had a better idea with Powershell: it does the same concept, but far better.

The internet has seen something similar: a huge amount of users take a TCP socket and proceed to build an improvised messaging protocol on top, because that actually fulfills the needs of many applications far better, yet the API doesn't actually provide it.

IMO, there's been too much Unix philosophy worship. We've stuck to an early, simple idea and on the long term it's a huge detriment. Since it's so lacking, everyone builds their proprietary hacks on top.

Re: Unix is both a technology and an idea

#28
post #23

This article just keeps repeating the two concepts of Unix technology and Unix ideas but doesn't clarify what they mean by either. The links, seemingly complaining about iOS or Android, don't really seem to clarify. It seems many want Unix technology or ideas to be about what Unix meant in the 70s and 80s and don't have much interest in moving things forward from that plateau. (To be clear, I think all the major oper…

The communal spirit of Unix as described by Ritchie back in the day revolves around minicomputers (aka PDP-11) shared in a single organisation, accessible via multiple terminals. A close community of users would log into the system and would eventually come up with their own small tools for a particular purpose. Those oddly-named tools would be adopted by the small community without need for extensive documentation. This is the "Unix spirit" of the 1970s that everyone seems to be referring to.

Re: Unix is both a technology and an idea

#29
post #23

This article just keeps repeating the two concepts of Unix technology and Unix ideas but doesn't clarify what they mean by either. The links, seemingly complaining about iOS or Android, don't really seem to clarify. It seems many want Unix technology or ideas to be about what Unix meant in the 70s and 80s and don't have much interest in moving things forward from that plateau. (To be clear, I think all the major oper…

I agree, PowerShell does the same thing better.

And I'm disappointed that things have stagnated so much. I mean, cool, a commandline is an useful concept that sometimes fits a given task excellently well. But why in the hell are we still emulating a VT100? How is a modern Linux console sticking to a 50 year old level of functionality?

And why are we scripting in something as painful as Bash?

Re: Unix is both a technology and an idea

#30
post #24
post #12

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…

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 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.

Post reply on HN