this post was submitted on 06 Sep 2024
62 points (73.8% liked)

Programming

17484 readers
55 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
62
Why YAML sucks? (programming.dev)
submitted 2 months ago* (last edited 2 months ago) by [email protected] to c/[email protected]
 

I feel that Yaml sucks. I understand the need for such markup language but I think it sucks. Somehow it's clunky to use. Can you explain why?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 11 points 2 months ago (2 children)

Yeah TBH I like yaml. Sure its not the best ever, but its not the worst it could possibly be.

For config its not terrible. For ansible playbooks its again... not terrible.

Why is everyone always hating on something which is just kinda mid.

[–] [email protected] 8 points 2 months ago (1 children)

Config is fine, but Yamls biggest problem is people use it to describe programs. For example: playbooks. For example: CI steps.

If YAML wasn't abused in this way it would have a lot less hate.

[–] [email protected] 4 points 2 months ago (2 children)

What's wrong with using YAML for CI? I mean, I use it for Gitlab CI, the underlying script it runs is just Bash.

[–] [email protected] 4 points 2 months ago

Right, so you just have a single step and then hand over to a proper script. I've seen many people try to put much more complex logic in there before handing over to a proper language.

[–] [email protected] 4 points 2 months ago

You're doing it right by avoiding as much of Gitlab's CI features. I've seen versions where scripts are inlined in the YAML with expressions in random rule fields and pipeline variables thrown all over the place. And don't get me started on their "includes" keyword, it's awful in practice, gives me nightmares.

Then I write a Kubernetes manifest in YAML with JSON schema validation and the heart rate goes down again.

[–] [email protected] 1 points 2 months ago (1 children)

I dream of a life where I use YAML but all my configs are stuck in XML. People can complain but there's always worse options.

[–] [email protected] 2 points 2 months ago

One nice thing about XML is that there's an official way to link to the schema from within the document. If you do that you can easily automatically validate it, and even better you get fantastic IDE support via Red Hat's LSP server. Live validation, hover for keys, etc.

It's a really nice experience and JSON schema can't really match it.

That said, XML just has the wrong data model for 99% of use cases.