• 6 Posts
  • 87 Comments
Joined 1 year ago
cake
Cake day: August 10th, 2023

help-circle

  • Yaml is a data storage format

    I have literally never seen yaml used as a data storage format, only as a configuration language. Ansible, Kubernetes, Home manager, netplan, and many, many other examples of yaml as a configuration language, but I cannot think of an example of yaml as a data storage format off the top of my head.

    Given the:

    package {
      name my-pkg
      version "1.2.3"
    
      dependencies {
        // Nodes can have standalone values as well as
        // key/value pairs.
        lodash "^3.2.1" optional=#true alias=underscore
      }
    

    On the README of the KDL Github, it looks like KDL has a similar goal to be a configuration langauge, rather than a data storage format.


  • I don’t see anything about turing completeness or programmatic capabilities in their github. Any language that doesn’t have the programmatic abilities will inevitably get them hacked on when someone needs them, like what happened to yaml a bunch of times for a bunch of different software. This is one of people’s many frustrations with yaml, the fact that doing a loop, an if statement, or templating, is different for every single software that uses yaml. Even within Kubernetes, there exists different ways to do templates.

    I would much rather see the language consider those things first, then see it repeat one of the biggest mistakes of yaml. This is why I am more eager for things like nickel, or even Nix as a configuration language, and am skeptical of any new standard that doesn’t have those features.


  • See also: noyaml.com

    I personally like yaml though. Although I won’t deny it can be hellish to write without a linter, it’s just like any other language with tab autocomplete and warning for sus things if you have the right software set up.

    I used the ansible and kubernetes VSCode extensions, and I really like them both. With the kubernetes one, you can just start typing the name of the resources you want to create, and then press tab, and boom, a template is created.

    I would much rather see something like Nix be the norm, but I find Nix very frustrating to edit because the language servers for it are nowhere near as developed.






  • also as a bonus question, why does every IDE seem to require you to configure every single option before it can run code

    What IDE’s have you tried?

    Kate (and vscode) aren’t really IDE’s, they’re more like extremely extensible text editors. You can make them IDE’s, but they dob’t come like that out of the box.

    On the other hands, actual IDE’s often have the inbuilt capability to install and manage the programming language related software.