Seriously though, spring configurations are written in XML and you create variables, call functions, and have control flow. Effectively turning XML into a horrible twisted shadow of a programming language.
All in the name of "configurability" through dependency injection.
I'm fond of saying that all great code earns it's right to become good code by starting as trash...
But I still think we should all quietly and politely let Spring die a simple dignified death, as soon as possible.
Out of wildly morbid curiosity, do Maven and Ant still shit all over each other to make sure no one has any real idea what the build inputs and outputs are?
I shouldn't ask things I don't really want to know, though. My inbox is gonna be full of Java apologists.
It was a markup language until someone decided to parse and execute it as a programming language. This person should be watched for other deranged behavior.
I use XML as markup language, what kind of deranged person thought to turn it into a programming language? My problems with the Lua API led me down the rabbit hole of making my own VM and implementation, not looking at a markup languge, then go "what if I used this for scripting?".
When they make XML do these things (or the way Github Actions does it with YAML), they're essentially creating a representation of the AST that the compiler would make internally from a mini language. So there's a few possibilities:
They don't know how compilers work and reach for a tool they do know
They know, but figure the problem at hand doesn't need the complexity of a mini language and start the project the quick and dirty way, and it gets out of hand as they add features
They may or may not know, but they do get caught up in the hype of some other tool (likely what happened with XSLT)