5 ms·
I see absolutely no point in this. Code is data, and data is code. Why are Ansible users so eager to cripple themselves? Do you know that some people use jin
by davexunit 11y ago
I see absolutely no point in this. Code is data, and data is code. Why are Ansible users so eager to cripple themselves?
Do you know that some people use jinja2 templates to generate their YAML playbooks? Do you know what could have helped them? A real programming language.
- moises_silva 11y agoPower comes at the price of complexity. If you want to write your playbooks in lisp, ansible is not the way to go.
- rrauenza 11y agoThis was posted on hacker news sometime ago, https://news.ycombinator.com/item?id=10567408 https://news.ycombinator.com/item?id=10567408 -> http://lukeplant.me.uk/blog/posts/less-powerful-languages/ http://lukeplant.me.uk/blog/posts/less-powerful-languages/ I think it is relevant to this discussion. Having used Puppet before ansible, I tend to agree with it.
- crdoconnor 11y agoThe point is that it's not turing complete. Thus it's more readable, less susceptible to technical debt and less susceptible to bugs and always by definition, declarative. Turing complete code turns into an unreadable mess far more easily.
- wstrange 11y agoBut isn't in fact Turing complete? It has variables, control structures, loops and exceptions.
- jzd 11y agoThat does not make it Turing complete. "You need some form of dynamic allocation construct (malloc ornew or cons will do) and either recursive functions or some other way of writing an infinite loop. If you have those and can do anything at all interesting, you're almost certainly Turing-complete." -- http://stackoverflow.com/a/449170 http://stackoverflow.com/a/449170
- wstrange 11y agoThere is a do-until loop: https://docs.ansible.com/ansible/playbooks_loops.html#id22 https://docs.ansible.com/ansible/playbooks_loops.html#id22 Which satisfies the infinite loop issue. Have not looked carefully at the dynamic allocation, but I am guessing (hand waving here....) that it could be accomplished.