I have to admit this took me off guard.
One recurring complaint I see from new and intermediate users is that TW has so many widgets and filter operators that the names are difficult to remember.
This is correct, my feeling is that this is done for providing mechanisms to fill the gaps related to basic tools offered by “traditional” programming languages. For example the $list widget fills the gap of a missing explicit loop construction like for. The <%if> shortcut makes a step towards “programming” by offering an alternative to using then and else filter operators - a syntax that is clearly more “readable” (for me at least) than a piece of code in the middle of a long complex filter etc.
Even this whole thread and the pull request behind it triggers this controversial feeling. Getting better tools for lists handling is great, this is tangential to my older question Working with lists in TiddlyWiki . Yet this is one more thing to learn and start using. Plus the need to refactor old codebases to lower down technical debt. Plus the need to refactor old knowledge sources to recommend new “best practices”.
I kind of understand this is a tradeoof though. Wikitext is trying to fill the gap between “traditional” programming languages and pure markup/templating languages, by being both, and this is not easy at all.