3 ms·
The main problem I have with any kind of DSL (Python, Ruby, PHP, Go-based, whatever) is that it usually doesn't abstract enough of the underlying language away,
by geerlingguy 7y ago
The main problem I have with any kind of DSL (Python, Ruby, PHP, Go-based, whatever) is that it usually doesn't abstract enough of the underlying language away, meaning if you're not already a [language XYZ] developer or willing to learn some of the ins-and-outs of the underlying language, you're not going to be very productive.
With Ansible, you can go _very_ far before you have to know anything about Python (well, most of the time—annoyingly, there are situations like naming groups where Python's variable syntax leaks through currently).
It would be like making people know basic Go syntax just to write or edit a Kubernetes manifest—that immediately limits its appeal to those who have at least a passing interest in Go (which is a much smaller audience than 'willing to learn YAML, which is used all over the place').
- BiteCode_dev 7y agoBasic Python syntax is enough for most playbooks, and it's no more difficult to learn than the ansible yaml dsl. Anybody provisioning a machine knows a little bit of bash, and most probably python. Python is way more "used all over the place" than yaml. Worst of all, when you are a beginner, ansible yaml errors are an utter mystery.