Programming Languages

Preliminary thoughts:

FIVE GENERATIONS OF PROGRAMMING LANGUAGES

FIRST GENERATION: Machine language (strings of 0s and 1s). This is the only language the CPU understands. Each type of CPU has its own language and they are not transferable.
SECOND GENERATION: Assembly language (3-letter codes). Easier for programmers to use. Use an assembler to translate from ASSEMBLY to MACHINE.
THIRD GENERATION:  High level programming languages (FORTRAN, COBOL, BASIC, PASCAL, C, C++, RPG, ADA, SQL, LOGO). All of the languages used to produce what's on your desk are high level languages.
The above three generations are all procedural languages - you have to tell the computer exactly how to do something.
FOURTH GENERATION: Very high level programming languages. An interpreter translates as you go (each time) versus a complier which translates once and leaves latest version.
FIFTH GENERATION: Natural languages (voice recognition and artificial intelligence)
The last two generations are non-procedural where step-by-step instructions are not necessary (the computer figures it out). Fourth generation is still however bound by rules.