4 ms·
Are things like YAML considered "programming" languages now?
by BrissyCoder 6y ago
Are things like YAML considered "programming" languages now?
- IshKebab 6y agoThat's kind of the whole point of the article.
- undecisive 6y agoNope. Otherwise, one could argue that some programming languages use newlines to separate commands, therefore the file type is NSV (newline separated values), and therefore NSV is a programming language, and any newline-separated file is a program. This is clearly nonsense. Sometimes people confuse the medium with the language. YAML may be the medium in which programming instructions are conveyed, but it never makes YAML a programming language, irrespective of the file extension. If you put lines of bash into a YAML array, the YAML itself still only contains data. If you pass that data file to something that can take the bash lines out and make use of them, then great. Essentially, it's a storage medium - just a slightly higher-level storage medium than we're used to thinking about. You could create a programming language syntax that is entwined with YAML, but then the language would be more correctly named something like Whatever-over-YAML (or Whatever for short)
- agbell 6y agoAuthor Here. My point is not that YAML is a programming language, and that is horrible. Instead, it is used sometimes used to embed a vendor-specific unnamed programming language in, and that is horrible. People start with some YAML, and everything is fine. Then a simple condition is added, so ok, we are treating code as data, LISP style but in YAML. Then the logic and branching grows, and we introduce templates. It not that anyone wants to get where we've ended up. It's that each step along the way seems to make sense until you end up trapped in complex templates, and scripts to configure your config and it's too late. It is a vicious local optimum that everyone keeps falling into.
- aidenn0 6y agoIf you embedded a vendor-specific unnamed programming language in JSON or Dhall or TOML or INI or CSV it would be bad too.
- Quekid5 6y agoOne of those is not like the other. Shall is an actual programming language -- designed purely for configuration.
- aidenn0 6y agoThey are all relatively isomorphic in the structures they produce, so you can layer a terrible language on top of any of them.
- Quekid5 6y ago"isomorphic in the structures they produce" That's a function: anything -> text. It doesn't mean anything. EDIT: Also, I typo'd Shall for Dhall. My bad.