Category Theory (CT) vs Design
|CT is often incompletely understood as just an
abstract machinery that allows solving specific problems in specific
domains. However, the CTís power as a technical apparatus often screens
that CT is also a powerful design methodology.
Indeed, design essentially means transforming a structure of requirements into a structure of functional elements and, thus, a design problem is a structural problem. Specifically, a designer needs to envision structures and manipulate them before the structures are really built. To this end, she needs to understand what is a structure, what are operations and relations over structures, what are transformations between structures and the like, everything is to be formulated in truly generic terms (so that particular structures implementing the design would be just particular instances of the generic patterns). The latter requirement is at the very heart of the problem, and it makes all these questions really non-trivial. CT is just a discipline that gives precise answers to these questions. In a sense, CT can be called a calculus of structure engineering, and should be as important in engineering curriculums as the ordinary calculus. (This textbook specially emphasizes the structure engineering aspects of CT).
Unfortunately, understanding this structure engineering nature of CT is far not common, and rare industrial companies recognize the potential value of CT for solving practical engineering problems. On the other had, my experience shows that engineers can easily grasp the essence of CT-constructs if the latter are properly explained in terms of the concrete problem in question. Itís really surprising how significant are the number and the range of concrete scientific and engineering problems, where abstract CT-patterns find quite natural and intuitively very appealing interpretation, thus guiding the intuition and understanding of the domain up to a higher level.