I think that people are trying to coin separate terms to differentiate the amount of knowledge one needs to complete the task. E.g. writing some automation in Python is easier than writing the same automation in C due to a lack of needing to understand things like character arrays and malloc. In reality, it's all programming, just via different interfaces.
> Where by "script" I mean to write a program, but for ad hoc tasks, and on a relatively small scale.
By that, I meant that a “script” is a specific type of program. “Scripting” is a subset of “programming”. Any type of program is a “program”. To be a “script”, a program must be for an ad hoc (one-time) task, and small relative to other programs. At least, according to my idea of the definition – though it is unclear what the “official” definition is.