Computer languages allow humans to communicate with computers. There are two main types: low-level languages like machine language using 1s and 0s that are easy for computers to understand but hard for humans, and high-level languages like Python and Java that use words and symbols humans can understand but require compilation. Low-level languages interact directly with hardware while high-level languages are portable, easier to execute but less efficient in memory usage. High-level languages are more commonly used today.