Podemos clasificar a los lenguajes de programación de diversas formas, según su generación evolutiva, su nivel de formalidad, propósito, si son compilados o interpretados, entre otras. La gama de clasificaciones es muy amplia y sucede que un determinado lenguaje puede ubicarse en más de una categoría, por tal motivo en este recurso los clasificaremos según su nivel de cercanía al lenguaje de máquina al tiempo que haremos referencia a la generación evolutiva del mismo. Esto significa que si un lenguaje es muy cercano al lenguaje que utiliza un computador (ceros y unos) será considerado de bajo nivel, mientras que los más alejados al lenguaje de la máquina son considerados de alto nivel; al tiempo que su generación será más avanzada en tanto más se aleje del sistema.
Tipos de lenguajes
Lenguaje de bajo nivel - Primera generación
Son los que operan cercano a la máquina, ellos operan a través de secuencias de unos y ceros. En este lenguaje las instrucciones como las asignaciones de memoria son conformadas por secuencias de unos y ceros. Como es de notar la máquina es capaz de interpretar este lenguaje de forma directa. El lenguaje ensamblador es también considerado de bajo nivel por más que ya posee algunas sentencias que incluyen caracteres o cadenas de caracteres que operan como símbolos que representan determinadas acciones. Por ejemplo ADD representa la adición, MUL la multiplicación, entre otras.
Lenguajes de nivel medio - Segunda generación
Los lenguajes intermedios son los que operan directamente con los ensambladores o con el lenguaje de máquina, son lenguajes con un alto nivel de abstracción, muy potentes y complejos. Ejemplos de éstos son C y Forth.
Lenguajes de alto nivel - Tercera generación
Los lenguajes de alto nivel son lenguajes que no acceden directamente al sistema, en éstos se puede programar rutinas y sub rutinas que posibilitan la creación de estructuras complejas. Algunos ejemplo son COBOL, PASCAL, FORTRAN, entre otros.
Lenguajes de muy alto nivel - Generaciones cuarta en adelante
Son lenguajes que permiten la creación de programas a partir de subprogramas o componentes. En mayor parte son orientados a objetos, esto permite la creación de clases de objetos que tendrán sus acciones específicas distintas a la de otro objeto del mismo programa. Algunos de estos lenguajes son Java, C++, C#, Ruby, Python, entre otros.
Este orden propuesto es una forma de agrupar a los diferentes lenguajes según su creación y su cercanía al sistema o lenguaje de máquina.
En suma, se debe tener presente que la máquina solo entiende el lenguaje binario compuesto por unos y ceros, y los ensambladores son los únicos que acceden directamente al lenguaje de máquina, por tanto los lenguajes de mayor nivel necesitarán de un intérprete o traductor que convierta el código fuente que fue escrito por el programador en un código interpretable o compilable por la computadora, una vez que este código fuente sea traducido al código de máquina podrá ser utilizado por la computadora.
A esto debemos agregar que los lenguajes pueden ser interpretados o compilados, para explicarte mejor este punto te sugerimos que mires el siguiente vídeo.
Debemos aclarar que no mencionamos una serie de tecnologías accesorias o complementarias a los lenguajes de programación como tecnologías referentes a la creación de bases de datos, redes o sitios web, el tema es muy amplio y complejo.
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0