An interpreted language is a type of programming language in which most of its implementations execute instructions directly, without the need for prior compilation into machine-language instructions. This allows for greater flexibility and ease of debugging, but can result in slower execution speed compared to compiled languages.