- Introducción
- Justificación
- Objetivos
- Conocimientos básicos
- Lenguajes interpretados
- Lenguajes de programación
declarativos - Lenguajes de programación
imperativos - Diferencia entre lenguajes declarativos e
imperativos - Lenguajes de programación orientados a
objetos - Conclusión
- Referencias
bibliográficas
INTRODUCCIÓN
Una computadora es
una máquina que solo comprende las instrucciones que se le
den en un determinado formato. Cada máquina reconoce y
ejecuta un número de instrucciones diferentes que se
agrupan en los distintos lenguajes de
programación.
Un lenguaje de
programación es un conjunto limitado de palabras y de
símbolos que representan procedimientos,
cálculos, decisiones y otras operaciones que
pueden ejecutar una computadora. A pesar de que en este trabajo parte
de la división de lenguajes de programación en imperativos y declarativos
(los cuales a su vez se dividen en numerosos subgrupos), la
clasificación más común y básica que
suele hacerse de los lenguajes de programación es la que
los divide en lenguajes de bajo y de alto nivel. Los lenguajes de
programación de bajo nivel fueron los primeros que
surgieron y se llaman así porque están directamente
relacionados con el hardware del computador, es
decir, el usuario introduce una serie de códigos
numéricos que la máquina va a interpretar como
instrucciones. Para usar este lenguaje, el
programador tenía que conocer el funcionamiento de la
máquina al más bajo nivel y los errores de
programación eran muy frecuentes.
Los lenguajes de
alto nivel surgieron con posterioridad con el primer compilador
de FORTRAN (FORmula TRANslation), que, como su nombre indica,
inició como un "simple" esfuerzo de traducir un lenguaje
de fórmulas, al lenguaje
ensamblador y por consiguiente al lenguaje de máquina,
facilitando la labor a los programadores. A partir de FORTRAN, se
han desarrollado innumerables lenguajes, que siguen el mismo
concepto:
facilitar la vida al programador, aumentando la
productividad. Estos lenguajes usan un número reducido
de instrucciones (normalmente en inglés)
que siguen unas estrictas reglas gramaticales que se conocen como
sintaxis del lenguaje. Pero aunque el programador de esta forma
se distancie del hardware del computador, este sigue trabajando
en lenguaje máquina. Por ello se hace necesaria una
traducción a una secuencia de instrucciones
interpretables por el computador. Esta labor es llevada a cabo
por los compiladores y
los intérpretes.
El compilador
es un programa que se
encarga de la traducción global del programa realizado por
el usuario. Esta operación recibe el nombre de
compilación. El programa es traducido completamente antes
de que se ejecute, por lo que la ejecución se realiza en
un periodo muy breve. El intérprete por el contrario
lleva a cabo una traducción inmediata en el momento de la
ejecución, es decir, irá ejecutando las
instrucciones una a una haciendo que el proceso
requiera un periodo de tiempo
sensiblemente mayor del que necesitaría un compilador. Los
intérpretes son usados para traducir programas de alta
dificultad de implementación, en estos casos, las
órdenes a traducir son de tal complejidad que no merece la
pena crear un compilador ya que este también
tendría que ser de una complejidad por encima de lo
normal.
Hay que mencionar
la existencia de lenguajes que combinan características de
los de alto nivel y los de bajo nivel (es decir, Ensamblador).
Un ejemplo es C: contiene estructuras de
programación de alto nivel; sin embargo, fue
diseñado con muy pocas instrucciones, las cuales son
sumamente sencillas, fáciles de traducir al lenguaje de la
máquina; y requiere de un entendimiento apropiado de
cómo funciona la máquina, el uso de la memoria,
etcétera. Por ello, algunos consideran a lenguajes como C
(que fue diseñado para hacer sistemas
operativos), lenguajes de nivel medio, si bien, son
considerados mayoritariamente de bajo nivel.
Aunque en esta
introducción se ha comenzado a hablar de
los lenguajes dividiéndolos en bajo y alto nivel, en las
próximas páginas se procederá a un análisis más exhaustivo y detallado
y se verán las numerosas formas en que se pueden agrupar
los lenguajes teniendo en cuenta funcionalidad y
orientación. Sin embargo no está estipulada ninguna
clasificación estricta debido a que dependiendo de la
característica por la que se clasifique, un lenguaje
podría estar relativamente en un grupo u otro.
Sería utópico tratar de clasificar todos los
lenguajes existentes ya que hay demasiados y con frecuencia
surgen nuevos. No obstante se ha tratado de realizar una clara y
esquemática clasificación de los distintos tipos,
que abarcase a los lenguajes más importantes.
JUSTIFICACIÓN
El estudio de los
lenguajes de programación requiere a su vez comprender
perfectamente los tipos de lenguajes de programación que
existen y la clasificación comúnmente aceptada que
a éstos se les da.
Esta investigación se justifica en la necesidad
que todo programador tiene de diferenciar y clasificar
correctamente los tipos de lenguajes de programación,
conociendo sus aplicaciones y los beneficios o desventajas que
ofrece cada uno de ellos.
OBJETIVOS
OBJETIVO
GENERAL
Conocer los tipos
de lenguajes de programación y la clasificación que
comúnmente se les da.
OBJETIVOS
ESPECÍFICOS
- Determinar qué son los
lenguajes de programación declarativos y a la vez los
lenguajes que forman parte de este grupo. - Determinar qué son los
lenguajes de programación imperativos y los lenguajes
que están comprendidos en este grupo. - Diferenciar los lenguajes de
bajo nivel (lenguaje máquina) de los lenguajes de alto
nivel.
MARCO
TEÓRICO
1. CONOCIMIENTOS BÁSICOS
1.1. HISTORIA DE LOS LENGUAJES DE
PROGRAMACIÓN
Los primeros
lenguajes de programación surgieron de la idea de Charles
Babagge, la cual se le ocurrió a este hombre a
mediados del siglo XIX. Era un profesor
matemático de la universidad de
Cambridge e inventor ingles, que la principio del siglo XIX
predijo muchas de las teorías
en que se basan los actuales ordenadores. Consistía en lo
que él denominaba la maquina analítica, pero que
por motivos técnicos no pudo construirse hasta mediados
del siglo XX. Con él colaboro Ada Lovedby, la cual es
considerada como la primera programadora de la historia, pues
realizo programas para aquélla supuesta maquina de
Babagge, en tarjetas
perforadas.
Como la maquina no
llego nunca a construirse, los programas de Ada,
lógicamente, tampoco llegaron a ejecutarse, pero si
suponen un punto de partida de la programación, sobre todo
si observamos que en cuanto se empezó a programar, los
programadores utilizaron las técnicas
diseñadas por Charles Babagge, y Ada, que
consistían entre otras, en la programación mediante
tarjetas perforadas. A pesar de ello, Ada ha permanecido como la
primera programadora de la historia. Se dice por tanto que estos
dos genios de antaño, se adelantaron un siglo a su
época, lo cual describe la inteligencia
de la que se hallaban dotados.
En 1823 el
gobierno
Británico lo apoyo para crear el proyecto de una
máquina de diferencias, un dispositivo mecánico
para efectuar sumas repetidas. Pero Babagge se dedico al proyecto
de la máquina analítica, abandonando la maquina de
diferencias, que se pudiera programar con tarjetas perforadas,
gracias a la creación de Charles Jacquard
(francés). Este hombre era un fabricante de tejidos y
había creado un telar que podía reproducir
automáticamente patrones de tejidos, leyendo la información codificada en patrones de
agujeros perforados en tarjetas de papel rígido. Entonces
Babagge intento crear la máquina que se pudiera programar
con tarjetas perforadas para efectuar cualquier cálculo
con una precisión de 20 dígitos. Pero la tecnología de la
época no bastaba para hacer realidad sus ideas. Si bien
las ideas de Babagge no llegaron a materializarse de forma
definitiva, su contribución es decisiva, ya que los
ordenadores actuales responden a un esquema análogo al de
la máquina analítica. En su diseño,
la máquina constaba de cinco unidades básicas: 1)
Unidad de entrada, para introducir datos e
instrucciones; 2) Memoria, donde se
almacenaban datos y resultados intermedios; 3) Unidad de control, para
regular la secuencia de ejecución de las operaciones; 4)
Unidad Aritmético-Lógica,
que efectúa las operaciones; 5) Unidad de salida,
encargada de comunicar al exterior los resultados. Charles
Babbage, conocido como el "padre de la informática" no pudo completar en aquella
época la construcción del computador que
había soñado, dado que faltaba algo fundamental: la
electrónica. El camino señalado de
Babbage, no fue nunca abandonado y siguiéndolo, se
construyeron las primeras computadoras.
Página siguiente |