Programming by the ``object oriented'' method is now fashionable. It is said to be especially important in dealing with large programs, in integrating the work of many people, and in making code reusable. An a-doc is really a lot of computer code and object-oriented philosophy can affect the organization, particularly of large documents like books.
An a-doc consists of two parts, one is system supplied, and the other is author supplied. For the author supplied part we envision reports, theses, and books. At the top directory of my book (as it is organized now) I see the subdirectories:
|class||Exercises, answers, quizzes.|
|lib||Subroutine library included in text and used for computation.|
|prog||Directories with programs that make figures and test routines in lib.|
|tex||Text, a file for each chapter.|
|proc||Utility programs based on lib.|
According to the object oriented philosophy (OOP) I have done it wrong. As a result, if I want to add or subtract a chapter of my book then I need to do something to each of the above directories. If I forget one I can make a mess.
To convert to OOP everything should be organized in subdirectories by geophysical topic. My prog directory is already organized that way. A typical subdirectory in prog makes a few figures in the book. Into each of these subdirectories I should put the text that describes its figures; I should put in the subroutines contributed to the library, and the utility programs (if any) that are provided for the benefit of other directories, and the class exercises and quizzes related to its figures. With this organization I could give one specially annotated book subdirectory to each new student, for training in use of all things I have had to learn to make the active book.
If OOP organization is desirable then what are its immediate obstacles? the system supplied portion of the a-doc must support certain features. For example, can the text processor deal with text, figures, and programs (for listings) scattered over multiple directories? Is it easy or difficult to deal with the renumbering implied when a new chapter or section or figures is included? Can the system build libraries and utilities from parts that are scattered all around? What about subdirectories within subdirectories? We are in the process of learning the answers.