Please enable javascript to use this site.
· OpenID

  1. Hallå Kitteh (clacke@social.heldscal.la)'s status on Saturday, 03-Feb-2018 22:21:17 UTC Hallå Kitteh Hallå Kitteh
    shell + awk + make, three separate domains, three languages that have swollen to largely subsume each other, which means for many operations, There Is More Than One Horrible Way To Do It using this language trifecta.

    And of course:

    > You can write a Lisp in each one

    Here is how people use them:

    > When you see awk in a Makefile, you're seeing three intertwined languages, because make is a macro language that passes command strings literally to /bin/sh.

    > Eighty percent of lines in a typical Makefile are literally shell, or variable assignments that are easily expressed in shell.

    > bash and zsh add associative arrays and regex support to shell, which makes them semantically close to awk.

    > Awk only has floating point arithmetic, and bash only has integer arithmetic.

    So what # # aims to do, is to own the capabilities and domains of all three -- "composition of processes", "streaming computation" and "data-driven, incremental, and parallel computation" -- combined in a not-horrible way.

    https://www.oilshell.org/blog/2016/11/13.html