We believe that programming can be, and should be, an intellectually rewarding activity; that a good programming language is a powerful conceptual tool — a tool for organizing, expressing, experimenting with, and even communicating one’s thoughts … we think that programming can be, and should be, part of the problem solving process itself; that thoughts should be organized as programs, so that consequences of a complex set of assumptions can be investigated by “running” the assumptions; that a conceptual solution to a problem should be developed hand-in-hand with a working program that demonstrates it and exposes its different aspects.

— Sterling & Shapiro, The Art of Prolog

program (n.)

1630s, “public notice,” from Late Latin programma “proclamation, edict,” from Greek programma “a written public notice,” from stem of prographein “to write publicly,” from pro “forth” (see pro-) + graphein “to write” (see -graphy).