Programming languages can be categorized by whether they are low-level or high-level. They can also be referred to by "generation". 1st-generation languages are the machine code of the [[CPU]]. 2nd-generation languages are the assembly languages. 3rd-generation languages are what most programmers use in the modern world and include such things as BASIC, C++, Pascal, and PHP. 4th-generation languages are domain-specific and offer productivity gains for programmers in those domains, but their narrow focus makes them unsuitable for solving problems outside of their specific domain. 1st- and 2nd-generation languages are categorized as low-level, while 3rd- and 4th-generation are categorized as high-level. Each generation abstracts the programming concepts further away from the hardware that runs the program. However, concepts and capabilities often cross these generational boundaries over time. | Programming languages can be categorized by whether they are low-level or high-level. They can also be referred to by "generation". 1st-generation languages are the machine code of the [[CPU]]. 2nd-generation languages are the assembly languages. 3rd-generation languages are what most programmers use in the modern world and include such things as BASIC, C++, Pascal, and PHP. 4th-generation languages are domain-specific and offer productivity gains for programmers in those domains, but their narrow focus makes them unsuitable for solving problems outside of their specific domain. 1st- and 2nd-generation languages are categorized as low-level, while 3rd- and 4th-generation are categorized as high-level. Each generation abstracts the programming concepts further away from the hardware that runs the program. However, concepts and capabilities often cross these generational boundaries over time. |