Generations of Computer Languages
by Andrew Galasso
1. First Generation
1.1. Machine languages were the first languages available for programming computers.
1.2. A machine language is specific to a particular CPU or microprocessor family
1.3. A machine language consists of a set of commands, represented as a series of 1s and 0s, corresponding to the instruction set that is hardwired into circuitry of a microprocessor.
2. Second Generation
2.1. At the time assembly languages were first introduced, they were hailed as a improvement over machine languages, and came to be known as second-generation languages.
2.2. An assembly language is classified as a low-level language because it is machine specific.
2.3. An assembly language is useful when a programmer wants to directly manipulate what happens at the hardware level.
3. Third Generation
3.1. When high level languages were originally conceived in the 1950s, they were dubbed third-generation languages because they seemed a major improvement over machine and assembly languages.
3.2. Third generation languages used easy-to-remember command words, such as PRINT and INPUT, to take the place of several lines of assembly language op codes or lengthy strings of machine language 0s and 1s.
4. Fourth Generation
4.1. In 1969, computer scientists began to develop high-level languages, called forth generation languages.
4.2. More closely resemble human languages, or natural languages, than do third generation languages.
4.3. Fourth generation languages, such as SQL and RPG, eliminate many of the strict punctuation and grammar rules that complicate third generation languages.
5. Fifth Generation
5.1. In 1982 a group of Japanese researchers began to work on fifth generation computer project that used Prolog.
5.2. Prolog and other declarative languages became closely identified with the fifth generation project and were classified by some experts as fifth generation languages.