4 ms·
That's a Lot of YAML
- elfrinjo 1mo agoPut quotes around your strings an you'll be mostly fine.
- 9dev 1mo agoAnd use Alpha-3 country codes which are superior in any possible way regardless of YAML :)
- throw-the-towel 1mo agoWhat's the problem with alpha-2 codes?
- aniviacat 1mo agoIt really is that simple. You really should not blame it on YAML that if you put a random hash value in a field that it may be a number. Like, duh. If you want a string, use quotes.
- einpoklum 1mo ago> you'll be mostly fine. You mean other than when we won't be? :-(
- erlich 1mo agoI actually like the SQL example.
- 9dev 1mo agoright? Sensible nesting (that's how I'd break and indent a long query anyway), folding in proper code editors, proper hierarchy... what's not to like?
- neilv 1mo agoThat `AND:` being prefix-order was the hint it just needs a few small finishing touches: (select (num name) :from customers :where (exists (select name :from orders :where (and (= customers.num orders.customer_num) (< price 50)))))
- fodkodrasz 1mo agoThere is no problem with YAML, just like there was no problem with XML at all. The problem is with the software devs who use it for the wrong thing. I just wonder why JSON doesn't get all the hate, while it is a terrible format also: it is not streamable (YAML is), it doesn't have comments... and non-standard workarounds are used for these features. Norway better than YAML, in my opinion.
- _ink_ 1mo agoThere are plenty of problems with YAML as the article shows. The biggest problem with YAML is, that serializer and deserializer need to agree on rules outside of the spec, because otherwise they can be both compliant and still don't understand each other.
- riffraff 1mo agoisn't this true for most formats? You'd use a string to encode a date or version in JSON just like you would in YAML[0]. Either you have an infinite spec, or you always have things outside it. [0] YAML would allows you to tag the type, but nobody does it anyway
- Diti 1mo agoI also wonder why it’s the 2012 version of the language which gets all the hate, instead of the hate being directed at Google, who doesn’t care about putting resources towards updating the main offender, Kubernetes’ YAML 1.1 parser. https://github.com/kubernetes/kubernetes/issues/34146#issuecomment-252692024 https://github.com/kubernetes/kubernetes/issues/34146#issuec...
- 21asdffdsa12 1mo agoWould totally love to do that bro, is not a resource or finance problem- not even talent - AI could probably do it with oversight .. but No Promo.. cant touch it once another guy declared it complete.. that s them rules.
- ishouldnotbutk8 1mo ago
- cheptsov 1mo agoNext time the author would like to write an article like that, it’s better that they offer a new standard that is as flexible while also doing the work YAML is doing today
- embedding-shape 1mo agoEDN? Probably too flexible from some perspectives. No surprise Norways though.
- cheptsov 1mo agoThat’s the problem people IMO don’t understand - flexibility is one of many requirements; simplicity and ecosystem around are two more. Hating YAML is same as being childish - yo using like something but can’t come up with anything better. Worse than YAML can be only complaining about YAML. Hating YAML is a cliche. Its much easier to come up with jokes like this website than to change the ecosystem for better. And I definitely think the websites like this is opposite to the engineering approach. Not defending YAML though in particular. Edit: grammar
- fodkodrasz 1mo agoThe modern societies are being infantilized. This is a symptom of that.
- embedding-shape 1mo ago> That’s the problem people IMO don’t understand - flexibility is one of many requirements; simplicity and ecosystem around are two more. Biggest issue IMO is moving goal posts and people wanting one format to do it all. Different formats are good for different things, except YAML, which again tries to do it all yet excels at nothing.
- feelamee 1mo ago> Worse than YAML can be only complaining about YAML. Hating YAML is a cliche. Its cliche for you, but not all people know about YAML problems. If it is not interesting for you and people who already know about this, why open this thread? Let people explore something new, if they are interested in it. > Its much easier to come up with jokes like this website than to change the ecosystem for better. Speaking about problems is also valuable. The more people know about them, the more chance of a solution.
- zahrevsky 1mo agoAm I the only one who finds this writing style hard to read? I stumbled upon this page a few years back and was very confused by the language. It took me some time to parse it and realize that all the comments are actually sarcastic. Overall, the general style feels like I'm reading comments on TikTok. It's not that I'm against this style; it's just that you don't expect it in a technical article.
- taspeotis 1mo agoYelling At My Laptop
- discreteevent 1mo ago- "something broke" is way better than stack traces with line numbers That sums it up. Its the same since the days of XML. Someone decides to make something configurable externally and then everything gets put in there for convenience. Now we are programming in XML/YAML without even a stack trace (or a debugger, or call hierarchy, or type checking or ... )
- LeBit 1mo agoPretty sure strictyaml tells you which line was faulty.
- NoboruWataya 1mo agoSurprised TOML didn't get mentioned in the alternatives section, it's probably my favourite configuration format. I'm working on a project now that uses YAML for configuration (it makes more sense in this context than TOML) and am parsing it using Rust's `serde` crate (via `serde_norway`). It's not so bad if you use `#[serde(deny_unknown_fields)]` everywhere.
- fypanto 1mo agochuckle Well most of that is due to 1.1 which has been deprecated god knows for how long. 1.2 does not have the 'Norway' problem any more. Tooting my own horn, this is how a modern YAML library looks like nowadays: https://github.com/pantoniou/libfyaml https://github.com/pantoniou/libfyaml
- 7bit 1mo agoI read that as libfuckyaml
- fypanto 1mo agoMaybe you should get your mind out of the gutter then.
- 7bit 1mo agoBetween us two I am not the one using personal attacks. I advise you to reflect upon your own words.
- pseudohadamard 1mo agoToo right. It's blocking my periscope.
- pseudohadamard 1mo ago> NI: Nicaragua Oh, what sad times are these when passing ruffians can say Nicaragua at will to old ladies! There is a pestilence upon this land, nothing is sacred!
- polotics 1mo agoThis is hilarious, and so true!
- pi-victor 1mo agothere's already a better alternative, it's called starlark.
- boobsbr 1mo agoWait until you find shell code inside a pipeline YAML definition. Now that's programming with YAML.
- ChocolateGod 1mo agoI think a format that relies so heavily on invisible characters is terrible, but thats just me.
- mbirth 1mo agoEvery good editor can make these “invisible” characters visible.
- bartread 1mo agoI used to think the same but I've mellowed. Modern editors make this a non-issue. I use both Python and YAML fairly regularly, both have significant whitespace, and I don't have any issues with either. Also, because YAML doesn't involve things like curly braces all over the place, it's actually notably less friction to type rapidly by hand than something like JSON. I don't think YAML is amazing or anything like that but I do find myself nowadays preferring it, for config at any rate, over JSON. JSON definitely wins for machine readable data sent over a pipe though because the lack of significant whitespace means it'll compress better.
- ChocolateGod 1mo agoMaybe just my brain but I find it easier to follow those { and [ then tabs and -
- XorNot 1mo agoYAML is fine. TOML is a lot worse. Nobody anywhere needed more INI files.
- inanothertime 1mo ago> YAML is fine. TOML is a lot worse. Care to elaborate? We are using TOML for config files and just do fine.
- coder-pm 1mo agoIt’s because ppl are not using it correctly, it was designed for configs and now it’s being used as a programming language… a language without types and debugger. It’s frustrating devs because they find the issue at the deployment time, not the compile time. Personally I did never pick the YAML as a first format for the configs, only my ruby friends did that.
- kelnos 1mo agoIt's also terrible for configs, for many of the reasons specified in the article.
- coder-pm 1mo agoFair point, that’s why I said I won’t pick it. But it still might be a good and simple choice for small configs, hand written. It does explode when it’s machine generated or templated. I think it’s also strictly connected with the ecosystem devs are working with, ruby or python devs usually pick YAML, JavaScript/Node devs with JSON - this is how it works, ppl chose what they know and what they are used to.
- grim_io 1mo agoThanks for the page, I'll feed it to the LLM when it writes yaml next time, probably today. I won't even look at it, and it will be just fine.
- vova_hn2 1mo agoI'm still sad that JSON5 never became industry standard. Unlike hjson, toml and many others, JSON5 didn't try to reinvent the wheel and create a totally new syntax. Instead, they took 2 already well established standards (JSON and ECMAScript 5.1) and put them together. I think that it is pleasant enough to write by hand while not creating yet another new syntax that you have to get used to. [0] https://json5.org/ https://json5.org/
- ishouldnotbutk8 1mo agoCtrl+F "KYAML", 0 results I think KYAML[1] is very relevant here. KYAML is a strict subset of yaml[2], supported natively by kubernetes tooling in most recent versions. In my opinion it's closer to JSON with comments than to YAML, but overall it looks like a pretty nice format, that solves some of pain points of both technologies. This is not the first nor the only JSON-with-comments format, so I wonder if it manages to break out of kubernetes world and become popular. [1] https://kubernetes.io/blog/2026/08/11/how-to-pretty-print-kubernetes-yaml-as-kyaml/ https://kubernetes.io/blog/2026/08/11/how-to-pretty-print-ku... [2] https://www.kubernetes.dev/resources/keps/5295/ https://www.kubernetes.dev/resources/keps/5295/
- masfoobar 1mo agoMy usage of YAML has been limited. For the times I have used it (kubenetes, docker compose, other things, etc) -- I don't get what it so special about it. It just seems reinventing the wheel again and again. I am not suggesting JSON is perfect, either. However I do prefer it to YAML (and XML) by a mile. It's a shame s-expressions never taken off. (select (id name) (:from users) (:where (= name "Peter"))) Or (orders (order (id 1) (code "aa1") (qty 32))) I know - its a sample, but you get it. :-)
- _superposition_ 1mo agoI would wager that just in the time it takes me to write this comment, millions of yaml documents have been successfully parsed. Works for me. Until it doesn't. Just like anything else. No silver bullets.
- rererereferred 1mo ago> noyaml.com Is this supposed to read as Norway's YAML?
- frizlab 1mo agoI’m sorry but the “If SQL were built on YAML” part is actually better than SQL.