4 ms·
I'm not fully grokking the theory/philosophy you're trying to express here, and I'd really like to, so I'll ask for forgiveness in advance if I seem too dense.
by taserian 10y ago
I'm not fully grokking the theory/philosophy you're trying to express here, and I'd really like to, so I'll ask for forgiveness in advance if I seem too dense.
When I think of language and getting a message across (be it to someone else, or to a computer as code), I think of the components that are required for communication:
- Emitter (myself) (EM; mostly obvious)
- Recipient (someone else/the computer) (RE; also obvious)
- Message (what I want to communicate) (MS)
- Medium (what carries the message) (MD)
- Protocol (base rules that both sides agree on) (PR)
If I'm trying to help my mother-in-law with a computer problem, I'll tell her to click on such-and-such over phone lines using English. (MD=phone line; MS=instructions; PR=English grammar)
If I'm writing a script to unzip a bunch of files at once and distribute the contents into different folders based on the file type, I'd probably whip up a Python script. (MD=text file; MS=task description; PR=Python)
My script in turn will communicate with the file system and the operating system to complete my task. (MD=bits; MS=instructions; PR=Python-to-Machine-Language-Interpreter)
If I understand you correctly, you're saying that all application programs should distill down to just the message, as the one representation of what I want to communicate. I'm hesitant to accept that, since it tends to assume that both emitter and recipient can independently determine and adapt to the correct protocol when all they have is the message.
For example, my Python script will probably use the file extension as a heuristic for the file type, but will make an error when picture.txt actually is a badly named JPEG. If I want to increase correctness, I can change the script so that it uses the file's Magic Number, but that may be overhead I don't need if the files are correctly named. Choosing one technique over the other requires that I craft the message differently, because Python doesn't make a decision on how best to determine file type.
TL;DR: Data needs a protocol to be used as information, and languages provide that. Doing away with languages means we need to define and agree on a non-ambiguous way of reading data, which is a tall order.
- david927 10y agoYou raise an interesting point. Data, as we use it today, is often bare-bones and without meta-data. How you interpret it is very much up to you. It's as if, in English, we said "... apple ... tree" and then leave it to the user to decide if that's "I'm planting an apple tree" or "You can't get an apple from a walnut tree." You're definitely describing how we work in today's terms -- there's nothing wrong with that, I'm just challenging it. I'm saying that we can describe the protocol better using data; or more I'm saying that it is data and that any other way of describing it is sub-optimal and for that reason will eventually desist. > Doing away with languages means we need to define and agree on a non-ambiguous way of reading data Actually I'm saying that language is more ambiguous than data -- at all times and in all cases. Anything you can get language to do, you can get data to do better (in this context). But it's not a hard case to prove because actually we're using language as data. We're doing the equivalent in programming languages of typing in "three hundred" into a text file and having it read from the text file and converted to a single data unit of 300.0 when we could just be operating directly with the data. But I didn't clarify how this would happen, so I can see that it would seem a bit abstruse. I need to better communicate and clarify that we need to expand how we're viewing data and how we work with data -- that we need to incorporate more meta-data as an ancillary part of the data that both comes with it and yet is still secondary.