Hi DevOps, how do you think your ideal programming language would look like? I mean a language in which you would write pipeline logic, like Python or Bash, not define pipeline steps itself, like YAML.

I think for me it would have:

  • very clean and readable syntax
  • immutable state by default
  • strong typing
  • strong tooling and IDE support
  • focus on DevOps-need things, like JSON and files manipulation
  • absence of danger things like pointers
  • rglullis@communick.news
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    like rename a file or push JSON somewhere.

    Both of these can be done in a declarative fashion.

    Yeah, yaml sucks. But we don’t need to throw the baby with the bathwater. You can have tools based in declarative systems that use saner languages, e.g, nix or TCL, and never have to deal with yaml issues.

    • BatmanAoD@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 days ago

      The post doesn’t say “imperative”, it just differentiates between defining pipeline steps and defining the logic within a step.

      …also, TCL? I haven’t used it for ops, but my memory of tcl/tk is extremely negative.

      …also also: a core part of a build, CI, or, CD pipeline is almost always invoking binaries to run a command. That’s why shell scripts are so ubiquitous in pipeline-logic: invoking binaries is what they’re for. And it’s very difficult to do that a declarative way: Make comes close, but it’s difficult to track any side-effects that aren’t “update these files”, and a huge amount of CI/CD is no longer just “update a file”.