The
Art of Unix Programming (TAOUP) [
pdf ] is a useful book (available online for free but well worth purchasing in dead tree edition) which underpins much of the software oriented aspects of this module. Specifically, TAOUP introduces the idea of an underlying philosophy of software development and programming in the context of Unix systems. However, many of the lessons that we learn in TAOUP are not constrained only to Unix-based operating systems but give us insights into software development in general. For example,
the rule of modularity suggests that we should write small modules (for whichever value of module your problem or language requires) and that these modules should be able to communicate via cleanly defined interfaces. Meanwhile the
rule of composition builds upon the idea of interfaces and communication from the rule of modularity by suggesting that we should construct our software as individual units that are designed to be joined together to form composites with a wider range of capabilities that the individual ever had. Truly a case of the whole being more than the sum of its parts.
It is worth taking a look at TAOUP to help make you a better programmer and also to help you to better understand the concepts that we are studying in AC2B.