3 ms·
Build tools also had a similar evolution. Ant's XML syntax first started out as all declarative, but then later on had to add more control structures (ant-contr
by mavelikara 12y ago
Build tools also had a similar evolution. Ant's XML syntax first started out as all declarative, but then later on had to add more control structures (ant-contrib, IIRC). The currently popular build tools - Gradle, Rake, Grunt etc - all use a dynamically typed full-blown programing language for specifying tasks and their dependencies.
- dj-wonk 12y agoAs another example, Leiningen is largely declarative, but since Clojure code is also data, it is possible to insert code alongside. See line 211 in the sample project.clj. https://github.com/technomancy/leiningen/blob/stable/sample.project.clj#L211 https://github.com/technomancy/leiningen/blob/stable/sample....
- crdoconnor 12y agoAnt made the mistake of becoming turing complete which meant all sorts of screwed up code got written in horrible XML. To be fair, ansible allows the same sort of behavior with cmd, letting you turn your playbook into one long overly verbose bash script. I have yet to see any code abortions on a par with what I've seen with ant or maven with that, yet, though.