Enciclopedia de Conocimientos Fundamentales
UNAM ˜ SIGLO XXI


regreso








3.1.2 Lenguajes de programación

Programar representa un reto, en parte porque no es fácil describir una idea de manera precisa y detallada. Al "hablarle" a la computadora en un lenguaje de programación, cada palabra y cada oración tienen un sentido único, definido con precisión. No basta con decirle: "ordéname la lista de números", hay que proporcionarle más detalles: de cuántos números consiste, dónde están guardados, si deben ordenarse de menor a mayor o viceversa, etcétera. Además, el lenguaje de programación consta de un número fijo de instrucciones. Si la computadora no tiene una instrucción para ordenar números, hay que programarla a partir de las instrucciones que ya tenga o de otras que hayamos programado con anterioridad.

En la actualidad, algunos ingenieros que construyen computadoras se empeñan en que éstas sepan ejecutar pocas y muy sencillas instrucciones, de modo que faciliten lo más posible su construcción y favorezcan su velocidad. Los programadores generalmente tiran en el sentido opuesto: mientras más instrucciones tengan y más poderosas sean éstas, más fácil resultará "escribir" un programa. El programador requiere de una sola instrucción que pueda usarse para ordenar listas de números, así como de otros elementos; por ejemplo, nombres de personas. En ingeniería se sabe que estas labores se pueden programar a través de instrucciones simples; sin embargo, a veces se muestra reticencia a implementar estas instrucciones en la electrónica. Por lo tanto, en la actualidad, el hardware de la máquina sólo es capaz de ejecutar instrucciones simples, las cuales constituyen el lenguaje de máquina. Programar un sistema complejo, como los que se usan comúnmente (una hoja de cálculo, un procesador de texto, un videojuego), por medio de ese lenguaje, sería poco menos que imposible. Por eso se han inventado los lenguajes de alto nivel. Se llaman así porque el nivel de abstracción en el que se encuentran hace que una sola de sus instrucciones equivalga a varias instrucciones del lenguaje de máquina. Por ejemplo, en algunos lenguajes de alto nivel sí existe una instrucción para ordenar listas.

Como la máquina sólo entiende su limitado repertorio de instrucciones de lenguaje de máquina, al programar en un lenguaje de alto nivel se necesitan compiladores: programas dedicados a traducir programas escritos en lenguajes de alto nivel a su equivalente en lenguaje de máquina.

Existen muchos lenguajes de programación. Cualquier cosa que se pueda programar en un lenguaje se puede programar en cualquier otro. Distintos programas escritos en diferentes lenguajes pueden ser ejecutados en una misma computadora gracias a los compiladores que los traducen a un programa escrito en lenguaje de máquina. Al igual que otros lenguajes (lenguajes hablados, lenguas), cada lenguaje de programación tiene un estilo peculiar y una facilidad especial para expresar cierto tipo de ideas.

Concepto
Un módulo es un componente autocontenido de un sistema que, entre otras cosas, tiene una interfaz bien definida acerca de cómo interactúa con otros módulos. En programación, diseñar y programar o construir un módulo puede ser una tarea compleja. Sin embargo, una vez que un módulo existe puede fácilmente conectarse o desconectarse del sistema.


adalovelace
Ada Lovelace.


Curiosidades
Se considera que Ada Augusta Lovelace (hija del célebre poeta británico Lord Byron) fue la primera programadora de la historia. Ella se concentró en la tarea de elaborar programas para una máquina que nunca se concretó: la máquina analítica diseñada por Charles Babbage. Para programarla se proporcionaban las instrucciones codificadas en trozos de cartón perforados, de acuerdo con un patrón que indicaba a la máquina las operaciones que debía realizar y en qué orden.


Inicio de página