Live data from Hacker News

The Unix Philosophy

catb.org

101–110 of 269 posts

Re: The Unix Philosophy

#101
post #96

I keep wondering about what seems to be the most important component of Unix philosophy: write many small programs that do one thing well and interface using text streams! Yes, modularity is important. However, in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. I think Unix philosophy is stru…

> in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. Pretty much, just as Booch's philosophy has given us tangled messes of class hierarchies with cross references pointed every which way. And just as The Gang of Four gave us AbstractedTangleMessFactorySingleton. The distinction with the Unix…

Additionally, it's not a religion. Every programmer should be exposed to Unix style programming just like every programmer should be exposed to functional programming. 100% purity in either case is just creating unnecessary problems.

Re: The Unix Philosophy

#102
post #96

I keep wondering about what seems to be the most important component of Unix philosophy: write many small programs that do one thing well and interface using text streams! Yes, modularity is important. However, in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. I think Unix philosophy is stru…

> in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. Pretty much, just as Booch's philosophy has given us tangled messes of class hierarchies with cross references pointed every which way. And just as The Gang of Four gave us AbstractedTangleMessFactorySingleton. The distinction with the Unix…

> And just as The Gang of Four gave us AbstractedTangleMessFactorySingleton.

Hey, not funny. I actually googled that pattern just to make sure it was a joke.

Re: The Unix Philosophy

#103
post #69

Earlier quoted context omitted.

http://www.cbsnews.com/news/copenhagen-cafe-attack-free-spee... https://en.wikipedia.org/wiki/Anders_Behring_Breivik https://en.wikipedia.org/wiki/Charlie_Hebdo_shooting

so you are saying there is a correlation between guns-per-capita and gun-deaths-per-capita?

No, I'm (foolishly) responding to an Onion article of all things. The claim is being made that the U.S. is the only place where mass killings with firearms happen. I'm merely stating this isn't true.

Re: The Unix Philosophy

#104

I keep wondering about what seems to be the most important component of Unix philosophy: write many small programs that do one thing well and interface using text streams! Yes, modularity is important. However, in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. I think Unix philosophy is stru…

Recently I've been exploring the idea that small programs should consist of two parts; a "backend" that you can communicate with via a strict message protocol like protobuf. It can handle multiple requests because it is a mini server, the message format is locked to a "type" and you communicate with it via RPC. The second part is a "frontend", a command-line client that does all the unixy stuff with text streams etc;…

Incidentally, this is what neovim does.[1]

[1]: http://neovim.io/doc/user/msgpack_rpc.html#msgpack-rpc

Re: The Unix Philosophy

#105

People will hang shit on ESR, but The Art of Unix Programming is one of my all time favourite books. If you haven't read it, even if you're not a *nix developer, do yourself a favour and just skim the table of contents... something may pique your interest and you may learn a thing or two. It's also free online: http://www.catb.org/esr/writings/taoup/html/

It's a really great read and did a lot to inform my approach to writing all kinds of software. It's a shame that I cringe to recommend in now due to the politics of its author.

Personally I found it disappointing as it seemed to take the view that the only UNIX in existence since 1992 has been Linux.

A better title would have been the Art of Linux Programming or the Art of Open Source Programming.

Re: The Unix Philosophy

#106

I keep wondering about what seems to be the most important component of Unix philosophy: write many small programs that do one thing well and interface using text streams! Yes, modularity is important. However, in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. I think Unix philosophy is stru…

For a while, Linux mostly had the philosophy that your software should come with a text interface, optionally a GUI, and a C library. That library part is for solving the messes created by tangled text interfaces.

But nowadays lots of things only come for the GUI.

Re: The Unix Philosophy

#107

Earlier quoted context omitted.

ESR's views particularly on guns, libertarian economics and politics, and AGW, all present pretty standard cases of assuming a frame and fitting all data to that frame. Chopping, discarding, and/or fabricating data as necessary to do so. That actually directly calls into question engineering validity, as solid engineering is solidly based in reality and a realistic interpretation of facts. Also the ability to discard…

...but his positions... His making up shit (or buying in to others' made-up shit) to justify them does, as does his ignoring contradictory evidence and record.. Which questions about what work? The problem is one of an unreliable narrator. If you cannot trust someone's judgement, and they spew crap, repeatedly, then the odds that they're blowing smoke elsewhere increase. It's the same reason that lawyers seek to impu…

I can't help but notice you managed to write something approximating the length of a short essay without once pointing out any "bullshit" in ESR's technical writing, let alone explaining how said "bullshit" must derive from his wrongthink.

Re: The Unix Philosophy

#108
post #13

This should be taught in any programming class. > Rule of Diversity: Distrust all claims for “one true way”. Although, does the python rule "There should be one-- and preferably only one --obvious way to do it." contradict this one ? > Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are ce…

> Although, does the python rule "There should be one-- and preferably only one --obvious way to do it." contradict this one ?

Nope, that's a design guideline, it's not taking choice away. A rule like "Python is the only language you'd ever need" would contradict it.

Re: The Unix Philosophy

#109
post #100

Earlier quoted context omitted.

>I wonder what rob pike has to say about OOP or java, I wish I could listen to it. “object-oriented design is the roman numerals of computing.” - Rob Pike ( http://harmful.cat-v.org/software/OO_programming/ ) Some other gems from that page: “Object-oriented programming is an exceptionally bad idea which could only have originated in California.” – Edsger Dijkstra “The phrase "object-oriented” means a lot of things. H…

I would love to throw those quote at any programming class that promotes OOP.

They're only relevant for Simula-like class-based OO. Message passing OO is actually a good and criminally underrated paradigm.

Re: The Unix Philosophy

#110
post #13

This should be taught in any programming class. > Rule of Diversity: Distrust all claims for “one true way”. Although, does the python rule "There should be one-- and preferably only one --obvious way to do it." contradict this one ? > Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are ce…

I think you'll find your answer to the Rob Pike question by using The 'Go' Programming Language
Post reply on HN