There are basically two ways to look at the fact that we're still using many of the same command line tools today that originated on UNIX of around half a century ago:

1) Serious stagnation
2) Ken and Dennis and the rest of the gang in the Bell Labs MH1127 lab, etc. got it right

L

@lauren the longer I live (and the existence of the Unix Hater's Handbook aside), the more I believe in 2

@eigen @lauren The Unix Haters Handbook is mostly the X11 and csh haters handbook. And nobody has bothered to do a Windows Haters Handbook (or VMS or z/OS).

Although there are some less than ideal parts of Unix, many of which were fixed in Plan9. And cdecl is a lifesaver whenever I'm writing C.

@PeterLudemann @eigen No JCL Haters Handbook either AFAIK. And yeah, JCL is still in use.

//SYSIN DD DUMMY

@lauren @eigen Despite REXX being able to do anything that JCL does (and much much more). I still have nightmares about the thousands of lines of assembler I wrote to work around deficiencies in OS/370 and JCL (if you have C code that runs on mainframes and opens files by name (instead of by ddname), you can thank me).
@PeterLudemann @eigen I never needed to work in the 370 ecosystem, but I dealt with the 360/91 ecosystem at UCLA in parallel with my work on UNIX in the ARPANET lab. Of course most people on campus had no idea the latter existed, and given sentiments at the time we didn't really advertise that DOD effort. During the period I was at RAND they primarily used a 370, but I didn't have much direct interaction with that since I was running the UNIX 11's in the basement that serviced the information sciences folks. However, on that day at RAND when one of the 11's started filling my machine room with smoke and I pressed The Big Red Button That Is Never To Be Pressed, that instantly took down everything in my machine room (including the ARPANET IMP/TIP in there) and apparently some of the 370 drives that were in an adjacent basement room, so the 370 team was definitely interested in that. Management was actually pleased I acted when I did, since apparently if I had been even a few seconds later the Halon would have fired and that would have been a real mess.
@lauren
The university mainframe had some PDP-11 frontend communication controllers (the less said about IBM's 3705, the better). One day, the DEC repairman came in to fix one of the PDP-11s, hooked up his oscilloscope, and the mainframe went dark. It turned out that there was a floating ground and when the oscilloscope was used, it connected the floating ground to the real ground and blew the fuses (and some other things - there was probably smoke from the oscilloscope and/or the PDP-11).
@eigen
@PeterLudemann @eigen So at RAND one day I figured out that some random crashes of one of the two 11s (very upsetting to the users and making a lot of work for me to fix things in that pre-fsck era), was due to static discharge. Under certain conditions, just touching the control panel could do it. I told my manager and he didn't believe me. He came down to the machine room and told me to "prove it". So I did.
@lauren could it be that not everything needs to be improved?
@AtanasE @lauren Nononono, everything *must* be improved! That’s why we have iOS 26.
@lauren The BSD-versions are generally better than the GNU versions so I'll take #2 for 500, Alex

@lauren

Small simple tools that each do one thing and do it well. The standard Unix tool library is exactly this.

And I don't want to get political here, but for exactly that reason, I'm not a systemd fan, although it's becoming pretty impossible to avoid on most distros I would use. Especially problematic given that I'm starting to read that systemd has now almost certainly been 'infected' by AI crap.

@lauren 3. they're enshitification-proof

@tobiaspatton @lauren

That's more a cultural thing from the free software/source access side that we don't have things like

tar -xJ foo.tar.xz
tar: xz is a premium plan feature, please upgrade your subscription to a GNU Pro subscription to use this feature.

And if you think you can't enshittify standard Unix tools I suggest you try installing an HP/UX box or some others where all sorts of tools are in other add on packs.

@etchedpixels @tobiaspatton @lauren I remember the first time I touched an AIX machine and tried to run the C compiler - no license seat available. wtf?

@lauren I think we can credit this to core UNIX philosophy (your point #2):

- Write programs that do one thing and do it well.
- Write programs to work together.
- Write programs to handle text streams, because that is a universal interface.

@SharpCheddarGoblin @lauren #Powershell embraced, but extended those patterns to piping of Objects (emitted and consumed by cmdlets) to be superior to piping text. It minimizes some of the need for tools like sed, awk, grep.
@DoctorDNS @lauren I'd dispute the "superior" claim there. And when it comes to capitalism, there's always the aspiration to "extinguish" after the "embrace and extend".
@SharpCheddarGoblin @lauren from an it pro perspective, object piping is better than text. With text, you need to parse it. I suck at regular expressions and don't know awk and sed. With objects, you know what you are getting, avoiding the parsing. Unix and it's Shells did all the heavy lifting conceptually. We just improved it a bit to suit the audience.

@lauren

I continue to be amazed daily at the tricks you can do in sh.

"Look at this python program I wrote to do the thing!"
"Why didn't you just [14 characters of sh gibberish]?"

@tbortels @lauren I converted the original Bourne shell to ANSI C for Fuzix. It's scary, I don't think anyone actually knows how it behaves in all cases
@etchedpixels @tbortels @lauren Solaris has entered the with no C compiler.

@tbortels @lauren
The difference between Magic and Sorcery.

...it bugs me that I can't stop thinking that it should be "[ 14 characters of sh gibberish ]", 'cuz of the square brackets. -_-:

@tbortels @lauren

Why didn't you just... [ten sets of nested parentheses] (you know who you are).

@lauren I don't think they got it "right" as much as they got it "right enough" - to the point where the effort to transition to a better set of tools would not be worth the benefit.
cf. Neal Stephenson's thesis about the reasons for "Innovation Starvation"

3) terrible, but better than anything else that’s been tried (as said of democracy?)

4) perfectly fitted to the UNIX file and process system, which were the mistake

I like them, am more 3 than 4. Still, I bet the rewards of simplifying/systematizing all the flags would be immense after an immense incompatibility hit.

@lauren

@lauren I will say that the GNU userland brings enormous improvements IMO, but otherwise #2 all the way. The GNU userland basically layers a myriad of quality-of-life improvements over the same fundamental toolkit, and the toolkit itself was sound.
@marsroverdriver Given the tug-of-war over UNIX that occurred way back when, I migrated my systems from UNIX to Linux as the latter became more full-featured. In general I've found the GNU userland to be a significant improvement, but I would not claim that it moved things in a direction that would be beneficial for most non-techie use. And there's an undercurrent of you-know-who's philosophy in there that sometimes makes things overly complex.

@lauren @marsroverdriver as for your question in the original post, I think both can be true.

Also, for a long time there was no desire to make things actually better, and with the era of object oriented design, people were very confused about what was actually better for the user; hence Powershell.

These days, people still generally misunderstand what makes Unix tools good, but at least colour is a thing now (if only terminfo was actually good so people wouldn't hardcode escape sequences, but I guess one can't ask for everything).

@lauren (2). Pinpoint a specific task, do that well and the rest is a matter of pipes, building filters.
@lauren Reminds me of when Apple was labeling apps as "abandoned" and removing them from the app store if they didn't receive updates in a certain amount of time, and people objected "The word for that isn't 'abandoned', it's 'stable'"
@lauren Probably a combination; I'd say there are some clear improvements that could be made, but the value of not breaking a Pretty Darn Good Standard has not yet made them seem worthwhile.

@lauren
3. Culture.

Culture is not stagnation

@lauren @cstross I'd like to offer a third alternative: "if it works well enough, change is expensive compared to doing nothing."
@lauren id like to think #Powershell is a continuation of that legacy.