▲ 62 ▼ Why YAML sucks? (programming.dev) submitted 2 years ago* by heikkiket@programming.dev to c/programming@programming.dev 141 comments fedilink hide all child comments 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?
[+] Vivendi@lemmy.zip 63 points 2 years ago* (last edited 1 year ago) (4 children) [deleted] permalink fedilink source hideshow 8 child comments replies: [–] darki@lemmy.world 47 points 2 years ago* Can you stop hating on haters? Thanks 😄 permalink fedilink source parent [–] sip@programming.dev 27 points 2 years ago stop hating on rust devs permalink fedilink source parent [–] beaumains@programming.dev 11 points 2 years 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. permalink fedilink source parent hideshow 4 child comments replies: [–] wewbull@feddit.uk 8 points 2 years ago (1 child) 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. permalink fedilink source parent hideshow 2 child comments replies: [–] derpgon@programming.dev 4 points 2 years 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. permalink fedilink source parent hideshow 4 child comments replies: [–] wewbull@feddit.uk 4 points 2 years 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. permalink fedilink source parent [–] cashew@lemmy.world 4 points 2 years 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. permalink fedilink source parent [–] SandLight@lemmy.world 1 point 2 years ago (1 child) 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. permalink fedilink source parent hideshow 2 child comments replies: [–] FizzyOrange@programming.dev 2 points 2 years 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. permalink fedilink source parent [+] orcrist@lemm.ee 6 points 2 years ago* (last edited 1 year ago) [deleted] permalink fedilink source parent
[–] darki@lemmy.world 47 points 2 years ago* Can you stop hating on haters? Thanks 😄 permalink fedilink source parent
[–] sip@programming.dev 27 points 2 years ago stop hating on rust devs permalink fedilink source parent
[–] beaumains@programming.dev 11 points 2 years 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. permalink fedilink source parent hideshow 4 child comments replies: [–] wewbull@feddit.uk 8 points 2 years ago (1 child) 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. permalink fedilink source parent hideshow 2 child comments replies: [–] derpgon@programming.dev 4 points 2 years 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. permalink fedilink source parent hideshow 4 child comments replies: [–] wewbull@feddit.uk 4 points 2 years 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. permalink fedilink source parent [–] cashew@lemmy.world 4 points 2 years 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. permalink fedilink source parent [–] SandLight@lemmy.world 1 point 2 years ago (1 child) 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. permalink fedilink source parent hideshow 2 child comments replies: [–] FizzyOrange@programming.dev 2 points 2 years 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. permalink fedilink source parent
[–] wewbull@feddit.uk 8 points 2 years ago (1 child) 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. permalink fedilink source parent hideshow 2 child comments replies: [–] derpgon@programming.dev 4 points 2 years 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. permalink fedilink source parent hideshow 4 child comments replies: [–] wewbull@feddit.uk 4 points 2 years 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. permalink fedilink source parent [–] cashew@lemmy.world 4 points 2 years 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. permalink fedilink source parent
[–] derpgon@programming.dev 4 points 2 years 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. permalink fedilink source parent hideshow 4 child comments replies: [–] wewbull@feddit.uk 4 points 2 years 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. permalink fedilink source parent [–] cashew@lemmy.world 4 points 2 years 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. permalink fedilink source parent
[–] wewbull@feddit.uk 4 points 2 years 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. permalink fedilink source parent
[–] cashew@lemmy.world 4 points 2 years 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. permalink fedilink source parent
[–] SandLight@lemmy.world 1 point 2 years ago (1 child) 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. permalink fedilink source parent hideshow 2 child comments replies: [–] FizzyOrange@programming.dev 2 points 2 years 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. permalink fedilink source parent
[–] FizzyOrange@programming.dev 2 points 2 years 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. permalink fedilink source parent
[+] orcrist@lemm.ee 6 points 2 years ago* (last edited 1 year ago) [deleted] permalink fedilink source parent