r/learnprogramming • • 3h ago

Which one on these languages shine the most within Devops, Python, Java, or Golang and why?

I am interested in all three although I’d have to start with one realistically.

0 Upvotes

6 comments sorted by

9

u/404-FounderNotFound 2h ago

.YAML

•

u/FreeLogicGate 28m ago

You make a great point. Yaml, Toml and json are all pretty important in the Devops world. I didn't mention it in my post, but Ansible playbooks are yaml files.

5

u/aaronryder773 2h ago

bash, python, groovy, jinja2, yaml, hcl and sometimes go

yaml is the most used

4

u/zomerbk 2h ago

I’d start with Python. It’s a practical first choice for automation, CI scripts, and working with APIs. Learn shell and YAML alongside it. Go is a good next step if you want to build infrastructure tooling; Java becomes more useful when the applications you’re deploying are written in Java.

3

u/FreeLogicGate 2h ago edited 2h ago

Devops and Gitops has its own set of tools. These days I would say that those tools include Infrastructure as code tools like Terraform (and associated tools like terragrunt), automation tools like Ansible/Chef/Puppet/Saltstack, traditional linux system administration and cloud engineering expertise, and containers which includes Docker/Kubernetes and system software that is used with K8 deployments.

Python is the language underlying Ansible and Saltstack. It's also a way of creating tools and scripting things that in the past Devops might have created bash scripts to do. I don't think you'll regret starting with Python.

Go is becoming a big player in Cloud infrastructure, being the language that was used to create Docker, Terraform, Kubernetes and related applications like Helm, ArgoCD and FluxCD.

So of the two, I'd suggest you start learning Python, and then learn Go, although the applicability of Go to a Devops role is harder to gauge. Writing Ansible playbooks make a lot more sense when you already know Python and the syntax of its collection types. Ansible is made to be extended, using Python. I'm sure it would be helpful to be able to read the source code of a applications like Prometheus and Grafana, but are you likely to be writing your own Go applications, or customizing or contributing to a project? That really depends on the company, and your role in it.

2

u/serge-mv 2h ago

It's a meaningless question. Whatever language you pick for the job, that's what going to be your process built around.