Second-generation programming language
From Wikipedia, the free encyclopedia
A second-generation programming language is a term usually used to refer to some form of assembly language. Unlike first-generation programming languages, the code can be read and written fairly easily by a human, but it must be converted into a machine readable form in order to run on a computer. The conversion process is simply a mapping of the assembly language code into binary machine code (the first-generation language). The language is specific to and dependent on a particular processor family and environment. Since it is a one-to-one mapping to the native language of the target processor it has significant speed advantages, but it requires more programming effort and is difficult to use effectively for large applications.
The primary niche for these languages are in kernels, device drivers, and system libraries. Compilers usually use these as intermediate languages between a higher level language and machine code. Besides those, they are almost never used directly.