Programming languages can be categorized based on their level of abstraction from the machine. Low-level languages like machine language and assembly language are closer to the machine while high-level languages are more abstract. High-level languages are easier for humans to read and write but require compilers or interpreters to convert them to machine language. Common high-level languages include FORTRAN, COBOL, BASIC, Pascal, C, C++ and newer languages like JavaScript and Python.