I’ve been thinking recently about how learning PowerShell and Elixir have had an influence on my day job working with C# and was reminded of two quotes from the early Unix days that seem appropriate.
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Doug McIlroy, Inventor of the Unix Pipe
Much of the power of the UNIX operating system comes from a style of program design that makes programs easy to use and, more important, easy to combine with other programs. This style has been called the use of software tools, and depends more on how the programs fit into the programming environment and how they can be used with other programs than on how they are designed internally.
This style was based on the use of tools: using programs separately or in combination to get a job done, rather than doing it by hand, by monolithic self-sufficient subsystems, or by special-purpose, one-time programs.
Brian Kernighan and Rob Pike, Program Design in the Unix Environment