LENGUAJES DE PROGRAMACIÓN

La base del entendimiento entre dos o más individuos está dada por la normalización
de sus expresiones y actitudes: para que un hombre comprenda lo que otro le
está diciendo debe compartir un mismo código gestual y verbal, debe compartir un
mismo idioma. Al incursionarnos en el universo de las computadoras, observamos
que el único lenguaje que éstas realmente comprenden es el binario. Cuando se comunican
entre sí, se entienden perfectamente; ambas comprenden lo que significan
aquellas cadenas de ceros y unos prácticamente indescifrables para el hombre. El
problema surge en el momento que una persona intenta darle una instrucción.
Veamos el caso de un programador que está desarrollando una consola de sonido.
Él precisa que se reproduzca una determinada canción robotech_sdf1.mp3 cuando
el usuario presione en un área determinada, lo que significa asignarle un código similar
a éste para que la tarea se desencadene:
0111 0010 1010 0111 0001 1111 1110 1001 0001 0100
0010 1010 0111 0001 1111 0111 0010 1010 0111 0101
Si la manera de indicarles a las computadoras cómo comportarse estuviera basada
únicamente en este lenguaje binario, podríamos contar con los dedos quiénes serían
los individuos capaces de “hablar” efectivamente con ellas. El hombre no se comunica
con ceros y unos, no los comprende… y jamás lo hará. Es por ello que desde
los inicios de la era digital surgió la necesidad de generar nuevos idiomas que actúen
más cerca del territorio lingüístico conocido por el programador. Ellos son los
famosos lenguajes de programación.
Estos lenguajes consisten en verdaderos “traductores” que traspasan un idioma amigable
para el individuo en aquellos tediosos ceros y unos necesarios para que la computadora
opere. Este proceso de traducción puede hacerse mediante un compilador,
un intérprete o con una combinación de los dos. Existen cientos de lenguajes de
programación que, según su cercanía al lenguaje binario, se dividen en cuatro grandes
grupos, que veremos en detalle a continuación:

Lenguaje de máquina o binario: es aquel que la computadora comprende sin
necesidad de realizar conversión alguna. Su escritura resulta extremadamente difícil
para el mayor porcentaje de programadores, y prácticamente ya nadie lo utiliza.
Por otro lado, cada tipo de procesador tiene su propio lenguaje máquina (su
propio juego de instrucciones), de manera que un programa ejecutable que corre
en una computadora equipada con un procesador Pentium no podría correr, por
ejemplo, en un Apple Power Macintosh.

Lenguaje de bajo nivel: también conocido como ensamblador, representa un
paso hacia la humanización de los lenguajes de programación. Consta de un complejo
repertorio de palabras nemotécnicas (tales como add para la suma o sub para
la resta) que simplifican parcialmente la comunicación entre el programador y
la computadora. Se trata de un lenguaje realmente robusto que actúa prácticamente
a la par del lenguaje binario.

MOV AX, A
ADD AX, B
MOV C, AX

Lenguaje de medio nivel: posee un diccionario de comportamientos/instrucciones
que consta de palabras similares a aquellas conocidas por los hombres (include,
define, if). Goza del equilibrio ideal entre simpleza y potencia: una variada gama
de posibilidades para trabajar directamente con la computadora y una escritura capaz
de ser comprendida por el hombre. En este grupo se destaca el lenguaje C.

Lenguaje de alto nivel: es el de mayor entendimiento para el hombre. Escribir una
aplicación con este lenguaje resulta mucho más ágil y sencillo que con los de niveles
anteriores. La mayoría de ellos forjaron sus cimientos en base al lenguaje C, si
bien no logran la “directa comunicación” que posee este último con la computadora.
Destacados: C++, Java, Pascal, Eiffel, Clipper, Ada, Smalltalk, Visual
Basic, Delphi, FoxPro, JAVA y Actionscript.