There are four generations of programming languages: 1) First generation languages are machine code/binary, the only language computers can understand directly. 2) Second generation languages are assembly languages which provide mnemonics to represent machine code instructions. 3) Third generation languages like Java, C, and Basic are easier for humans to read and write. They are converted into machine code. 4) Fourth generation languages like SQL and Prolog are more focused on problem solving than implementation details. They are very platform independent.