The MOO programming language is a programming language used to support the MOO system. It is a prototype based object oriented system, with syntax derived from the Algol programming language.

It supports multi-tasking using a retribution based time slicing method. Verbs run with exclusive access to the database, so no explicit locking is necessary to maintain synchronization.

The language has explicit exception handling control flow, as well as traditional looping constructs. A verb and property hierarchy provides default values to prototype objects, with over-riding values 'lower' in the hierarchy.

Programs are byte-code compiled, with implicit decompilation when editing, thus providing a canonical form of programs.

TCP/IP messaging (telnet compatible) is used to communicate with client sockets, each of which is identified with a 'player' in the Virtual reality representation system.