User-friendly work cell programming languages are needed for many flexible manufacturing system applications. This paper surveys representative languages and code generators and identifies design criteria for improved work cell programming languages. Two object-like languages developed to support programming of a small work cell are presented. The first, Cell Programming Language (CPL), is a traditional statement-oriented language that provides a simple and user-friendly model for programming a small work cell using object-like constructs. The second language, State-based Control Language (SBCL), is a state-based language using the same objects as CPL, but incorporating support for concurrency. Both languages focus on cell-level control. The languages are implemented in an interpreted (or virtual machine) environment that distinguishes them from most other control languages, which are based on machine language.