Clasificación de los Lenguajes de Programación

Los programadores escriben instrucciones en diversos lenguajes de programación. La computadora puede entender directamente algunos de ellos, pero otros requieren pasos de traducción intermedios. Hoy día se utilizan cientos de lenguajes de computadora.

Los Lenguajes de Programación pueden clasificarse de acuerdo con su uso en:

1. Lenguajes desarrollados para el cálculo numérico. Tales como FORTRAN, Mathematica.

2. Lenguajes para sistemas. Como C, C++ y ensamblador.

3. Lenguajes para aplicaciones de Inteligencia Artificial. Tales como Prolog y Lisp.

También se pueden clasificar de acuerdo con el tipo de instrucciones de que constan. En esta clasificación se tiene al lenguaje máquina, al lenguaje ensamblador y al lenguaje de alto nivel. Se presenta a continuación una descripción de cada uno de ellos.

Lenguaje máquina (Binario):

Una computadora sólo puede entender el lenguaje máquina. El lenguaje de máquina ordena a la computadora realizar sus operaciones fundamentales una por una. Dicho lenguaje es difícil de usar para lar persona porque trabajar con números no es muy cómodo además de que estos números están en formato binario.

¿Cómo es que se representan las operaciones como números?

John Von Neumann desarrolló el modelo que lleva su nombre para esta representación. Ya se estudió que representar números usando el sistema binario no es complicado, pero se tenía luego el problema de representar las acciones (o instrucciones) que iba a realizar la computadora también en el sistema binario; pues la memoria, al estar compuesta por bits, solamente permite almacenar números binarios.

La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar la computadora, se le asocia un número, que corresponde a su código de operación (opcode).

Por ejemplo, una calculadora programable simple podría asignar los siguientes opcodes :

1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE

Supóngase entonces que se quiere realizar la operación 5 * 3 + 2, en la calculadora descrita arriba. En la memoria de la calculadora se podría representar el programa de la siguiente forma:

Posición Opcode Significado Comentario

0- 5 5 Primer número de la fórmula.

1- 3 * 3 es el opcode que representa la multiplicación.

2- 3 3 Segundo número de la fórmula

3- 1 + 1 es el opcode para la suma.

4- 2 2 Último número de la fórmula.

y en código binario:

5 3 3 1 2 = 101 011 011 001 010

Podemos ver que, con esta representación, es simple expresar las operaciones de las que es capaz de realizar el hardware en la memoria. La descripción y uso de los opcodes es lo que se llama lenguaje de máquina. El lenguaje máquina es el lenguaje más primitivo y depende directamente del hardware.

Lenguajes de bajo nivel (ensamblador):

Para facilitar y agilizar su labor a los programadores, se buscaron nuevos lenguajes. Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una clave de su significado, se tiene el concepto de Lenguaje Ensamblador. Así, el lenguaje ensamblador representa las acciones del ordenador mediante pequeñas abreviaturas de palabras en inglés.

Podemos entonces definir al Lenguaje Ensamblador de la siguiente forma:

Lenguaje Ensamblador consiste en asociar a los opcodes palabras clave que faciliten su uso por parte del programador no obstante, el lenguaje ensamblador requiere de muchas instrucciones para realizar simples operaciones.

Lenguajes de alto nivel:

Para acelerar aun más el proceso de programación se desarrollaron los lenguajes de alto nivel, en los que se puede escribir un sólo enunciado para realizar tareas sustanciales. Los lenguajes de alto nivel permiten a los programadores escribir instrucciones que asemejan al inglés cotidiano y contiene notaciones matemáticas de uso común.

El concepto de lenguaje de alto nivel nació con el lenguaje FORTRAN (FORmula TRANslation) que, como su nombre indica, surgió como un intento de traducir fórmulas matemáticas al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de FORTRAN, se han desarrollado innumerables lenguajes que siguen el mismo concepto: buscar la mayor abstracción posible y facilitar la vida al programador, aumentando la productividad.

EJEMPLO DE TIPOS DE LENGUAJES

Lenguaje Máquina

100001010101010

100100101010100

100011100101110

Lenguaje de Nivel Bajo (Ensamblador)

LOAD R1, (B)

LOAD R2, (C)

ADD R1, R2

STORE (A), R1

Lenguajes de Alto Nivel

A = B + C; Programación.

No hay comentarios:

Publicar un comentario