A programming language consists of words for a device that carries out sets of set theory operations automatically.
In computer science, the term automatic programming  identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level
 The dynamic semantics (also known as execution semantics) of a language defines how and when the various constructs of a language should produce a program behavior

