There are two types of programming languages: high-level languages and low-level languages. High-level languages are closer to human languages and provide more abstraction from machine-level instructions, while low-level languages like assembly language closely map to processor instructions. Programs written in high-level languages need to be translated into machine code using compilers or interpreters, while low-level language programs are assembled directly into machine code. Common examples of high-level languages include C++, Java, and Python, while assembly language and Basic are examples of low-level languages.