Programming languages are sometimes classified into generations. 5th generation languages (5GL) are associated with artificial intelligence and aim to solve problems using constraints rather than specifying algorithms step-by-step. Prolog (Programming in Logic) is a prime example of a logic programming language developed in the early 1970s and is widely considered a 5th generation language, often used in AI research, expert systems, and natural language processing.