Job control languages are a feature of any large scale operating system. This paper traces the historical development of these languages, and compares two representative examples, OS/360 JCL and GEORGE 3 command language. The paper draws an analogy between job control languages and programming languages, showing that JCL is equivalent to an assembly language, whilst GEORGE 3 command language is like a simple autocode.