|Pathologically Eclectic Rubbish Lister|
I call a program which wraps another program or is built into another program to automate a function normally done by hand a 'script' or a 'macro'.
I call a program that an end-user uses by hand an 'application'.
I call a program that an administrator uses by hand (or controlled via a script ;-) a 'utility'.
I call a program that developers use by hand a 'tool'.
I call a program that runs in the background waiting for events a 'daemon'.
I call a program that writes another program a happy program. ;-)
Maybe these are just peculiar to me, or maybe I'm just peculiar. Either way, those are my thoughts.