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
  • thesmokingman@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    2 days ago

    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).

    • bash is something you need for every day tasks and quick tooling to improve everything else in this list
    • POSIX tooling is something you should know well to improve everything else on this list (eg awk is something you’ll use a lot in bash)
    • Python with or without types will handle more advanced scripting in a cleaner and more maintainable way for your team (explaining bashisms slows things down. Does your junior know what : is or why we currently prefer $() over backticks?)
    • Go is something you want to use for containerization and scaling servers
    • Rust is something you want to use for process work and embeddables

    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.