6 ms·
Shell scripting isn't "archaic nonsense" at all, it's just that the warts from how most shells implement their command language (ksh/bash/POSIX sh) are holding
by uselessdguy 12y ago
Shell scripting isn't "archaic nonsense" at all, it's just that the warts from how most shells implement their command language (ksh/bash/POSIX sh) are holding us back. If you go look at Plan 9 rc shell scripts, you'll see how much cleaner they are. In addition, the s6 people have done some interesting things with execline (which looks kind of like Tcl), which works as a chain loader instead of holding the shell resident, has a simple parser and is performant: http://skarnet.org/software/execline/ http://skarnet.org/software/execline/
The more I realize all the untapped potential lying around, the more I realize how so many Linux users are living in their monoculture. Unfortunately there is no one there to amplify all the good efforts and hidden gems scattered all over the place, so you have people just reading Phoronix and LWN articles and standing in their bubble. Meanwhile, all the non-Linux Unices and the "toy project" builders are doing great things, but everyone thinks they're irrelevant and dying.
- killnine 12y agoI wish I could up-vote this more than once. +1 for the bash comments +1 for the toy projects Anyone remember how Linux got started?
- zokier 12y ago> The more I realize all the untapped potential lying around, the more I realize how so many Linux users are living in their monoculture. Unfortunately there is no one there to amplify all the good efforts and hidden gems scattered all over the place, so you have people just reading Phoronix and LWN articles and standing in their bubble. Meanwhile, all the non-Linux Unices and the "toy project" builders are doing great things, but everyone thinks they're irrelevant and dying. This is one of the main reasons I approve of systemd. It is something completely new fighting against the old entrenched cruft. End result might be good, might be bad, but at least it is activity instead of sedateness. For all bad things that could be said about Poettering, at least he has ideas and the confidence to execute on them.
- jimktrains2 12y ago> This is one of the main reasons I approve of systemd. It is something completely new fighting against the old entrenched cruft. Most people aren't anti-systemd because it's new, but because it doesn't conform to their philosophy of how their computer should run. There could be newer init systems that conform to their ideals, but systemd is not one of them.
- chc 12y agoCould there be, or are there? Because it is entirely possible that their philosophy is too rigid to permit a system that is substantially different from what exists now, in which case "They're against it because it's new" seems like a fair assessment.
- pessimizer 12y agoAre you arguing that it may me that all objectors to systemd would be dissatisfied with all possible init systems different than what exists now?
- chc 12y agoI'm arguing that "It doesn't agree with their philosophy" is not incompatible with "They don't like it because it's new." It's not uncommon for people to build personal philosophies that work out to "change is bad."
- zokier 12y agoImportant note: I said I approve, not like, systemd. It is an important distinction, because I like that there is activity even though I might not be such fan of the software itself. This is in contrast to (some) anti-systemd people who seem to be opposed to the very existence of systemd.
- hyperpape 12y agoBy Plan9 rc scripts, do you mean specific scripts that the OS used, or do you just mean rc as opposed to sh/bsh/ksh?
- qznc 12y agoThis execline looks interesting. I use the fish shell, which also abandons POSIX compatibility for simpler parsing. Of course, the "this is not UNIXy" cries are plenty.
- hollerith 12y ago>If you go look at Plan 9 rc shell scripts, you'll see how much cleaner they are. I used rc as my interactive shell and for very light shell scripting for over 10 years, and I consider it only slight better than the other Unix shells. In fact, the fact that rc's rules for escaping (quoting) characters like hash and space are incompatible with Emacs's shell mode's file-name completion was enough to cancel out any benefit I have derived from the relative "cleanness" of rc. the (minor) advantages of rc for me: not having to remember the more complex quoting rules of bash, etc. unlike with bash, etc, no part of an rc commandline is ever interpreted twice except for when the double-interpretation is caused by an explicit use of the "backquote" (eval and substitute) operator. I know this is just my subjective opinion, but I find Unix shells, including rc, inferior to almost any other programming language. I always got a little sad when I needed to write anything requiring an if statement or anything but the simplest loop in rc (or any other Unix shell). I have come to realize that I would much, much rather write such things in Emacs Lisp -- and have transitioned to doing so. (The start-up time of Emacs --batch is fast enough on modern hardware not to be an impediment.)