A managed language is a language designed to produce programs that are consumed within a specific runtime environment, which almost always includes a bytecode interpreter; a virtual machine that takes the program's code and performs some additional machine or environment-specific transformation.