Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A second generation (programming) language (2GL) is a grouping of programming languages associated with assembly languages. Unlike the first generation languages, programs can be written symbolically, using English words (also known as mnemonics), in a way that a human can understand and are subsequently converted into machine language by an assembler.
Assembly languages are specific to computer and CPU. The term is used in the distinction between Machine Languages (1GL) and higher-level programming languages (3GL, 4GL, etc.)
Also known as a 2nd generation language.
Assembly Languages originated in the 1940s, and are attributed to the efforts of the American naval officer Grace Hopper, with the introduction of the FLOW-MATIC language for the ENIAC computer.
2GL are mostly used for the implementation of low-level kernels and drivers and for performance-oriented and processing-intensive applications such as computer games, graphic manipulation applications and video editing applications.
The symbolic representation of machine Instructions, registers and memory addresses allows the programmer to produce a human-readable program. For the computer to understand the program it must be converted to a machine readable format using an Assembler. The Assembler usually converts the Mnemonics via a one-to-one mapping from the mnemonic representation to machine language, for a particular processor family and environment.
Assemblers allow for easier debugging of the program, and also introduce more advanced programming mechanisms such as macro Programming and structured Programming.