• erpicht
    link
    fedilink
    22 years ago

    Us people who care about portability see GNU as the limiting thing it is. And we like things following the standards already put in place. Because we don’t give a damn about helping the FSF do their thing: We care about tech. We care about and love the legacy of UNIX, its philosophy, and we want to adhere to it as strictly as possible.

    As much as I also strive for portability and appreciate the UNIX philosophy, it’s not the only consideration for many. Usability comes to mind. I already find it a minor miracle that so many tools are even POSIX compatible. But to the rest, I would imagine that in much the same way Ariadna doesn’t seem to care for the political and philosophical aspect of GNU, GNU doesn’t much seem care to adhere to the legacy and philosophy of UNIX. There just may be a clue hidden in the name…

    And that’s why I hate bash. GNU bash is the C++ of shells. It tries to look like POSIX sh (like C++ tries to look like C), but lures everyone into using lots of non-portable constructs… and making them think “they know shell scripting.” No, you don’t. You just learned a very specific dialect that makes things in a very dubious way.

    This is a poor take on the matter. Is the implication here is that bash should not attempt to look like the POSIX sh while improving upon it? Or that C++ should entirely break with its earlier versions akin to the Python 2 -> Python 3 transition, so as not to look like C any longer? C++ was originally C with classes, so of course it looks like C. But wait, csh looks like C too! Out with it! Additionally, I would think most people who do shell scripting are aware that, whatever the preferred shell, it is not necessarily portable to any other POSIX compliant shell without some changes, but do so anyway because of usability. Do I suddenly not know shell scripting if I write scripts for zsh on Mac? Is the idea that POSIX sh is the one true way of shell scripting? If people boasted to know scripting for all POSIX systems but only knew bash, I would understand this frustration, though that seems an unlikely scenario.

    Despite my minor criticisms of this article, I think it’s well written and thought out.