I’m happy to accept that these words are fuzzy, but I’m not sure the article really settles on a better mental model. In fact, it just seems to say “but everything’s declarative underneath!” which may be equally meaningless.
The thing we should care about is the cognitive overhead of these languages and systems. Control flow adds to complexity, as does state. But often in declarative languages you’re still having to reason about what the underlying runtime is going to do with your declarations (SQL is a truly monstrous example of this).
I don’t think we’ve stumbled onto the final, best approach here. I suspect the long term answer isn’t the YAMLification of all things. It probably isn’t a JavaScript DSL either. In the longest of long terms I assume I can just hand my requirements to an AI at AWS and say “boot up something like that please”. Lots of room for interesting ideas in between!
Comments
I’m happy to accept that these words are fuzzy, but I’m not sure the article really settles on a better mental model. In fact, it just seems to say “but everything’s declarative underneath!” which may be equally meaningless.
The thing we should care about is the cognitive overhead of these languages and systems. Control flow adds to complexity, as does state. But often in declarative languages you’re still having to reason about what the underlying runtime is going to do with your declarations (SQL is a truly monstrous example of this).
I don’t think we’ve stumbled onto the final, best approach here. I suspect the long term answer isn’t the YAMLification of all things. It probably isn’t a JavaScript DSL either. In the longest of long terms I assume I can just hand my requirements to an AI at AWS and say “boot up something like that please”. Lots of room for interesting ideas in between!