Second-generation programming language: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Mr. Guye
No edit summary
 
imported>InternetArchiveBot
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
Line 1: Line 1:
{{Short description|Way to categorize assembly languages}}
{{Short description|Way to categorize assembly languages}}
The label of '''second-generation programming language''' ('''2GL''') is a generational way to categorize [[assembly language]]s.<ref name="Computer Hope">[http://www.computerhope.com/jargon/num/1gl.htm "Computer Hope, Generation languages"]</ref><ref name="Brookshear">{{cite book |last1=Brookshear |first1=J. Glenn |title=Computer science : an overview |year=2012 |publisher=Addison-Wesley |isbn=978-0-13-256903-3 |pages=240–241 |edition=11th}}</ref><ref name=":0">{{Cite web|url=http://www.uni-miskolc.hu/~geofiz/Oktatok/vass/Generations_and_paradigms.pdf|title=Programming Language generations and Programming Paradigms|last=Vass|first=Péter}}</ref>  They belong to the [[Low-level programming language|low-level programming languages]].
The label of '''second-generation programming language''' ('''2GL''') is a generational way to categorize [[assembly language]]s.<ref name="Computer Hope">[http://www.computerhope.com/jargon/num/1gl.htm "Computer Hope, Generation languages"]</ref><ref name="Brookshear">{{cite book |last1=Brookshear |first1=J. Glenn |title=Computer science : an overview |year=2012 |publisher=Addison-Wesley |isbn=978-0-13-256903-3 |pages=240–241 |edition=11th}}</ref><ref name=":0">{{Cite web|url=http://www.uni-miskolc.hu/~geofiz/Oktatok/vass/Generations_and_paradigms.pdf|title=Programming Language generations and Programming Paradigms|last=Vass|first=Péter|access-date=2019-06-11|archive-date=2020-01-29|archive-url=https://web.archive.org/web/20200129065933/http://www.uni-miskolc.hu/~geofiz/Oktatok/vass/Generations_and_paradigms.pdf|url-status=dead}}</ref>  They belong to the [[Low-level programming language|low-level programming languages]].


The term was coined to provide a distinction from higher level [[machine independent]] [[third-generation programming language]]s (3GLs) (such as [[COBOL]], [[C (programming language)|C]], or [[JavaScript]]) and earlier [[first-generation programming language]]s ([[machine code]])<ref name="Brookshear" /><ref name=":1">{{Cite web|url=http://www.wisegeek.com/what-are-programming-language-generations.htm|title=What Are Programming Language Generations?|website=wiseGEEK|language=en-US|access-date=2019-06-11}}</ref>
The term was coined to provide a distinction from higher level [[machine independent]] [[third-generation programming language]]s (3GLs) (such as [[COBOL]], [[C (programming language)|C]], or [[Java (programming language)|Java]]) and earlier [[first-generation programming language]]s ([[machine code]])<ref name="Brookshear" /><ref name=":1">{{Cite web|url=http://www.wisegeek.com/what-are-programming-language-generations.htm|title=What Are Programming Language Generations?|website=wiseGEEK|language=en-US|access-date=2019-06-11}}</ref>


==Second-generation programming language==
==Second-generation programming language==

Latest revision as of 10:51, 10 December 2025

Template:Short description The label of second-generation programming language (2GL) is a generational way to categorize assembly languages.[1][2][3] They belong to the low-level programming languages.

The term was coined to provide a distinction from higher level machine independent third-generation programming languages (3GLs) (such as COBOL, C, or Java) and earlier first-generation programming languages (machine code)[2][4]

Second-generation programming language

Script error: No such module "labelled list hatnote". Second-generation programming languages have the following properties:

  • Lines within a program correspond directly to processor commands, essentially acting as a mnemonic device overlaying a first generation programming language.
  • The code can be read and written by a programmer. To run on a computer it must be converted into a machine readable form, a process called assembly.[4]
  • The language is specific to a particular processor family and environment.[2]

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.[5] Programming in second generation languages may yield speed benefits, but several disadvantages have led to its decline:

  • Programming is expressed in terms of individual processor instructions, rather than higher level logic.[2][3]
  • Low-level memory and hardware details must be manually managed which is often bug-prone.[2]
  • Programs are machine-dependent, so different versions must be written for every target machine architecture.[3]

The vast majority of programs are written in a third-generation programming language or a fourth-generation programming language. Assembly's main advantage, speed, has degraded by the fact that well written C code can often be as fast or even faster than handwritten assembly.[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.[2][3]

References

<templatestyles src="Reflist/styles.css" />

  1. ↑ a b "Computer Hope, Generation languages"
  2. ↑ a b c d e f g Script error: No such module "citation/CS1".
  3. ↑ a b c d Script error: No such module "citation/CS1".
  4. ↑ a b Script error: No such module "citation/CS1".
  5. ↑ Script error: No such module "citation/CS1".
  6. ↑ Script error: No such module "citation/CS1".
  7. ↑ Script error: No such module "citation/CS1".
  8. ↑ Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

Script error: No such module "Navbox".