Live data from Hacker News

The Unix Philosophy

catb.org

41–50 of 269 posts

Re: The Unix Philosophy

#41
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…

The rule of composition is an important counterpoint to the rule of diversity. Unix's most important feature is treating everything as a file. That interface allows a lot of freedom in composition, but every process has to conform to exactly the same interface. Perhaps not surprisingly, TCP's stream-based interface has also allowed a great deal of freedom in composition in networks.

Re: The Unix Philosophy

#42
post #35

the rule of separation makes me wonder if the long term legacy of Wayland will be as a hardware accelerated backend for X.

X as a protocol is long gone. Direct memory access, kernel drivers etc are not really compatible with network protocol. Wayland is just streamlining and formalizing current situation.

At my old job (which I left about ten days ago) I ran X servers and clients on different machines daily. Typical example was running my IDE on my desktop, connected to an X server running on my laptop.

Re: The Unix Philosophy

#43
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…

> does the python rule "There should be one-- and preferably only one --obvious way to do it." contradict this one ? The irony is that Python has more ways of doing things in general and often the choice is very much non-obvious, compared to a language like Ruby which is supposedly embracing TIMTOWTDI. In other words, that Python rule doesn't match reality and I've always found it funny.

Is it the Python language or the Python ecosystem you are referring to?

The statement in question is from The Zen of Python and is more of a guiding principle for the design of Python than a rule.

The usual observation with Python is that it can have many libraries and frameworks which are quite similar and choosing one can be hard (e.g. web frameworks). This is a function of popularity and not something which can fairly be subject to that principle.

On a different note: missing is the Zen of Python's following line:

  Although that way may not be obvious at first unless you're Dutch.

Re: The Unix Philosophy

#44
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…

Rob Pike doesn't know Smalltalk, Self, or Common Lisp/CLOS--why should you care what his opinions are concerning OO as a paradigm?

Most developers touting OOP don't know those languages; so why should we care what their opinions are concerning OOP as a paradigm.

If you exclude one person because they disagree with X and don't know Y, then you must equally disregard all who agree with and disagree with X, because they don't know Y. Otherwise you're just cherrypicking :)

Re: The Unix Philosophy

#45
post #11

Earlier quoted context omitted.

Among other unpopular opinions, ESR denies AGW, believes that race and IQ are correlated, and was strongly in favor of the Iraq war.

None of these seem even remotely relevant to engineering. Moreover, research, discovery and innovation requires letting people having freedom to think. That includes holding unpopular, controversial or politically incorrect opinions. We are so worried about Evil Government dictating what we can and cannot think that we haven't noticed the current organic trend to prosecute every other person for thoughtcrimes. It's n…

You have the freedom to think........ what the hive mind whats you to think.

Re: The Unix Philosophy

#46
post #9

Earlier quoted context omitted.

Out of interest, what are these political views that are so terrible that they should influence our views of his thoughts on operating system design? Edit: I really don't have any idea what they are...

He's pro 'gun-rights'.

What's wrong with this? Being completely serious here, what is wrong with citizens owning firearms?

I am all about reducing gun violence, but if you want to do that you have to do something to stem the tide of illegally acquired handguns in areas of concentrated poverty. That's where a lot of your gun violence comes from.

The recent happenings in Charleston are unicorns. Unpredictable and very rare events that you can't actually make a special law for, without the G-men physically going to every household in America and confiscating firearms. That is a policy I assure you you don't actually want.

Re: The Unix Philosophy

#47
post #11

Earlier quoted context omitted.

Among other unpopular opinions, ESR denies AGW, believes that race and IQ are correlated, and was strongly in favor of the Iraq war.

None of these seem even remotely relevant to engineering. Moreover, research, discovery and innovation requires letting people having freedom to think. That includes holding unpopular, controversial or politically incorrect opinions. We are so worried about Evil Government dictating what we can and cannot think that we haven't noticed the current organic trend to prosecute every other person for thoughtcrimes. It's n…

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 frames which no longer fit.

My own work and research of the past several years puts a very high significance on both frames (or more generally, models), and on the psychology of interacting with those, with strong emphasis on denial in various forms.

ESR's political views call much of his work into question. I say that as someone who was strongly influenced by much of what he said, and enjoyed a fair bit of it. He's become a tremendous disappointment.

TAOUP has its merits. It's rather like recommending Ted Kaczynski's Manifesto a a social-technological critique. It's got some really solid points (see what Bill Joy's had to say on it: http://archive.wired.com/wired/archive/8.04/joy.html). But damned if the rest of the author's views and actions don't muddy the waters a tad.

Re: The Unix Philosophy

#48
When making a microservice application you have to choose between a text (JSON) or binary (Thrift) interface. You cloud argue that the unix way is to make it JSON until it becomes a performance problem.

Re: The Unix Philosophy

#49

Earlier quoted context omitted.

> does the python rule "There should be one-- and preferably only one --obvious way to do it." contradict this one ? The irony is that Python has more ways of doing things in general and often the choice is very much non-obvious, compared to a language like Ruby which is supposedly embracing TIMTOWTDI. In other words, that Python rule doesn't match reality and I've always found it funny.

Is it the Python language or the Python ecosystem you are referring to? The statement in question is from The Zen of Python and is more of a guiding principle for the design of Python than a rule. The usual observation with Python is that it can have many libraries and frameworks which are quite similar and choosing one can be hard (e.g. web frameworks). This is a function of popularity and not something which can fa…

It's both the language and the ecosystem.

The language itself is a prime example of a language with features that aren't orthogonal. For example count how many features in Python are solved in other languages just with proper support for anonymous functions.

Re: The Unix Philosophy

#50
>Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.

Which means that no program is more un-UNIX-y than Emacs...

Post reply on HN