11 ms·
Is json code, too? Yaml, or json, can be used to describe programming instructions, in which case I could see maybe calling it code. In an informal setting. If
by monsieurbanana 5y ago
Is json code, too? Yaml, or json, can be used to describe programming instructions, in which case I could see maybe calling it code. In an informal setting. If you are, for example, writing documentation, please refrain from doing so.
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.
- eyelidlessness 5y ago> Is json code, too? 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.
- ChrisLomont 5y ago>Of course it is! It’s explicitly defined as an interchange format. 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?
- reegnz 5y agoA language does not need to be considered Turing complete to be considered code.
- ChrisLomont 5y agoIt needs to perform some computation, right? Or is code now any structured data read by a program?
- olodus 5y agoA python script could be a text doc if you open it in a markdown editor. A yaml file could execute web call if run through a program with a parser. 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)
- eyelidlessness 5y agoNow? XML has been code for decades.
- emodendroket 5y agoI would guess most would define "code" as being written in a Turing-complete language.
- eyelidlessness 5y agoSo without engaging the ongoing absurd debate about HTML or CSS… can you really say that SVG isn’t code? Forget what “most” would say. In your heart of hearts, can you write <path d="…anything at all"/> and not consider it code? What a disappointing pissing contest.
- bmn__ 5y agoThe guess is based on what? 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.
- emodendroket 5y agoI meant to restrict this to programmers. Who knows what lay people think.
- alephu5 5y agoThe most useful definition (for engineering) is that "code" changes/defines how the program executes. Your YAML shopping list changes your path through the shop, so it is code. 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.
- funcDropShadow 5y agoI know it is unpopular nowadays, but it really helps understanding between people if we stop redefining terms all the time. So, let's have a look at what a dictionary definition (taken from [1]) of code is: 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. [1]: https://www.merriam-webster.com/dictionary/code https://www.merriam-webster.com/dictionary/code
- denton-scratch 5y agoI don't regard Merriam-Webster as authoritative. 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.
- eyelidlessness 5y ago> 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. 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.
- funcDropShadow 5y agoInteresting points. Because English is not my mother-tongue, I wasn't aware of perceived quality of that dictionary. I chose Merriam-Webster simply because it was the first hit in my online search. Which English dictionary do you consider better? 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.