La etiqueta de lenguaje de programación de segunda generación ( 2GL ) es una forma generacional de categorizar los lenguajes ensambladores . [1] [2] [3] Pertenecen a los lenguajes de programación de bajo nivel .
El término fue acuñado para proporcionar una distinción entre los lenguajes de programación de tercera generación (3GL) independientes de la máquina de nivel superior (como COBOL , C o JavaScript ) y los lenguajes de programación de primera generación anteriores ( código de máquina ) [2] [4]
Los lenguajes de programación de segunda generación tienen las siguientes propiedades:
Los lenguajes de segunda generación a veces se utilizan para partes de núcleos o controladores de dispositivos , y a veces se utilizan en videojuegos, programas de gráficos y otros programas intensivos. [1]
En los programas modernos, rara vez se utilizan lenguajes ensambladores de segunda generación. [5] La programación en lenguajes de segunda generación puede generar ventajas en términos de velocidad, pero varias desventajas han llevado a su declive:
La gran mayoría de los programas están escritos en un lenguaje de programación de tercera o cuarta generación . La principal ventaja del lenguaje ensamblador, la velocidad, se ha degradado por el hecho de que el código C bien escrito a menudo puede ser tan rápido o incluso más rápido que el lenguaje ensamblador escrito a mano. [2] [6]
Los lenguajes de segunda generación son quizás los más significativos por el lugar que ocupan en la historia de la informática. Durante mucho tiempo, los lenguajes ensambladores de segunda generación fueron la única opción válida para el desarrollo de muchas máquinas, como la NES o la Commodore 64. [ 7] [8] Los lenguajes de segunda generación representaron un gran paso hacia la tradición de que los programadores se adaptaran a las necesidades de una máquina y el primer paso hacia una máquina que se adaptara a las necesidades del programador, un fenómeno que se repetiría en todas las generaciones posteriores de lenguajes de programación. [2] [3]
{{cite web}}
: |author1=
tiene nombre genérico ( ayuda )