A program is more generic than application. A collection of programs might be used as one application. A classic Java application starts with a static main() and combines a application and its context into a single class.
Unlike a classic application, a program is an object, not a class. It requires an instance, not a static method. The JOS Program API uses the java.lang.Runnable
interface. It start with run, not main(). A program is separate from a program context. -- GilbertHerschberger (20 March 2000).