_______ _ _ _______ __ __ _______ _______ __ _ |______ | | |______ \_/ |_____| |_____| | \ | ______| |_____| | | | | | | | \_|
sf.me > Definitions > UNIX Philosophy
Categories: Software
The UNIX philosophy is a set of norms and methods for minimalist and modular software development. It was originally created by Ken Thompson, and is based on the experience of the leading developers of the UNIX operating system. To summarize it, it says a program should have one feature and do it well. It is much better to have multiple programs that do one thing well each instead of a single program that tries to do many things. This leads to a smaller codebase which is easier to maintain and develop.
The UNIX philosophy is followed by many people to this day. There are many programs which follow it. For example, Zathura, a simple PDF viewer for Linux views PDFs and a few other file formats similar to it extremely well. It is extremely rapid and has a small memory footprint. It also has features that are extremely useful instead of gimmicks that no one would use. It is also easier to maintain as a result of the simple usecase.
The UNIX philosophy is vast. To read more about it, check out this Wikipedia page for more information. It is worth a read. If you would like a shorter read, check out this post on Hackaday.