Cshell is punk rock
Bill Joy’s 1978 contribution to UNIX shells is an immature, brash little son-of-a-bitch, and I love it for all that it is.
Cshell is synonymous with ‘don’t use Cshell.’ Every time I look up a ‘howto’ or work-around about it, inevitably, there’s at least one diatribe knocking it down. Cshell is punk rock in this regard; few believe in its merits.
I like Cshell quite bit. It’s from the heyday of BSD, and there’s a certain bombastic nature in the tools that came from this movement. Cshell has this residue for certain.
‘Never script with Cshell,’ they say. Well, there’s SNAFUs galore in this tool, and I’m not going pretend or deny it. Why, just this week, something wasn’t working, and the work-around was clearly mystical in nature.
However, there’s a ton that’s great with this bratty shell:
- It’s lean
- It’s embraced by the OpenBSD folks
- It has arrays (hell ya)
- Scripts can start with the ‘#’ character only
- ‘cshrc’ configuration files read somewhat beautifully
It’s a small list, yes, but my point is there’s some unique goodness to Cshell (not least of which is the first point — I think there’s a chance that a person can actually master this shell, committing all its features to memory. I don’t think I could do that with ‘bash’).
Cshell is probably in the alt-tech category for most modern developers. I don’t think it stands a chance next to the likes of the endlessly featured and popular ‘zsh’ and ‘bash.’
But that’s my point about Cshell. It’s a little punk rocker from yesteryear. One that gets a ton of flak, though I wouldn’t be surprised if eighty per cent of this is just hackers repeating what they’ve heard second-hand.
If you’re into alt-tech, would like to ponder over tools created in a stoked time of programming, or just want to see how ‘bad’ Cshell is, give it a spin sometime. But be careful, you might be one of those people who falls under its spell never to use anything else again! (You’ve been warned.)