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
There isn’t a universal language to fill all these needs. DevOps covers a ton of areas so you want several tools in your toolbelt instead of just one (granted if you’re an incredibly talented greybeard bash can honestly do everything and do it fairly fast; I’ve never taken this analysis too seriously).
:
is or why we currently prefer$()
over backticks?)Each of these languages meets some of the requirements on your list but not all. That’s because nothing is a silver bullet. Depending on what you’re doing, you might even want to introduce, say, Java or C# in your pipelines if that’s what you’re maintaining. DevOps should support not alienate and overall it needs to be flexible.
I think the point of the question is what a hypothetical ideal language for CI/CD pipelines would look like.
☝️