3 ms·
A program is written to do something, and you can only think so far about its data without thinking about what you want to do with it.
by mannykannot 3y ago
A program is written to do something, and you can only think so far about its data without thinking about what you want to do with it.
- codr7 3y agoIt's definitely a spectrum though, you may choose to encode more or less of the program logic as data. Take a rule engine/expert system for example, the code is the least interesting part since all of the domain logic is encoded as data.
- mannykannot 3y agoFormally, the phrase "encode more or less of the program logic as data" seems meaningless, as you cannot implement a Turing machine with static symbols alone. I feel the quoted phrase is intended to capture the idea that a suitable representation of the data can simplify the processing, but that is what is behind the point I am making. For example, in the case of an expert system, the data provides the specific facts of the domain and the logic is implemented by the program. In choosing to use an existing expert system engine, you have made a decision about how your system will go about achieving your goals, and that places significant constraints on how you should represent your data.