On Wed, Jan 30, 2019 at 8:50 PM Jamesie Pic firstname.lastname@example.org wrote:
For me, assembling a string from various variables is a much more common programing task, because that's how users except software to communicate with them, be it on CLI, GUI, or through Web.
It doesn't matter if your software works and the user doesn't understand it. It doesn't matter if your software doesn't work, as long as the user understands it.
I wonder what makes my use case so special, perhaps because when I make software it's always on the purpose to serve an actual human being need ?
Most places where you need to talk to humans, you'll end up either interpolating the values into a template of some sort (see: percent formatting, the format method, and f-strings), or plug individual values straight into method calls (eg when building a GUI). I'm not sure why or how your use-case is somehow different here.
It's generally best to provide simple low-level functionality, and then let people build it into whatever they like. For example, VLC Media Player and Counter-Strike: Global Offensive don't have any means of interacting, but with some simple Python programming in between, it's possible to arrange it so that the music automatically pauses while you're in a match. But there does NOT need to be a game feature "automatically pause VLC while in a match". Joining a collection of strings is possible. Stringifying a collection of arbitrary objects is possible. There doesn't need to be a single feature that does both at once.