Unix History Slideshow

“We were introduced to the Unix philosophy of software development:

  • Make each program do one thing well.
    To do a new job, build afresh rather than complicate old programs by adding new “features”.
  • Write programs to handle text streams, because that is a universal interface.
  • Treat a tool’s output as an API.
    In much the same way that you treat a class interface as an API; changing it might break others’ usage of your software! A stable API makes for long-lived software. Write programs to work together.”