Hasty Briefsbeta

The Metastasize of Templating in Declarative Language

13 days ago
  • #semantic-impedance
  • #declarative-configuration
  • #templating
  • Templating languages like Jinja are added to declarative configurations (e.g., SQL, YAML) to handle dynamic needs but eventually lead to complexity and debugging challenges.
  • The 'semantic impedance' arises from the mismatch between intent and the awkwardness of expressing it in available tools, similar to how jQuery bridged gaps but created new problems.
  • Data engineering faces unique challenges due to stateful data systems, making it harder to adopt AI coding assistants compared to stateless software engineering.
  • React's success came from separating computation (JavaScript) from UI structure (JSX), a pattern that could benefit declarative configurations by keeping logic out of structure.
  • Runtime predicates in configurations (e.g., conditional logic, date formatting) often metastasize, making configurations unreadable and unmaintainable.
  • Linting templating languages can help enforce boundaries and prevent bad patterns, but the root issue is the blending of computation and declaration layers.
  • A 'React moment' for declarative configurations would involve separating computation (in a programming language) from structure (in a declarative language), avoiding embedded logic.