5 ms·
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
by ForOldHack 3y ago
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 consider a hammer harmful in itself, if its used to drive nails. Everything needs a tersely named tool is outdated, useful for trouble shooting but outdated UX/UI. We need to continue with our tools, and develop them further, but not with extraneous bells and whistles. ( This bit of wisdom came from a 5th grader, who now has a degree in Political Economics, and I do not understand a single thing he says. ) Read Kernighan's memoir.
- safety1st 3y agoWhat'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 anymore (though I still think the Unix philosophy is a great contender for that). In particular I'm referring to the principles of composability and universal interfaces. These principles make the Unix philosophy inherently democratizing - when you apply it you're producing something that's intended to interoperate with other agents in a diverse ecosystem beyond your control. This is in stark contrast to the monoliths that tend to emerge from proprietary software development where the socioeconomic goals are to control everything strictly and limit interoperability because there's commercial value in having a "moat" or a "walled garden" which people can't escape. As computers become interwoven with our lives and our society the general purpose computer has become a tool like the printing press. The printing press was a precursor for democracy as we know it because it enabled the dissemination of information on a scale that was previously impossible. What sort of social progress we might ultimately achieve through the general purpose computer is yet to be fully determined. But in the modern era we have many examples of what the competing philosophy of proprietary monoliths looks like - it's a hellscape where more your time and attention are harnessed by the monolith's owner, to serve his own ends, even at the detriment of your health and well-being [2]. Facebook and Instagram wouldn't be killing our children if they had been designed around the Unix principles of composability and a universal interface. How many people have lamented their inability to take their data, content and relationships away from Meta's silo? It's a constant refrain in our industry that people wish they could get away from a service that started out great and gradually "enshittified" - had these services been designed with the Unix philosophy in mind, it would be possible. Either way, the Unix philosophy is now just as much about your human freedom and well-being, as it is about whether your code works well. 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." [1] https://en.wikipedia.org/wiki/Unix_philosophy https://en.wikipedia.org/wiki/Unix_philosophy [2] https://jonathanhaidt.substack.com/p/social-media-mental-illness-epidemic https://jonathanhaidt.substack.com/p/social-media-mental-ill...
- enriquto 3y ago> 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-important.html https://www.gnu.org/philosophy/free-software-even-more-impor...
- dale_glass 3y agoThe 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.
- pjmlp 3y agoNot only Microsoft, Powershell ideas can be traced back to Xerox PARC REPLs across Smalltalk, Interlisp-D and Mesa/Cedar, or the keyboard+mouse+REPL from Oberon. Also some influences from AmigaDOS and IBM's REXX.
- lioeters 3y ago> classic old Unix tools communicates with plain text streams. Smarter, new commandline tools tend to provide at least JSON And JSON is plain text. If new tools agree to communicate by passing JSON around, it would be in the spirit of the UNIX principles.