Second-generation programming language
The term was coined to provide a distinction from higher level machine independent third-generation programming languages (3GLs) (such as COBOL, C, or JavaScript) and earlier first-generation programming languages (machine code)[2][4] Second-generation programming languages have the following properties: Second-generation languages are sometimes used for parts of kernels or device drivers, and are sometimes used in video games, graphics programs, and other intensive programs.[1] In modern programs, second generation assembly languages are rarely used.[2][6] Second generation languages are perhaps most significant in their place in computing history.For a long time, Second generation assembly languages were the only good option for development for many machines, such as the NES or the Commodore 64.[7][8] Second generation languages represented a massive step away from the tradition of programmers conforming to the needs of a machine, and the first step towards the machine accommodating for the programmer, a phenomenon that would be repeated in all subsequent programming language generations.