Live data from Hacker News

The Collapse of the Unix Philosophy

kukuruku.co

311–320 of 616 posts

Re: The Collapse of the Unix Philosophy

#311

I've always wondered why a new open-source OS has not arisen to claim the mantle of UNIX / Linux. There are so many ancient design decisions, piled up upon each other, which spawn millions of man-hours of frustration. It continues perhaps because of its esoteric nature. People don't want to throw away all the weird stuff they've learnt.

And also, because backwards compatibility matters once something is deployed on as large scale as Unix was.

(Windows also has a similar problem.)

Re: The Collapse of the Unix Philosophy

#312
post #237

Earlier quoted context omitted.

You could say the same about "mv". Move what? Files? File names? File parts? Users? Machines? Screens? There's always some default subject implied for every command name. For "find" it is files, for "search" it could have been text.

> You could say the same about "mv". Move what? Files? File names? File parts? Users? Machines? Screens? Files, the base type that's consistent across all the basic commands (AFAIK).

It depends on what you mean by "basic command". There are plenty which take arguments that aren't files - chown, chgrp and su, for example.

Re: The Collapse of the Unix Philosophy

#313

Most of the author's criticisms around the Unix Philosophy™ (aside from perhaps the performance aspect) would be solvable in two steps: 1) Standardize on some structured text serialization format (I like YAML for this) 2) Write a new shell Both of these things are compatible with the Unix Philosophy™, and thus said Philosophy is nowhere near collapse. Rusty around the edges, sure, and maybe with some asbestos in the…

2) I'm writing a new shell! http://www.oilshell.org/blog/

1) This is an appealing idea, but my claim is that there's no single serialization format that will work. (Or if there is one, it has yet to be invented.) More detail here:

https://www.reddit.com/r/oilshell/comments/5x5rgg/pipes_in_p...

There's nothing stopping anyone from using structured data over pipes, but I think it's a mistake to assume there will be or needs to be a "standard".

3) I agree that JSON over HTTP is very much in the vein of Unix. The REST architecture has a very large overlap with the Unix philosophy -- in particular, everything is a hierarchical namespace, and you have a limited number of verbs (GET / POST vs. read() / write() ).

Re: The Collapse of the Unix Philosophy

#314
post #218

Earlier quoted context omitted.

There simply is no good reason. I have had this discussion, and there is a group of people who consider it "unclean" to rule out any characters. There is an excellent discussion of the topic[0]. I find it utterly definitive in the way it relentlessly shows how you can't "fix" this issue completely any other way than by ruling out the bad characters by making the kernel disallow them. [0] https://www.dwheeler.com/essa…

Ruling out "bad" characters is bound to affect internationalization negatively. IMO the best approach would be to separate between file name and the file object. When I edit a file with vim, should vim really need to know the name of the file? No. Likewise for a lot of other utilities as well. If instead of being so focused on file names and paths everywhere and we operated instead mainly on inodes then I think much…

"Bad" characters in this context is control characters. So no, it would not affect internationalization at all.

Re: The Collapse of the Unix Philosophy

#315
post #276

Earlier quoted context omitted.

One of the nice thing about indenting with actual tab characters is that you separate the notion of 'indentation' from the actual indentation. I set my tab stops to 4 which tightens the code, others set it to 8, still others set it to 2. If the code has tab characters it just works, if the code has spaces there is no way to have your most comfortable indentation level be used.

Yes, yes, yes. I'm saddened that tabs have essentially 'lost' - they seem to me in every way superior to spaces, but I would never use them in a new project simply because it would be likely to throw off others, and perhaps tooling. Github, for example, does not play nicely.

The proper way is tabs to the point of indent, and spaces thereafter. Even Github will work if you do that.

Re: The Collapse of the Unix Philosophy

#317
The links between ideology, communism, negative thinking, and UNIX run deep. It has been said that UNIX is the only operating system that grows on you. The ability of UNIX to tolerate negative thinking and poorly-behaved programs is its strength.

Please note that the Google result for "UNIX philosophy" names a GOOGLE EMPLOYEE as the "originator of unix philosophy" without disclosing the conflict of interest. This not only evil but very stupid. When multibillion dollar companies get involved in altering history, watch out.

Re: The Collapse of the Unix Philosophy

#318

Earlier quoted context omitted.

Occasionally when I run out of analogies for why convoluted systems are not 'flexible', I reach for a half-remembered homage, that I encountered as a teenager, about the Chevy Straight 6. This was not a fancy engine. It was not a particularly powerful engine. Not a single thing on it or about it was exceptional. Because it was easy to work on and with add-ons and modifications it could be coaxed into doing things it…

The single most disastrous failing of UNIX is the assumption that everyone wants to be a programmer - or if they don't want to be a programmer, they damn well should become a programmer anyway. It's nonsense. Programming as it's done today - which is strongly influenced by UNIX ideas - is the last thing most users want to do. They have absolutely no interest in the concepts, the ideas, the assumptions, the mindset, t…

I agree with a lot of what you wrote. It's true that there is a "keep it for the elite" mindset in the back of many programmers' mind. For years at forums I've seen that while I tried hard to explain basic concepts to newbies, others were happier with the RTFM answer.

Still I'm not so sure that UNIX (or programmers) is the source of it. I started with DOS (later Windows) and TP (later Delphi) so please don't think I'm biased here.

I have recently bought an Acer convertible for my mother with Windows 10 and so I'm getting a reality check on the sad state of computer usability in 2017. Teaching her to use an Android phone was difficult, but this is not better.

IMHO the reason of user-hostility is not some guild mindset, it's just that computer adoption is needed much faster than the time it would take to develop decent GUIs. The RTFM knee-jerk reaction comes later from people with some deep insecurities and not much imagination.

Totally agree on that UNIX is also a sort of walled garden. I'd say the same thing about GPL'd ecosystem, in this case for license issues.

Re: The Collapse of the Unix Philosophy

#319
post #123

Earlier quoted context omitted.

UNIX and C are symbiotic, regardless of whatever runs on top, only POSIX and C are common to any UNIX. Windows roots are on VMS, not UNIX. There is hardly anything UNIX related on its architecture, regarding kernel design.

It was an OpenVMS derivative wiyh code copied or clean-slated against a modified form of its behavior. However, I heard the networking stack was from BSD.

The IP stack is. There's even still an etc/ directory buried in the Windows tree to support it.

Re: The Collapse of the Unix Philosophy

#320

Earlier quoted context omitted.

Suggesting that Unix has been continuing just by inertia doesn't explain why Apple adopted Unix for macOS or why most newer computers nowadays run a Unix OS.

Intiertia among developers. Also since when is Apple know for their software architectural decision-making lol.

Apple didn't make that decision; NeXT did.
Post reply on HN