Lenguajes
de programación
Un programa es una secuencia de instrucciones que indican al hardware
de una computadora qué operaciones debe realizar con los datos. Los programas
pueden estar incorporados al propio hardware, o bien pueden existir de
manera independiente en forma de software. En algunas computadoras
especializadas las instrucciones operativas están incorporadas en el sistema de
circuitos; entre los ejemplos más comunes pueden citarse los microordenadores
de las calculadoras, relojes de pulsera, motores de coches y hornos microondas.
Por otro lado, una computadora de uso general, contiene algunos programas
incorporados (en la ROM) o instrucciones (en el chip del procesador), pero
depende de programas externos para ejecutar tareas útiles. Una vez programado,
podrá hacer tanto o tan poco como le permita el software que lo controla
en determinado momento. El software de uso más generalizado incluye una
amplia variedad de programas de aplicaciones, es decir, instrucciones a la
computadora acerca de cómo realizar diversas tareas.
Las instrucciones deben darse en un lenguaje de
programación, es decir, en una determinada configuración de información digital
binaria. En las primeras computadoras, la programación era una tarea difícil y
laboriosa ya que los conmutadores ON-OFF de las válvulas de vacío debían
configurarse a mano. Programar tareas tan sencillas como ordenar una lista de
nombres requería varios días de trabajo de equipos de programadores. Desde
entonces se han inventado varios lenguajes informáticos, algunos orientados
hacia funciones específicas y otros centrados en la facilidad de uso.
Lenguaje máquina El
lenguaje propio de una computadora, basado en el sistema binario o código
máquina, resulta difícil de utilizar para las personas. El programador debe
introducir todos y cada uno de los comandos y datos en forma binaria, y una
operación sencilla como comparar el contenido de un registro con los datos
situados en una ubicación del chip de memoria puede tener el siguiente formato:
11001010 00010111 11110101 00101011. La programación en lenguaje máquina es una
tarea tan tediosa y consume tanto tiempo que muy raras veces lo que se ahorra
en la ejecución del programa justifica los días o semanas que se han necesitado
para escribir el mismo.
Lenguaje ensamblador Uno
de los métodos inventados por los programadores para reducir y simplificar el
proceso es la denominada programación con lenguaje ensamblador. Al asignar un
código mnemotécnico (por lo general de tres letras) a cada comando en lenguaje
máquina, es posible escribir y depurar o eliminar los errores lógicos y de
datos en los programas escritos en lenguaje ensamblador, empleando para ello
sólo una fracción del tiempo necesario para programar en lenguaje máquina. En
el lenguaje ensamblador, cada comando mnemotécnico y sus operadores simbólicos
equivalen a una instrucción de máquina. Un programa ensamblador traduce el
código fuente, una lista de códigos de operación mnemotécnicos y de operadores
simbólicos, a código objeto (es decir, a lenguaje máquina) y, a continuación,
ejecuta el programa.
Sin embargo, el lenguaje ensamblador puede utilizarse con un solo
tipo de chip de CPU o microprocesador. Los programadores, que dedicaron tanto
tiempo y esfuerzo al aprendizaje de la programación de un cierto tipo de
computadora, se veían obligados a aprender un nuevo estilo de programación cada
vez que trabajaban con otra máquina. Lo que se necesitaba era un método
abreviado en el que un enunciado simbólico pudiera representar una secuencia de
numerosas instrucciones en lenguaje máquina, y un método que permitiera que el
mismo programa pudiera ejecutarse en varios tipos de máquinas. Estas
necesidades llevaron al desarrollo de lenguajes de alto nivel.
Los lenguajes de alto nivel suelen utilizar términos
ingleses del tipo LIST, PRINT u OPEN como comandos que representan una
secuencia de decenas o de centenas de instrucciones en lenguaje máquina. Los
comandos se introducen desde el teclado, desde un programa residente en la
memoria o desde un dispositivo de almacenamiento, y son interceptados por un
programa que los traduce a instrucciones en lenguaje máquina.
Los programas traductores son de dos tipos: intérpretes y
compiladores. Con un intérprete, los programas que repiten un ciclo para volver
a ejecutar parte de sus instrucciones, reinterpretan la misma instrucción cada
vez que aparece. Por consiguiente, los programas interpretados se ejecutan con
mucha mayor lentitud que los programas en lenguaje máquina. Por el contrario,
los compiladores traducen un programa íntegro a lenguaje máquina antes de su
ejecución, por lo cual se ejecutan con tanta rapidez como si hubiesen sido
escritos directamente en lenguaje máquina.
Se considera que fue la estadounidense Grace Hopper quien
implementó el primer lenguaje de computadora para uso comercial. Después de
programar un equipo experimental en la Universidad de Harvard, trabajó en los
modelos UNIVAC I y UNIVAC II, desarrollando un lenguaje de alto nivel para uso
comercial llamado FLOW-MATIC. Para facilitar el uso de los equipos para
aplicaciones científicas, IBM desarrolló un lenguaje que simplificaría el
trabajo que implicaba el tratamiento de fórmulas matemáticas complejas.
Iniciado en 1954 y terminado en 1957, el FORTRAN (acrónimo de Formula Translator)
fue el primer lenguaje exhaustivo de alto nivel de uso generalizado.
En 1957 una asociación estadounidense, la Association for
Computing Machinery comenzó a desarrollar un lenguaje universal que
corrigiera algunos de los defectos del FORTRAN. Un año más tarde fue lanzado el
ALGOL (acrónimo de Algorithmic Language), otro lenguaje de orientación
científica. De gran difusión en Europa durante las décadas de 1960 y 1970,
desde entonces ha sido sustituido por nuevos lenguajes, mientras que el FORTRAN
continúa siendo utilizado debido a las gigantescas inversiones que se hicieron
en los programas existentes. El COBOL (acrónimo de Common Business Oriented
Language) es un lenguaje de programación para uso comercial y empresarial
especializado en la organización de datos y manipulación de archivos, y hoy día
está muy difundido en el mundo empresarial.
El lenguaje BASIC (acrónimo de Código de Instrucciones Simbólicas
de Uso General para Principiantes) fue desarrollado en el Dartmouth College a
principios de la década de 1960 y está dirigido a los usuarios de ordenador no
profesionales. Este lenguaje se universalizó gracias a la popularización de los
microordenadores en las décadas de 1970 y 1980. Calificado de lento, ineficaz y
poco estético por sus detractores, BASIC es sencillo de aprender y fácil de
utilizar. Como muchos de los primeros microordenadores se vendieron con BASIC
incorporado en el hardware (en la memoria ROM), se generalizó el uso de
este lenguaje.
Aunque existen centenares de lenguajes informáticos y de
variantes, hay algunos dignos de mención, como el PASCAL, diseñado en un
principio como herramienta de enseñanza, hoy es uno de los lenguajes de
microordenador más populares; el Logo fue desarrollado para que los niños
pudieran acceder al mundo de la informática; el C, un lenguaje de Bell
Laboratories diseñado en la década de 1970, se utiliza ampliamente en el
desarrollo de programas de sistemas, al igual que su sucesor, el C++. El LISP y
el PROLOG han alcanzado amplia difusión en el campo de la inteligencia
artificial.
A la fecha, el desarrollo de programas orientados a objetos para
interfaces gráficas ha traído la aparición de los lenguajes denominados Visuals,
como son el Visual Basic, el Visual Fox Pro, el Visual C, Delphi, entre otros
Lenguajes de programación
|
|
|
|
|
|
|
|
|
LENGUAJE |
ORIGEN DEL NOMBRE |
AÑO |
USOS/COMENTARIOS |
|
|
|
ADA |
Augusta ADA Byron |
1979 |
Derivado de Pascal, utilizado principalmente por los
militares. |
|
|
|
ALGOL |
ALGOrithmic Language |
1960 |
Primer lenguaje de programación procedural estructurado,
utilizado sobre todo para resolver problemas matemáticos. |
|
|
|
APL |
A Programming Language |
1961 |
Lenguaje interpretado que utiliza un amplio conjunto de
símbolos especiales y que se caracteriza por su brevedad. Utilizado
fundamentalmente por los matemáticos. |
|
|
|
BASIC |
Beginners All-Purpose Symbolic
Instruction Code(Código de instrucciones simbólicas
multipropósito para principiantes) |
1965 |
Lenguaje de programación de alto nivel, utilizado con
frecuencia por programadores principiantes. |
|
|
|
C |
Predecesor del lenguaje de programación B, fue
desarrollado en Bell Laboratory, en 1972 |
1972 |
Lenguaje de programación compilado y estructurado, que
suele utilizarse en numerosos lugares de trabajo porque sus programas pueden
transferirse fácilmente entre distintos tipos de computadoras. |
|
|
|
COBOL |
COmmon Business-Oriented
Language (Lenguaje simbólico de programación orientado a aplicaciones
comerciales) |
1959 |
Lenguaje de programación semejante al idioma inglés, que
hace hincapié en las estructuras de datos. De amplia utilización,
principalmente en empresas. |
|
|
|
FORTH |
Lenguaje de cuarta |
1970 |
Lenguaje estructurado e interpretado de fácil ampliación.
Ofrece una alta funcionalidad en un espacio reducido. |
|
|
|
FORTRAN |
FORmula TRANslation |
1954 |
Diseñado en un principio para usos científicos y de
ingeniería, se trata de un lenguaje compilado de alto nivel que hoy se
utiliza en numerosos campos. Precursor de diversos conceptos, como las
variables, las instrucciones condicionales y las subrutinas compiladas por
separado. |
|
|
|
LISP |
LISt Processing |
1960 |
Lenguaje de programación orientado a la generación de
listas, utilizado principalmente para manipular listas de datos. Lenguaje
interpretado que suele utilizarse en las investigaciones y está considerado
como el lenguaje estándar en proyectos de inteligencia artificial. |
|
|
|
LOGO |
Derivado del griego logos, ‘palabra’. |
1968 |
Lenguaje de programación que suele utilizarse con niños.
Presenta un sencillo entorno de dibujo y varias prestaciones de mayor nivel
del lenguaje LISP. Fundamentalmente educativo. |
|
|
|
Modula-2 |
MODUlar LAnguage-2,
diseñado como fase secundaria de Pascal |
1980 |
Lenguaje que hace hincapié en la programación modular. Es
un lenguaje de alto nivel basado en Pascal, que se caracteriza por la
ausencia de funciones y procedimientos estandarizados. |
|
|
|
Pascal |
Blaise PASCAL, matemático e inventor del primer
dispositivo de computación. |
1971 |
Lenguaje compilado y estructurado basado en ALGOL. Agrega
tipos y estructuras de datos simplificando la sintaxis. Al igual que el C, se
trata de un lenguaje de programación estándar para microcomputadoras. |
|
|
|
PILOT |
Programmed Inquiry, Language
Or Teaching |
1969 |
Lenguaje de programación utilizado fundamentalmente para
crear aplicaciones destinadas a instrucciones asistidas por computadora. Se
caracteriza por utilizar un mínimo de sintaxis. |
|
|
|
PL/1 |
Programming Language 1
|
1964 |
Diseñado para combinar las principales virtudes del
FORTRAN, COBOL y ALGOL, se trata de un lenguaje de programación complejo.
Compilado y estructurado, es capaz de gestionar errores y de procesar
multitareas, y se emplea en entornos académicos y de investigación. |
|