Anda di halaman 1dari 2

1.

LENGUAJES DE PROGRAMACIN
Las relaciones humanas se llevan a cabo a travs del lenguaje. Una lengua permite la expresin de ideas y de razonamientos, y
sin ella la comunicacin sera imposible. Los ordenadores slo aceptan y comprenden un lenguaje de bajo nivel, que consiste en largas
secuencias de ceros y unos. Estas secuencias son ininteligibles para muchas personas, y adems son especficas para cada ordenador,
constituyendo el denominado lenguaje mquina.
La programacin de ordenadores se realiza en los llamados lenguajes de programacin que posibilitan la comunicacin de
rdenes a la computadora u ordenador.
Un lenguaje de programacin se puede definir de distintas formas:
es una notacin formal para describir algoritmos o funciones que sern ejecutadas por un ordenador.
es un lenguaje para de comunicar instrucciones al ordenador.
es una convencin para escribir descripciones que puedan ser evaluadas.
Tambin se utilizan en Informtica otros lenguajes que no son de programacin y que tienen otras aplicaciones, por ejemplo
puede haber lenguajes para describir formatos grficos, de texto, de descripcin de pginas, de descripcin de sonidos y msica, etc...
En otros casos los lenguajes pueden ser un subconjunto de los lenguajes naturales (Castellano, Ingls, etc...) o lenguajes que describen
un formato particular de entrada de datos.
1.1 Clasificacin de los lenguajes de programacin
Los lenguajes de programacin se pueden clasificar desde distintos puntos de vista:
Segn su grado de independencia de la mquina
Segn la forma de sus instrucciones
Por generaciones
Segn su grado de independencia de la mquina
Los lenguajes se pueden clasificar segn su grado de independencia de la mquina en que se ejecutan en cinco grupos:
Lenguaje mquina
Lenguaje ensamblador (en ingls assembly)
Lenguajes de medio nivel
Lenguajes de alto nivel o lenguajes orientados a usuarios
Lenguajes orientados a problemas concretos
El lenguaje mquina es la forma ms baja de un lenguaje de programacin. Cada instruccin en un programa se
representa por un cdigo numrico, y unas direcciones (que son otros cdigos numricos) que se utiliza para referir
las asignaciones de memoria del ordenador. El lenguaje mquina es la notacin que entiende directamente el
ordenador, est en binario o en notacin hexadecimal, y el repertorio de sus instrucciones, as como la estructura
de stas, estn ligadas directamente a la arquitectura de la mquina. Los ordenadores actuales se basan en la
arquitectura de la mquina de Von Neumann [BURK46, FERN94]. La mquina de Von Neumann tiene un repertorio
de instrucciones basado en datos, operaciones aritmticas, asignaciones de posiciones de memoria y control de
flujo. Vase en el anexo I una breve descripcin del lenguaje mquina de los microprocesadores 80x86.
El lenguaje ensamblador es esencialmente una versin simblica de un lenguaje mquina. Cada cdigo de
operacin se indica por un cdigo simblico. Por ejemplo ADD para adicin y MUL para multiplicacin. Adems,
las asignaciones de memoria se dan con nombres simblicos, tales como PAGO y COBRO. Algunos ensambladores
contienen macroinstrucciones cuyo nivel es superior a las instrucciones del ensamblador. Vase el anexo II el
lenguaje ensamblador de la familia de los microprocesadores 80x86.
Los lenguajes de medio nivel tienen algunas de las caractersticas de los lenguajes de bajo nivel (posibilidad de
acceso directo a posiciones de memoria, indicaciones para que ciertas variables se almacenen en los registros del
microprocesador, etc...) aadidas a las posibilidades de manejo de estructuras de control y de datos de los lenguajes
de alto nivel. Ejemplos de este tipo de lenguajes son el C [KERN78, KERN88] y el FORTH [KELL86]. Sobre el
lenguaje c puede consultarse el anexo IV.
Los lenguajes de alto nivel tales como FORTRAN [ANSI89, CUEV93b], COBOL [ANSI74], Pascal [JENS91,
CUEV94A],... tienen caractersticas superiores a los lenguajes de tipo ensamblador, aunque no tienen algunas
posibilidades de acceso directo al sistema. Facilitan la escritura de programas con estructuras de datos complejas,
la utilizacin de bloques, y procedimientos o subrutinas. Sobre el lenguaje Pascal puede consultarse el anexo III.
Dentro de los lenguajes de alto nivel se pueden destacar un tipo de lenguajes, denominados lenguajes orientados
a objetos, que permiten definir tipos abstractos de datos (habitualmente denominados clases) que agrupan datos
y mtodos (operadores, funciones y procedimientos). Los objetos son la instanciacin de una clase. Las clases se
definen en tiempo de compilacin, y los objetos son definidos en ejecucin. Las clases pueden heredar propiedades
de otras clases (herencia). El acceso a los datos de un objeto tan slo se hace a travs de sus mtodos (encapsulacin).
Los mtodos con un mismo nombre pueden manejar distintos tipos de objetos (polimorfismo), detectando el

-1-
mtodo en tiempo de ejucucin la operacin que debe realizar sobre el objeto (asociacin dinmica). Ejemplos
de este tipo de lenguajes son Smalltalk [GOLD83, GOLD89], C++ [STRO86, STRO91, STRO94], Eiffel [ME-
YE88, MEYE92], Object Pascal y Turbo Pascal [CUEV94A], etc... Sobre los lenguajes orientados a objetos
pueden consultarse los anexos V (Simula), VI (Smalltalk), VII (Ada), VIII (C++), IX (Object Pascal y Turbo
Pascal), X (CLOS), XI (Eiffel) y XX (Java).

Fig. 1: La evolucin de los lenguajes de programacin

Los lenguajes orientados a problemas concretos se utilizan para la resolucin de problemas en un campo
especfico. Ejemplos de tales lenguajes son el SQL (ver anexo XIII) y XBASE para el manejo de bases de datos;
SPSS (ver anexo XIV) y BMDP para clculos estadsticos; Postscript (ver anexo XII) y True Page para la
descripcin de pginas; y el COGO para aplicaciones en ingeniera civil.

-2-

Anda mungkin juga menyukai