But that's entirely situational. A yaml snippet containing my list of groceries is not code.
Yaml doesn't have to be classified as code to be testable. "We should have tests for our configuration files" is perfectly reasonable.
But that's entirely situational. A yaml snippet containing my list of groceries is not code.
Yaml doesn't have to be classified as code to be testable. "We should have tests for our configuration files" is perfectly reasonable.
I’m amazed this is even a question. Of course it is! It’s explicitly defined as an interchange format. Its only purpose is as code.
> In an informal setting.
What formal settings are we supposed to be satisfying?
> If you are, for example, writing documentation, please refrain from doing so.
I respectfully decline this request.
> But that's entirely situational. A yaml snippet containing my list of groceries is not code.
> Yaml doesn't have to be classified as code to be testable. "We should have tests for our configuration files" is perfectly reasonable.
I mean this with kindness and sincerity, if a little incredulity: maybe your definition of code is ambiguous and warrants some clarification. To me, this isn’t a holistic definition but it certainly seems like a relevant starting point: if it has a syntax specification that machines can use, it’s code.
When I observe the world, I come to a different conclusion. I see people including non-programmers talk about HTML as code. I see software packages like editors that say they deal with code, and it's not about T-c languages. Encyclopedias and dictionaries record the definition of code very broadly as interpretation of information, not T-c languages specifically.
For non-trivial programs the configuration space is so large that it's impractical to test every single configuration during development, so instead the operators are expected to test before putting into production.
So an INI file is code too?
Generally people think of code as being executed and doing some task. Can you use JSON to compute prime numbers?
Or is code now any structured data read by a program?
It is all up to the interpreter you give the code too. Your program that takes yaml config is an interpreter, though probably a very limited one and hopefully a safe one (though that needs to be tested / checked for to be more sure of)
1. a systematic statement of a body of law
2. a system of principles or rules moral code
3. a. a system of signals or symbols for communication
b. a system of symbols (such as letters or numbers) used to represent assigned and often secret meanings
c. coded language : a word or phrase chosen in place of another word or phrase in order to communicate an attitude or meaning without stating it explicitly
4. genetic code
5. instructions for a computer
Relevant to the discussion here are points 3 and 5. I would argue json, yaml, and xml, would be called code under points 3 as well as 5.They are hard-core descriptivists; if they can find an attestation for some usage, however contradictory or plain wrong, they will list it in their lexicon. E.g. "literally":
"In a completely accurate way; a story that is basically true even if not literally true".
"In effect, virtually; used in an exaggerated way to emphasize a statement or description that is not literally true or possible"
So according to M-W, "literally" means the same as "not literally". Merriam-Webster debauch the English language.
AKA their dictionary accurately reflects language usage; the opposite being prescriptivism, wherein you reflect the language as you wish it was rather than actual usage.
But, I still find it important to look at definitions that are actually used out there. Some scientific papers I've read just redefined everything to fit their purpose. There is a fine line between making it practically impossible to communicate ideas based on common understanding of terms, and allowing those terms to evolve. Anyway, I am convinced it is a bad idea to try to "feel" or "impulsively answer" the question is json or yaml code. To answer such a question every intelligent person should, IMHO, remember or lookup the relevant definitions and then try to find a conclusive argument why something answers the question. It might also be important to reflect on the quality of the used definitions. Sometimes, definitions should be changed. But changing a definition should always consider many different use-cases and perspectives, otherwise it becomes a single-use tool. And such a definition is not worth it.
I generally rely on the OED; my bookshelf dictionary is the Concise Oxford Dictionary (it's not "concise"). But the OED is also descriptivist. In the full version of the OED, they give multiple attestations for each meaning (citations, dates, author and so on). That means you can form a judgement about how to use or interpret a word, quite independently of the definitions the lexicon proposes.
I don't know of any English dictionary that isn't basically descriptivist. But I think M-W is pretty far along the descriptivist scale.
I used to have a copy of the Chambers Etymological Dictionary. That was good, because it provided an explanation of every definition it gave. Even if the definition was dubious, you knew why they were offering it.
I don't hate on descriptivism; usage needs to be described. It just pisses me off when a dictionary defines "literally" to mean "not literally", in the very words of their definition of "literally".
You seem to have pretty good mastery of English, if it's not your mother tongue.