← Back to context

Comment by agentdrek

10 hours ago

It should be a lesson to learn on how simple, logical and reliable tools can last decades.

Bash syntax is anything but simple or logical. Just look at the insane if-statement syntax. Or how the choice of quotes fundamentally changes behavior. Argument parsing, looping, the list goes on.

  • if statements are pretty simple

    if $command; then <thing> else <thing> fi

    You may be complaining about the syntax for the test command specifically or bash’s [[ builtin

    Also the choice of quotes changing behavior is a thing in:

    1. JavaScript/typescript 2. Python 3. C/C++ 4. Rust

    In some cases it’s the same difference, eg: string interpolation in JavaScript with backticks

    • > Also the choice of quotes changing behavior is a thing in:

      In those languages they change what's contained in the string. Not how many strings you get. Or what the strings from that string look like. ($@ being an extreme example)

      1 reply →

It's more like how the need for backwards compatibility prevents bad interfaces from ever getting improved.