5 comments

[ 0.19 ms ] story [ 24.1 ms ] thread
Found this blog when looking for fellow devs who are in the same boat. The whole pipeline-as-yaml in CI is the worst thing I had to do for my profession in the last 10y.

The iteration experience for this is so incredibly inefficient. Testability in isolation for pipelines modeled in YAML is one of the biggest regressions in the field of software engineering. It's built for day 1, whereas the challenges lie in large pipelines which you make on day 2 and afterwards.

I thought I was alone when starting out with Ansible, just because work demanded it, and found it a very strange way to do things. No composability, strange interfacing, weird semantics.

One of the criticisms I heard recently about YAML is that there's no way to know if you received a full document or just a fragment since there's no grammatical structure for indicating the document is complete. While JSON and XML are far more verbose at least it's obvious if you didn't get the full document on transmission. Perhaps a compromise could be to use YAML as a compositional tool to emit XML or another more formal configuration format?
That still assumes that YAML actually is good for configuration icw logic
I feel this is kind of a minor issue; the far bigger issue that this article talks about is that the declarative YAML format is used as a programming language, which it's clearly not.
This post strikes me as not much more than an uninformed rant. I read through it and learned nothing, except that the author has strong opinions about some YAML use cases. Lots of heat and very little light.