I struggled with this a lot because of experience with Java applets which implied they were "small apps" which implied "app" meant something... and it did; it meant application, which meant program, which meant, I think, something along the lines of "mostly self contained system to accept user input, compute said input, and return a user-friendly result" to oversimplify.
For a long time I boycotted the term "app" once Apple et al. used it as their term for what I considered "programs" and now I'm just done with caring.
App = program = executable = distinct set of actions triggered by user or automated input = interface
For a long time I boycotted the term "app" once Apple et al. used it as their term for what I considered "programs" and now I'm just done with caring.
App = program = executable = distinct set of actions triggered by user or automated input = interface