wiki/notebook/literature.greenbergUnixShellProgramming2021.org
Gabriel Arazas 507f9b5ba1 Add literature references
- Code Staging in GNU Guix
- Unix shell programming: the next 50 years
2022-06-11 18:23:35 +08:00

1.6 KiB

Unix shell programming: the next 50 years

  • Unix shell is a long-standing tool with its cruft and history built over the past decades;
  • the goodies

    • ease of composition gluing tools together easily
    • mostly found on Unix systems
    • capabilities for data streaming
    • interactivity and automation
  • the blockers

    • too dynamic with its environment that
    • ease of composition of tools made of different programming languages with different properties made it difficult for research
    • there's no single shell environment; the current ecosystem is made of multiple implementation of the POSIX shell which is made of ~300pp describing the language, arbitrary behaviors, and extraneous tools to go along with it
  • the solvable blockers

    • no easy way to handle errors; it can mean the life or death of a system with a misspelling
    • not-so-good framework for asynchronous jobs; performance is acceptable for single-threaded systems but not for multi-threaded ones; that said, it does exist once you've made yourself familiar with it
    • redudant computation; several tools like roam:GNU Make does address it but not fully
    • not exactly fitting with the modern deployment systems
  • some projects to look forward to

    • Jash
    • Smoosh
    • Posh and Pash