Unix
1. The Unix Philosophy
1.1. Tenets
- Modularity: Divide programs into distinct, reusable modules that can be independently developed and maintained.
- Simplicity: Prioritize clarity and conciseness in code design to enhance both readability and maintainability.
- Compatibility: Ensure software compatibility across a range of hardware and operating system platforms for seamless deployment and execution.
- Extensibility: Design programs to seamlessly integrate with future enhancements and extensions, facilitating adaptability to changing requirements and evolving technologies.
1.1.1. Pragmatics
- Single Responsibility Principle: Assign each program a unique and well-defined purpose, enabling efficient and focused execution.
- Pipes and Filters: Connect programs through pipelines to form complex workflows, allowing data to flow seamlessly through multiple processing stages.
- Abstraction and Encapsulation: Treat all data as a stream of characters, concealing implementation details and providing a consistent interface for data manipulation.
Tags::cs: