, and Composability 17.3 THE VIRAL NATURE OF UNIX AND C Many key software and standards concepts came from the development of UNIX and C in the early 1970s. Given their prevalence today and the prevalence of their direct descendants, like LINUX and C++, it begs the question-what is the secret behind their success? More than the technology itself, the culture and philosophy around the technology is what helped make UNIX and C SO ubiquitous. Their longevity and survivability can be traced to their viral characteristics, especially simplicity and community. Ken Thompson and Dennis Ritchie of AT&T Bell Labs created UNIX and C in 1969. At its core, the combination of UNIX and C was intended to be simple, support more than one user, and serve as a comfortable environment for developers, especially as a community. Today's essential notions of agile refactoring, parallelism, and developer enablement can be seen as being derived from this approach and form a foundational building block for modern software development. Doug McIllroy, a researcher, programmer, and UNIX contributor at AT&T Bell Labs, further characterizes the Unix philosophy, "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" [3]. This core UNIX philosophy of pipelining tools and ensuring all such tools act as filters of clear text, leads to modern concepts like composability and from that, modularity. These concepts in turn foretell modern methods like microservices and on to simple, clear interfaces between programs such as RESTful APIs and JSON, which act as a universal form of remote procedure calls (RPC). This same "simple and modular with clear, clean interfaces" philosophy has been used as the basis for building even more complex systems [4]. Another UNIX philosophy is expressed by McIllroy. "Design and build software, even operat- ing systems, to be tried early, ideally within weeks. Don't hesitate to throw away t