2016-02-16

Fish shell design principles

These design principles are a good read. Not necessarily directly applicable to most types of software, but the spirit and direction of thought is broadly relevant across many types of software.

The fish design has three high level goals. These are:

  • Everything that can be done in other shell languages should be possible to do in fish, though fish may rely on external commands in doing so.
  • Fish should be user friendly, but not at the expense of expressiveness. Most tradeoffs between power and ease of use can be avoided with careful design.
  • Whenever possible without breaking the above goals, fish should follow the Posix syntax.

To achieve these high-level goals, the fish design relies on a number of more specific design principles. These are presented below, together with a rationale and a few examples for each.

Link: http://ift.tt/1DUCR4W


Previous post
Testcontainers 1.0.0 release I’ve just released v1.0.0 of Testcontainers, the little library for using Docker containers in JUnit tests. It’s been great to get feedback and
Next post
How to Distribute Binaries for OS X Using Homebrew A good, quick and easy way to distribute OS X binaries using homebrew. Link: http://ift.tt/1PN0cKt