Tom Passin wrote:
Even the IP packets you brought up as an exemplar are used to transmit
varying textual data. It's only for the control slots that enumerations
are used, not in the contents that the packets carry.
Quite so. In an IP packet there is an IP header which is processed exclusively by machines (routers, gateways); all values in the header are either numeric or enumerated. And in an IP packet there is a variable payload; the stuff in the payload is destined for humans.
Data exchanges in general consist of two parts: (1) part of the data is for machines and (2) part of the data is for humans. Let's depict it like so:
<image005.png>
But the world is becoming automated at an exponential rate [1]. As a result (1) is growing, while (2) is shrinking:
<image006.png>
Extrapolating, I see a day where there will only be data for machines, no data for humans (or, relatively very, very little). When that occurs, essentially all data will be enumerations with defined semantics, all processing will be symbolic processing.
Let's prepare for the future. When designing a data format identify those parts of your data which will be processed exclusively by machines; be sure to define them with enumerations (no string datatype here!)
Comments?
/Roger
[1] This is a must-see video: Humans Need Not Apply (https://www.youtube.com/watch?v=7Pq-S557XQU)