Llenguatge de programació de segona generació

L'etiqueta de llenguatge de programació de segona generació (2GL) és una manera generacional de classificar els llenguatges assemblador.[1][2] Pertanyen als llenguatges de programació de baix nivell.

El terme va ser encunyat per distingir entre els llenguatges de programació de tercera generació independents de màquines de nivell superior (3GL) (com ara COBOL, C o JavaScript) i els llenguatges de programació de primera generació anteriors (codi màquina) [3][4]

Llenguatge de programació de segona generació

Els llenguatges de programació de segona generació tenen les propietats següents:

  • Les línies d'un programa corresponen directament a les ordres del processador, actuant essencialment com un dispositiu mnemotècnic que superposa un llenguatge de programació de primera generació.
  • El codi pot ser llegit i escrit per un programador. Per executar-se en un ordinador, s'ha de convertir en una forma llegible per màquina, un procés anomenat assemblador.
  • El llenguatge és específic d'una família de processadors i un entorn concrets.

Els llenguatges de segona generació s'utilitzen de vegades per a parts dels nuclis o controladors de dispositius, i de vegades s'utilitzen en videojocs, programes de gràfics i altres programes intensius.

En els programes moderns, rarament s'utilitzen llenguatges assembladors de segona generació.[5] La programació en llenguatges de segona generació pot aportar avantatges de velocitat, però diversos desavantatges han provocat la seva disminució:

  • La programació s'expressa en termes d'instruccions de processador individuals, en lloc de lògica de nivell superior.
  • La memòria de baix nivell i els detalls del maquinari s'han de gestionar manualment, cosa que sovint és propensa a errors.
  • Els programes depenen de la màquina, de manera que s'han d'escriure versions diferents per a cada arquitectura de màquina objectiu.

La gran majoria dels programes estan escrits en un llenguatge de programació de tercera generació o en un llenguatge de programació de quarta generació. El principal avantatge del muntatge, la velocitat, s'ha degradat pel fet que el codi C ben escrit sovint pot ser tan ràpid o fins i tot més ràpid que el muntatge escrit a mà [6][7]

Els idiomes de segona generació són potser els més significatius en el seu lloc en la història de la informàtica. Durant molt de temps, els llenguatges assemblador de segona generació van ser l'única bona opció de desenvolupament per a moltes màquines, com la NES o la Commodore 64.[8][9] Els llenguatges de segona generació van representar un pas massiu lluny de la tradició dels programadors que s'ajustaven a les necessitats d'una màquina, i el primer pas cap a la màquina acomodada per al programador, un fenomen que es repetiria en totes les generacions de llenguatges de programació posteriors.[10][11]

Referències

  1. Brookshear, J. Glenn. Computer science : an overview (en anglès). 11th. Addison-Wesley, 2012, p. 240–241. ISBN 978-0-13-256903-3. 
  2. Vass, Péter. «Programming Language generations and Programming Paradigms» (en anglès). Arxivat de l'original el 2020-01-29. [Consulta: 11 abril 2024].
  3. Brookshear, J. Glenn. Computer science : an overview (en anglès). 11th. Addison-Wesley, 2012, p. 240–241. ISBN 978-0-13-256903-3. 
  4. «What Are Programming Language Generations?» (en anglès americà). wiseGEEK. [Consulta: 11 juny 2019].
  5. «Top Computer Languages 2019 - StatisticsTimes.com» (en anglès). statisticstimes.com. Arxivat de l'original el 2019-06-12. [Consulta: 11 juny 2019].
  6. Brookshear, J. Glenn. Computer science : an overview (en anglès). 11th. Addison-Wesley, 2012, p. 240–241. ISBN 978-0-13-256903-3. 
  7. Walls, Colin. «Why C is faster than assembly» (en anglès). Mentor, a Sieman's Business. Mentor Inc.. Arxivat de l'original el 29 de gener 2020. [Consulta: 11 juny 2019].
  8. Commodore corporation. «C64 programmer's reference» (en anglès). Commodore corporation. [Consulta: 11 juny 2019].
  9. Wikibooks contributors. «NES assembly» (en anglès). Wikibooks: NES Assembly. [Consulta: 11 juny 2019].
  10. Brookshear, J. Glenn. Computer science : an overview (en anglès). 11th. Addison-Wesley, 2012, p. 240–241. ISBN 978-0-13-256903-3. 
  11. Vass, Péter. «Programming Language generations and Programming Paradigms». Arxivat de l'original el 2020-01-29. [Consulta: 11 abril 2024].