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

Programming

17492 readers
41 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 !webdev@programming.dev



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

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
[–] wewbull 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.

[–] derpgon@programming.dev 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.

[–] cashew@lemmy.world 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.

[–] wewbull 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.