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
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”.
TCL as in Terraform Configuration Language.
Oh, that makes much more sense; thanks.