Computer languages can be categorized into high-level languages, low-level languages, and machine language. High-level languages are closer to human language and require compilers or interpreters, while low-level languages like assembly language are closer to machine language. Machine language is binary code that is directly executable by computers. There are also different generations of languages that evolved with advances in hardware and software.