You are on page 1of 35

CENTRO ESCOLAR

INSA
Bachillerato Tcnico Vocacional En Infraestructura Tecnolgica Y
Servicios Informticos

LENGUAJES DE PROGRAMACIN
Grado: TIC-III-A
Alumnos : Crcamo Ramrez, Carlos Manuel; N 4
Gchez Landaverde, Nelson Humberto; N 10
Palencia Gil, Karla Marina; N 18
Modulo: Soporte a sistemas de informacin Empresariales
(ERP)

Docente: Reinaldo Humaa

Fecha De Entrega: Jueves 18 de Septiembre del 2014

Lenguajes de Programacin

INDICE
Contenido
Pgina
1. Introduccin..
....2/3
2. Justificacin ....
4
3. Objetivos
y
Metas...
.5
4. Lenguajes
de
Programacin
..6/27
5. Conclusin
..28
6. Bibliografa
..29
7. Anexos
30

Pgina 1

Lenguajes de Programacin

INTRODUCCIN
Los lenguajes de computadora se utilizan para resolver problemas, y ha
habido miles de aos de trabajo en matemticas para este fin. Los
lenguajes de programacin estn especificados por reglas para formar
instrucciones correctas, organizndolas en mdulos, someterlas hacia un
compilador, el cual traduce el cdigo en un lenguaje comprensible para
una mquina en particular, y finalmente ejecutar el programa, es decir,
someter la entrada hacia la computadora, la cual transforma en una
salida de acuerdo con las instrucciones en el programa.
Cuando usamos una computadora, estamos intentado resolver un
problema. Puede ser un problema de negocios, que involucra ganancias
y prdidas; un problema cientfico que emplea modelos de
comportamiento fsico; una investigacin estadstica que evala la
posibilidad de que ocurra algn evento; etc.
En general, una computadora, slo es capaz de realizar tres operaciones
bsicas:

Sumar, restar, multiplicar y dividir dos valores numricos.

Comparar dos valores numricos o alfabticos (comprobar sin son


iguales, determinar si el primero es mayor que el segundo, si son
diferentes, etc.).

Almacenar o recuperar informacin.

Con estas sencillas operaciones utilizadas y combinadas de manera


adecuada, mediante lo que se denomina Programa de computadora, se
pueden llegar a realizar tareas increblemente complejas que aporten la
solucin a un determinado problema, ya sea administrativo, cientfico, o
de cualquier otro tipo.
Pgina 2

Lenguajes de Programacin

Dentro del campo de la computacin, un problema consiste en la


necesidad de transformar un grupo de datos iniciales (entrada) en un
grupo diferente de datos finales (resultados).
De este modo, una computadora podr resolver un problema si alguien
desarrolla un programa que contenga las instrucciones adecuadas que
permitan transformar los datos, esta actividad la realizan los
Programadores (seres humanos) y se le denomina programacin.
La programacin ha ido evolucionando constantemente, desde los
primeros programas escritos directamente en cdigo maquina (0 y 1)
hasta llegar hoy a los lenguajes visuales (intuitivos). Esta evolucin se
ha producido gracias a la utilizacin de diversos sistemas y
herramientas. El ms efectivo es la realizacin de algoritmos previos,
que representan el programa mediante smbolos. Los algoritmos y los
programas, son parecidos a una receta de cocina.
Los lenguajes de programacin son el medio que permite a los
Programadores expresar las instrucciones que la computadora va a
realizar mediante la transformacin de los algoritmos en una serie de
sentencias que siguiendo la sintaxis propia del lenguaje, indica las
operaciones que va a realizar.
El estudio de los lenguajes de programacin, es llamado a veces
lingstica de la programacin, por analoga con la lingstica de los
lenguajes naturales. La analoga se basa en el hecho en que ambos;
lenguajes naturales y lenguajes de programacin, poseen sintaxis
(forma) y semntica (significado). La analoga no puede tomarse en todo
el contexto, Los lenguajes de programacin no pueden ser comparados
con los lenguajes naturales en trminos de su rango de expresividad y
subjetividad. Por otro lado, un lenguaje natural no es ms ni menos que
un grupo de personas que hablan y escriben, as que la lingstica
natural est restringida al anlisis de los lenguajes existentes; mientras
que los lenguajes de programacin son concienzudamente diseados y
se pueden implementar en computadoras.
La solucin de problemas mediante el uso de un computador nos lleva a
desarrollar programas o aplicaciones, la construccin de estos
programas debe ser realizada mediante una metodologa, los pasos
para la construccin de programas son:

Pgina 3

Lenguajes de Programacin

1. Disear el algoritmo, consiste en analizar el problema y describir los


instrucciones de forma ordenada que resuelven el problema.
2. Codificar de forma sistemtica la secuencia de instrucciones en un
lenguaje.
3. Ejecutar y validar el programa en un computador (verificacin)
Para codificar de forma sistemtica un algoritmo se necesita de un
lenguaje programacin que la computadora comprenda.

OBJETIVOS Y METAS
Objetivo de la Investigacin
Investigar, identificar y describir cuales son los principales lenguajes de
programacin, cules son sus usos, y describir su importancia dentro de
la informtica. Analizar cules son las principales diferencias en cuanto a
sintaxis entre cada uno de ellos. Presentar ejemplos sencillos de
programacin orientada a objetos. Alcanzar las expectativas del profesor
encargado. Conocer los tipos de lenguajes de programacin y la
clasificacin que comnmente se les da.
Metas de la Investigacin
Investigar y describir cuales son los principales lenguajes de
programacin.

Pgina 4

Lenguajes de Programacin

Describir y representar la evolucin


programacin a travs del tiempo.

de

los

lenguajes

de

Explicar y analizar en qu consiste la programacin, detallando sus


funciones e importancia en la informtica.
Aplicar una crtica objetiva y precisa al papel que desempea el
programador.
Presentar los lenguajes de programacin como una solucin a los
problemas que cotidianos.
Analizar la estructura bsica de algunos lenguajes
programacin as como la diferencia en cada uno de ellos.

de

Describir el funcionamiento, instalacin y manejo de JAVA.


Mencionar los
programacin.

tipos

clasificacin

de

los

lenguajes

de

Alcanzar los objetivos planteados anteriormente y los del maestro.


Promover el uso de este documento en el sector estudiantil para
facilitar la compresin de la Teora sobre Lenguajes de
Programacin.

JUSTIFICACION
Los lenguajes de programacin son las herramientas bsicas para la
creacin de programas, constituyndose en elementos indispensables
para que el Programador concrete sus algoritmos en instrucciones que
puedan ser interpretados por un computador. En los ltimos aos han
aparecido en el mercado una gran variedad de lenguajes de
programacin, tanto para micro y minicomputadores, como para
grandes sistemas, constituyndose en herramientas ampliamente
utilizadas en entornos muy diversos de mquinas y sistemas operativos.
Teniendo en cuenta lo expuesto, esta investigacin pretende proveer al
estudiante el conocimiento y la destreza para la escritura y
manipulacin de programas de acuerdo a las especificaciones realizadas
Pgina 5

Lenguajes de Programacin

por el profesor. El estudio de los lenguajes de programacin requiere a


su vez comprender perfectamente los tipos de lenguajes de
programacin que existen y la clasificacin comnmente aceptada que a
stos
se
les
da.
Esta investigacin se justifica en la necesidad que todo programador
tiene de diferenciar y clasificar correctamente los tipos de lenguajes de
programacin, conociendo sus aplicaciones y los beneficios o
desventajas que ofrece cada uno de ellos. Por otra parte se justifica en la
necesidad nuestra como bachilleres, pues debemos tener conocimiento
de programacin por lo menos en un lenguaje, pues esto potencializa las
destrezas que cada alumno tiene, logra aplicar, desarrollar y mejorar
habilidad mental.

LENGUAJES DE
PROGRAMACIN
Historia De Los Lenguajes De Programacin
Los primeros lenguajes de programacin surgieron de la idea de Charles
Babagge, la cual se le ocurri a este hombre a mediados del siglo XIX.
Era un profesor matemtico de la universidad de Cambridge e inventor
ingls, que al principio del siglo XIX predijo muchas de las teoras en que
se basan los actuales ordenadores. Consista en lo que l denominaba la
Pgina 6

Lenguajes de Programacin

maquina analtica, pero que por motivos tcnicos 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 aqulla supuesta mquina de Babagge, en tarjetas
perforadas.
Como la maquina no llego nunca a construirse, los programas de Ada,
lgicamente, tampoco llegaron a ejecutarse, pero si suponen un punto
de partida de la programacin, sobre todo si observamos que en cuanto
se empez a programar, los programadores utilizaron las tcnicas
diseadas por Charles Babagge, y Ada, que consistan entre otras, en la
programacin 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 antao, se adelantaron un siglo a su
poca, lo cual describe la inteligencia de la que se hallaban dotados.
Babagge intento crear la mquina que se pudiera programar con tarjetas
perforadas para efectuar cualquier clculo con una precisin de 20
dgitos. Pero la tecnologa de la poca no bastaba para hacer realidad
sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de
forma definitiva, su contribucin es decisiva, ya que los ordenadores
actuales responden a un esquema anlogo al de la mquina analtica. En
su diseo, la mquina constaba de cinco unidades bsicas:
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 ejecucin de las
operaciones;
4) Unidad Aritmtico-Lgica, que efecta las operaciones;
5) Unidad de salida, encargada de comunicar al exterior los resultados.
Charles Babbage, conocido como el "padre de la informtica" no pudo
completar en aquella poca la construccin del computador que haba
soado, dado que faltaba algo fundamental: la electrnica. El camino
sealado de Babbage, no fue nunca abandonado y siguindolo, se
construyeron las primeras computadoras.
Qu es un lenguaje de programacin?
Un lenguaje de programacin es una tcnica estndar de comunicacin
que permite expresar las instrucciones que han de ser ejecutadas en
una computadora. Estas instrucciones permiten la construccin de
programas con los cuales podemos realizar operacin de entrada y
salida, almacenamiento, clculos y lgica de comparacin.
Un lenguaje de programacin permite a un programador especificar de
manera precisa: sobre qu datos una computadora debe operar, cmo
Pgina 7

Lenguajes de Programacin

deben ser estos almacenados y transmitidos y qu acciones debe tomar


bajo una variada gama de circunstancias. Todo esto, a travs de un
lenguaje que intenta estar relativamente prximo al lenguaje humano o
natural, tal como sucede con el lenguaje Lxico.
Se ha visto hasta ahora que los lenguajes de programacin son un
simbolismo, que nos permite expresar en operaciones elementales
(instrucciones) la solucin a nuestro problema. El ordenador ejecuta las
instrucciones que le hemos suministrado previamente en forma de
programa. Pero este programa escrito en un lenguaje determinado
necesita ser traducido a lenguaje mquina que es el comprensible
directamente por el ordenador.
Existen abundantes lenguajes que se han especificado y de los que se
han escrito traductores; las normas (sintaxis) y palabras que emplean
cada uno de ellos las definieron los organismos internacionales, otros los
constructores y otros los clientes.
Los manuales son las caractersticas del lenguaje y los traductores se
suelen adquirir conjuntamente, en los ordenadores grandes al proveedor
del equipo y para los microordenadores en las tiendas de informtica. Es
decir, los lenguajes de programacin son aplicaciones especficas que
han sido pensadas y diseadas para crear otras aplicaciones o
programas. Los lenguajes de programacin se basan en un sistema de
instrucciones previamente establecidas que indican al ordenador lo que
debe realizar.
Los lenguajes de programacin son lenguas o idiomas ya
establecidos, comprensibles tanto por el programador, como por la
mquina, que permiten desarrollar los programas. Existen muchos y
muy variados, y evolucionan constantemente, tanto en potencia como
en facilidad de uso. La mayora est escrito en Ingls, aunque cada vez
son ms visuales e intuitivos. Ejemplos: Pascal, Turbo C++, CA-Clipper,
Visual Basic, Visual C++, Java, Cobol, C, Fortran, HTML, Prolog, CSMP,
SIMAN, Lisp, Lingo, SQL, Delphi, dBase, etc.
Los lenguajes son un cdigo de instrucciones que permiten hacer
programas. La Programacin de las primeras computadoras (para
cambiar un proceso por otro) se efecta reacomodando cables y
conexiones (los programas eran cableados), esto fue evolucionando
hasta eliminar lo mecnico y volviendo lgica la programacin.
Cules son sus caractersticas?
Un lenguaje de programacin, digno de su nombre, debe reunir ciertos
requisitos.
El lenguaje de programacin debe ser universal. Es decir, cualquier
problema debe tener una solucin que puede ser programada en el
Pgina 8

Lenguajes de Programacin

lenguaje y dicha solucin ser implementada en cualquier computador.


Este requisito es uno de los ms fuertes y pocos lenguajes lo poseen.
Se dice que cualquier lenguaje en el cual pueden definirse funciones
recursivas se considera universal. De otro lado, un lenguaje sin recursin
ni iteracin no puede ser universal. Existen ciertos lenguajes de
aplicacin que no son universales, pero s podran ser razonablemente
descritos
as
mismos,
como
lenguajes
de
programacin.
El lenguaje de programacin debe ser implementable en una
computadora, es decir; debe ser posible ejecutar un programa en
trminos del lenguaje en cualquier mquina. La notacin matemtica
generalmente no es implementable porque en su notacin es posible
formular problemas que no pueden ser resueltos por cualquier
computador. Los lenguajes naturales tampoco son implementables por
razones totalmente diferentes: ellos son tan imprecisos y tienden a ser
muy ambiguos.
SINTAXIS Y SEMNTICA
Cada lenguaje tiene sintaxis y semntica:

La sintaxis de un lenguaje de programacin est relacionada con


la forma de los programas, por ejemplo, como es que las
expresiones, comandos, declaraciones, etc. son puestos juntos en
un programa.

La semntica de un lenguaje de programacin est relacionada


con el significado de los programas; por ejemplo, cmo ellos se
comportarn cuando se ejecutan en una computadora.

La sintaxis de un lenguaje influye en cmo los programas son escritos


por el programador, ledos por otro programador y traducidos por el
computador. La semntica de un lenguaje determina como los
programas son compuestos por el programador, entendidos por otros
programadores e interpretados por el computador. La sintaxis es
importante; pero la semntica es ms importante an.
Al principio, los lenguajes se diseaban nicamente para poder ejecutar
los programas eficientemente. Los ordenadores, carsimos, eran el
recurso crtico, y los programadores eran bastante baratos. Un lenguaje
de alto nivel tena que ser competitivo con la ejecucin de un cdigo en
ensamblador. A mediados de los aos 60, cuando se haban diseado
FORTRAN, COBOL, LISP y ALGOL, John Backus (creador de FORTRAN) se
dio cuenta que la programacin estaba cambiando. Las mquinas eran
menos caras, el coste de la programacin estaba aumentando, apareca
la necesidad de mover o migrar los programas de unas estaciones a
Pgina 9

Lenguajes de Programacin

otras, y surga la necesidad de llevar un buen mantenimiento de los


programas resultantes. El objetivo de un lenguaje de alto nivel se
transform no slo en ejecutar los programas eficientemente, sino
tambin en facilitar el desarrollo de programas para resolver problemas
en determinadas reas de aplicacin.
La tecnologa de los ordenadores madur entre 1960 y 1970 y los
lenguajes se centraron en resolver problemas especficos de un dominio.
Los programas cientficos generalmente se implementaban en FORTRAN,
las aplicaciones para los negocios en COBOL, las aplicaciones militares
en JOVIAL, las de inteligencia artificial en LISP y las militares internas en
Ada. Al igual que sucede con los lenguajes naturales, los lenguajes de
programacin a veces dejan de usarse. ALGOL no se utiliza desde los
aos 60, se reemplaz por Pascal, el cual se reemplaz a su vez por C++
y Java. COBOL, que se utilizaba para las aplicaciones mercantiles, se
sustituy tambin por C++.
Los primeros lenguajes que todava se usan tienen revisiones peridicas
para reflejar influencias de otras reas de computacin. Lenguajes como
Java, C++ y ML reflejan una gran experiencia obtenida en el diseo y
uso de los cientos de lenguajes antiguos. Algunas de esas influencias
son:

Recursos del ordenador: la evolucin de los ordenadores desde


los aos 50, junto con los modernos sistemas operativos, han
influenciado las caractersticas de los lenguajes de alto nivel.
Aplicaciones: el uso de los ordenadores se ha extendido
rpidamente desde las aplicaciones militares, cientficas y de
negocios a los juegos, los ordenadores personales, internet y
cualquier aplicacin cotidiana.
Mtodos de programacin: el diseo de los lenguajes tiene que
reflejar los buenos mtodos para implementar programas grandes
y complejos.
Estudios tericos: Gracias a la investigacin durante ms de 50
aos en el diseo e implementacin de lenguajes, se conocen los
puntos fuertes y dbiles de las caractersticas de los mismos, por
lo que influye en el diseo de los nuevos lenguajes.
Estandarizacin: cada vez ms existe la necesidad de que los
programas sean portables de unos sistemas a otros.

Es importante reflexionar sobre el campo de los lenguajes de


programacin. El estudio general de este campo nos ayuda a:

aprender nuevos lenguajes


identificar caractersticas conocidas en estos nuevos lenguajes
conocer sus posibilidades y sus lmites
Pgina 10

Lenguajes de Programacin

disear nuevas caractersticas cuando los lenguajes que usamos


no las tienen
valorar y apreciar una de las herramientas fundamentales de los
informticos

QU TIPOS DE LENGUAJE DE PROGRAMACIN HAY Y PARA QUE


SIRVEN?
En la actualidad hay ms de 100 lenguajes de programacin diferentes.
No vamos a definir todos los lenguajes de programacin que existen
porque son muchos pero s os hablaremos de los ms importantes y para
qu se utilizan.
LENGUAJES DE MQUINA
El lenguaje mquina de una computadora consta de cadenas de
nmeros binarios (ceros y unos) y es el nico que entienden
directamente los procesadores. Todas las instrucciones preparadas en
cualquier lenguaje de mquina tienen por lo menos dos partes. La
primera es el comando u operacin, que dice a la computadora cul es
la funcin que va a realizar. Todas las computadoras tienen un cdigo de
operacin para cada una de sus funciones. La segunda parte de la
instruccin es el operando, que indica a la computadora dnde hallar o
almacenar los datos y otras instrucciones que se van a manipular; el
nmero de operandos de una instruccin vara en las distintas
computadoras. En una computadora de operando nico, el equivalente
binario de SUMAR 0814 podra hacer que se sume el valor que se
encuentra en la localidad de almacenamiento o direccin 0814 al valor
que se encuentra en la unidad aritmtica lgica. En una mquina de dos
operandos, la representacin binaria de SUMAR 0814 8672 podra
hacer que se sume el valor que est en la localidad 8672 al valor que
est en la direccin 0814. El formato de operando nico es popular en
las microcomputadoras ms pequeas; la estructura de dos operandos
se encuentra en casi todas las dems mquinas.
Segn los estndares actuales, las primeras computadoras eran poco
tolerantes. Los programadores tenan que traducir las instrucciones de
manera directa a la forma de lenguaje de mquina que comprendan las
computadoras. Por ejemplo, un programador que escribiera la
instruccin SUMAR 0814 para una de las primeras mquinas IBM
hubiera escrito:
000100000000000000000000000010111000
Adems de recordar las docenas de cdigos numricos para los
comandos del conjunto de instrucciones de la mquina, el programador
tena que conocer las posiciones donde se almacenan los datos y las
instrucciones. La codificacin inicial muchas veces requera meses, por
Pgina 11

Lenguajes de Programacin

lo que era costosa y era frecuente que originara errores. Revisar las
instrucciones para localizar errores era casi tan tedioso como escribirlas
por primera vez. Adems, si era necesario modificar un programa
posteriormente, la tarea poda llevarse meses.
Se clasifican en dos tipos:
Los Lenguajes de Programacin de Bajo Nivel: que son aquellos
utilizados fundamentalmente para controlar el hardware del ordenador
y dependen totalmente de la mquina y no se pueden utilizar en otras
mquinas. Estn orientados exclusivamente para la mquina Estos
lenguajes son los que ordenan a la mquina operaciones fundamentales
para que pueda funcionar. Utiliza bsicamente ceros, unos y
abreviaturas de letras. Estos lenguajes tambin se llaman de cdigo
mquina. Son los ms complicados, pero solo los usan prcticamente los
creadores de las mquinas. Con este tipo de lenguajes programan la
asignacin y liberacin de memoria, el uso de punteros, el poder usar
paso por valor y por referencia, la creacin de tipos de datos, etc.
0110 1001 1010 1011
ADD M, N, P
ADD suma DIV dividir
SUB resta LDA cargar acumulador
MPY multiplicar STO..almacenar
Una instruccin tpica en ensamblador puede ser:
ADD x, y, z
Esta instruccin significa que se debe sumar los nmeros almacenados
en las direcciones x, y, y almacenar el resultado en la direccin z. El
programa ensamblador traducir. Programa en cdigo maquina
programa en ensamblador Despus que un programa ha sido escrito en
lenguaje ensamblador se necesita un programa -llamado ensambladorque lo traduzca a cdigo mquina.
Los Lenguajes de Programacin de Alto Nivel: Estos lenguajes son
ms parecidos al lenguaje natural humano y no dependen de la mquina
y sirven fundamentalmente para crear programas informticos que
solucionan diferentes problemas. Son los ms usados por los
programadores y por todo del mundo que realiza programas
informticos.
La diferencia fundamental se puede explicar con el siguiente ejemplo:

En un lenguaje de alto nivel slo tengo que poner sqt(x), que sera
una funcin predeterminada, calcular el cuadrado de x.

Pgina 12

Lenguajes de Programacin

Si fuera de bajo nivel, yo mismo tendra que crear la funcin


sabiendo cmo funciona el cuadrado de un nmero:
cuadrado(x) = x * x

Como vemos para aprender a programar con un lenguaje de alto nivel


debemos conocer el propio lenguaje que utiliza y todos sus comandos,
en el ejemplo saber que se realiza el cuadrado de un nmero.
LENGUAJES COMPILADOS
Naturalmente, un programa que se escribe en un lenguaje de alto nivel
tambin tiene que traducirse a un cdigo que pueda utilizar la mquina.
Los programas traductores que pueden realizar esta operacin se llaman
compiladores. stos, como los programas ensambladores avanzados,
pueden generar muchas lneas de cdigo de mquina por cada
proposicin del programa fuente. Se requiere una corrida de compilacin
antes de procesar los datos de un problema.
Los compiladores son aquellos cuya funcin es traducir un programa
escrito en un determinado lenguaje a un idioma que la computadora
entienda (lenguaje mquina con cdigo binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular
Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta
mientras haya errores, sino hasta que luego de haber compilado el
programa, ya no aparecen errores en el cdigo.

Tipos De Programa:
Una vez escrito un programa ste puede estar en cdigo fuente, cdigo
objeto o cdigo ejecutable.

Cdigo Fuente: recibe este nombre el conjunto de instrucciones tal


y como fueron escritos por el programador en el lenguaje de alto
nivel (tambin se le conoce como programa fuente).

Cdigo Objeto: son las instrucciones de un programa cuando ya


han sido traducidas al lenguaje mquina (tambin se le conoce
como programa objeto).

Cdigo Ejecutable: es un cdigo objeto que puede ser ejecutado


por la computadora de inmediato (no todos los cdigos objeto son
ejecutables).

LENGUAJES INTERPRETADOS
Pgina 13

Lenguajes de Programacin

Se puede tambin utilizar una alternativa diferente de los compiladores


para traducir lenguajes de alto nivel. En vez de traducir el programa
fuente y grabar en forma permanente el cdigo objeto que se produce
durante la corrida de compilacin para utilizarlo en una corrida de
produccin futura, el programador slo carga el programa fuente en la
computadora junto con los datos que se van a procesar. A continuacin,
un programa intrprete, almacenado en el sistema operativo del disco, o
incluido de manera permanente dentro de la mquina, convierte cada
proposicin del programa fuente en lenguaje de mquina conforme vaya
siendo necesario durante el proceso de los datos. No se graba el cdigo
objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instruccin, se le debe interpretar
otra vez y traducir a lenguaje mquina. Por ejemplo, durante el
procesamiento repetitivo de los pasos de un ciclo, cada instruccin del
ciclo tendr que volver a ser interpretado cada vez que se ejecute el
ciclo, lo cual hace que el programa sea ms lento en tiempo de
ejecucin (porque se va revisando el cdigo en tiempo de ejecucin)
pero ms rpido en tiempo de diseo (porque no se tiene que estar
compilando a cada momento el cdigo completo). El intrprete elimina
la necesidad de realizar una corrida de compilacin despus de cada
modificacin del programa cuando se quiere agregar funciones o
corregir errores; pero es obvio que un programa objeto compilado con
antelacin deber ejecutarse con mucha mayor rapidez que uno que se
debe interpretar a cada paso durante una corrida de produccin.
LENGUAJES DE PROGRAMACIN DECLARATIVOS
Se les conoce como lenguajes declarativos en ciencias computacionales
a aquellos lenguajes de programacin en los cuales se le indica a la
computadora qu es lo que se desea obtener o qu es lo que se est
buscando, por ejemplo: Obtener los nombres de todos los empleados
que tengan ms de 32 aos. Eso se puede lograr con un lenguaje
declarativo como SQL.
La programacin declarativa es una forma de programacin que implica
la descripcin de un problema dado en lugar de proveer una solucin
para dicho problema, dejando la interpretacin de los pasos especficos
para llegar a dicha solucin a un intrprete no especificado. La
programacin declarativa adopta, por lo tanto, un enfoque diferente al
de la programacin imperativa tradicional.
En otras palabras, la programacin declarativa provee el qu, pero
deja el cmo liberado a la implementacin particular del intrprete.
Por lo tanto se puede ver que la programacin declarativa tiene dos
fases bien diferenciadas, la declaracin y la interpretacin.

Pgina 14

Lenguajes de Programacin

Es importante sealar que a pesar de hacer referencia a intrprete, no


hay que limitarse a lenguajes interpretados en el sentido habitual del
trmino, sino que tambin se puede estar trabajando con lenguajes
compilados.
Caractersticas De Los Lenguajes De Programacin Declarativos

Los lenguajes declarativos estn orientados a buscar la solucin


del problema, sin preocuparse por la forma de llegar a ello; es
decir, el programador debe concentrarse en la lgica del
algoritmo, ms que en el control de la secuencia.
Los programas estn formados por un conjunto de definiciones o
ecuaciones, las cuales describen lo que debe ser calculado, no en
s la forma de hacerlo.
Las variables slo pueden tener asignado un solo valor a lo largo
de la ejecucin del programa, lo cual implica que no puede existir
asignacin destructiva. Debido a esto, cobra especial importancia
el uso del anidamiento y la recursividad.
Las listas representan la estructura fundamental de datos.
El orden de la ejecucin no resulta importante debido a que no
existen efectos colaterales; es decir, que al calcular un valor,
resulta imposible afectar el clculo de otros y con esto se puede
afirmar que cualquier secuencia de ejecucin deber conducir al
mismo resultado.
Las expresiones o definiciones pueden ser usadas como valores y
por lo tanto se pueden tratar como argumentos de otras
definiciones.
El control de la ejecucin no es responsabilidad del programador.

Desventajas De La Programacin Declarativa


La principal desventaja de la programacin declarativa es que no puede
resolver cualquier problema dado, sino que est restringida al
subconjunto de problemas para los que el intrprete o compilador fue
diseado.
Otra desventaja de la programacin declarativa est relacionada con la
eficiencia. Dado que es necesaria una fase de interpretacin extra, en la
cual se deben evaluar todas las consecuencias de todas las
declaraciones realizadas, el proceso es relativamente ms lento que en
la programacin imperativa, en que los cambios de estado del sistema
estn dados por instrucciones particulares y no por un conjunto de
condiciones arbitrariamente grande.

Ventajas De La Programacin Declarativa


Pgina 15

Lenguajes de Programacin

A pesar de lo anterior existen algunas ventajas en el uso de la


programacin declarativa. Entre las ventajas se destaca que la solucin
de un problema se puede realizar con un nivel de abstraccin
considerablemente alto, sin entrar en detalles de implementacin
irrelevantes, lo que hace a las soluciones ms fcil de entender por las
personas. La resolucin de problemas complejos es resuelta por el
intrprete a partir de la declaracin de las condiciones dadas.
La programacin declarativa es muy usada en
problemas relacionados con inteligencia artificial,
configuracin, y comunicacin entre procesos; sin
leguaje declarativo se aproxima en popularidad
imperativos.

la resolucin de
bases de datos,
embargo, ningn
a los lenguajes

Ejemplos De Lenguajes Declarativos


Algunos lenguajes declarativos que se pueden mencionar son:

PROLOG
SQL
HTML
WSDL (Web Services Description Language)
XML Stylesheet Language for Transformation

PROGRAMACIN LGICA
La idea fundamental de la programacin lgica consiste en emplear la
lgica como lenguaje de programacin. La lgica no es imperativa
porque no sirve para indicar cmo resolver un problema (rdenes). La
lgica es declarativa porque sirve para especificar qu problema
resolver (condiciones).
En la programacin lgica, se especifican las condiciones que satisfacen
las soluciones, se deducen las soluciones a partir de las condiciones y el
nfasis de todo est en qu problema resolver. El problema se describe
especificando qu caracteriza a sus posibles soluciones.
La programacin lgica, junto con la funcional, forma parte de lo que se
conoce como programacin declarativa. En los lenguajes tradicionales,
la programacin consiste en indicar cmo resolver un problema
mediante sentencias; en la programacin lgica, se trabaja de forma
descriptiva, estableciendo relaciones entre entidades, indicando no
cmo, sino qu hacer. Se establece entonces que la idea esencial de la
programacin lgica es: algoritmos = lgica + control. Es decir, un
algoritmo se construye especificando conocimiento en un lenguaje
Pgina 16

Lenguajes de Programacin

formal (lgica de primer orden), y el problema se resuelve mediante un


mecanismo de inferencia (control) que acta sobre aqul.
Al hacer un recorrido por la programacin lgica, aparece como uno de
sus lenguajes ms representativos, Prolog, que es un clsico de la
inteligencia artificial y que se aplica de mltiples formas en el desarrollo
de software comercial.
PROGRAMACIN FUNCIONAL
La programacin funcional es un paradigma de programacin
declarativa basado en la utilizacin de funciones matemticas. El
objetivo de la programacin funcional es conseguir lenguajes expresivos
y matemticamente elegantes, en los que no sea necesario bajar al nivel
de la mquina para describir el proceso llevado a cabo por el programa.
Los programas escritos en un lenguaje funcional estn constituidos
nicamente por definiciones de funciones, entendiendo stas no como
subprogramas clsicos de un lenguaje imperativo (pues la programacin
funcional es declarativa), sino como funciones puramente matemticas,
en las que se verifican ciertas propiedades como la transparencia
referencial (el significado de una expresin depende nicamente del
significado de sus subexpresiones), y por tanto, la carencia total de
efectos laterales.
Otras caractersticas propias de estos lenguajes son la no existencia de
asignaciones de variables y la falta de construcciones estructuradas
como la secuencia o la iteracin (lo que obliga en la prctica a que todas
las repeticiones de instrucciones se lleven a cabo por medio de
funciones recursivas).
Existen dos grandes categoras de lenguajes funcionales: los funcionales
puros y los hbridos. La diferencia entre ambos estriba en que los
lenguajes funcionales hbridos son menos dogmticos que los puros, al
permitir conceptos tomados de los lenguajes imperativos, como las
secuencias de instrucciones o la asignacin de variables. En contraste,
los lenguajes funcionales puros tienen una mayor potencia expresiva,
conservando a la vez su transparencia referencial, algo que no se
cumple siempre con un lenguaje hbrido.
PROGRAMACIN ORIENTADA A BASES DE DATOS
Las bases de datos son programas que administran informacin y hacen
ms ordenada la informacin, aparte de hacer la fcil de buscar y por
supuesto de encontrar.
Las caractersticas de las bases de datos pueden ser ventajosas o
desventajosas: pueden ayudar a almacenar, organizar, recuperar,
comunicar y manejar informacin en formas que seran imposibles sin
Pgina 17

Lenguajes de Programacin

las computadoras, pero tambin afecta de alguna manera ya que


existen enormes cantidades de informacin en bases de datos de las
que no se tiene control del acceso.
Las bases de datos tienen muchos usos: facilitan el almacenamiento de
grandes cantidades de informacin; permiten la recuperacin rpida y
flexible de informacin, con ellas se puede organizar y reorganizar la
informacin, as como imprimirla o distribuirla en formas diversas.
Es claro que los lenguajes orientados a bases de datos son declarativos
y no imperativos, pues el problema es qu se quiere hacer o qu se
necesita buscar y encontrar en la base de datos, y no se enfatiza el
cmo.
Una base de datos tambin se puede definir como un banco de datos o
conjunto de datos que pertenecen al mismo contexto, almacenados
sistemticamente para su posterior uso. En este sentido, una biblioteca
puede considerarse una base de datos compuesta en su mayora por
documentos y textos impresos en papel e indexados para su consulta.
En la actualidad, y gracias al desarrollo tecnolgico de campos como la
informtica y la electrnica, la mayora de las bases de datos tienen
formato electrnico, que ofrece un amplio rango de soluciones al
problema de almacenar datos. Los sistemas gestores de bases de datos
(SGBD) permiten almacenar y posteriormente acceder a los datos de
forma rpida y estructurada.
LENGUAJES DE PROGRAMACIN IMPERATIVOS
En ciencias de la computacin se llama lenguajes imperativos a aquellos
en los cuales se le ordena a la computadora cmo realizar una tarea
siguiendo una serie de pasos o instrucciones, por ejemplo:

Paso
Paso
Paso
Paso

1,
2,
3,
4,

solicitar nmero.
multiplicar nmero por dos.
imprimir resultado de la operacin.
etc,

El proceso anterior se puede realizar con un lenguaje imperativo como


por ejemplo BASIC, C, C++, Java, Clipper, Dbase, C#, PHP, Perl, etc.
Dentro de la programacin imperativa, se tiene un conjunto de
instrucciones que le indican al computador cmo realizar una tarea.
Los lenguajes imperativos se basan en comandos u rdenes que se le
dan a la computadora para que haga algo, con el fin de organizar o
cambiar valores en ciertas partes de la memoria. La ejecucin de estos
comandos se realiza, en la mayor parte de ellos, secuencialmente, es
decir, hasta que un comando no ha sido ejecutado no se lee el siguiente.
Pgina 18

Lenguajes de Programacin

Segn el dominio, o mejor dicho con el propsito que se utiliza el


programa, se puede hablar de lenguajes de dominio especfico y de
dominio general.
Diferencia Entre Lenguajes Declarativos E Imperativos
En los lenguajes declarativos las sentencias que se utilizan lo que hacen
es describir el problema que se quiere solucionar, pero no las
instrucciones necesarias para solucionarlo. Esto ltimo se realizar
mediante mecanismos internos de inferencia de informacin a partir de
la descripcin realizada.
Los lenguajes imperativos describen paso a paso un conjunto de
instrucciones que deben ejecutarse para variar el estado un programa y
hallar la solucin, es decir, un algoritmo en el que se describen los pasos
necesarios para solucionar un problema.
LENGUAJES DE PROGRAMACIN ORIENTADOS A OBJETOS
En la Programacin Orientada a Objetos (POO u OOP segn siglas en
ingls) se definen los programas en trminos de clases de objetos,
objetos que son entidades que combinan estado (es decir, datos)
comportamiento (esto es, procedimientos o mtodos) e identidad
(propiedad del objeto que lo diferencia del resto). La programacin
orientada a objetos expresa un programa como un conjunto de estos
objetos, que colaboran entre ellos para realizar tareas. Esto permite
hacer los programas mdulos ms fciles de escribir, mantener y
reutilizar.
De esta forma, un objeto contiene toda la informacin, (los denominados
atributos) que permite definirlo e identificarlo frente a otros objetos
pertenecientes a otras clases (e incluso entre objetos de la misma clase,
al poder tener valores bien diferenciados en sus atributos). A su vez,
dispone de mecanismos de interaccin (los llamados mtodos) que
favorecen la comunicacin entre objetos (de una misma clase o de
distintas), y en consecuencia, el cambio de estado en los propios
objetos. Esta caracterstica lleva a tratarlos como unidades indivisibles,
en las que no se separan (ni deben separarse) informacin (datos) y
procesamiento (mtodos).
Dada esta propiedad de conjunto de una clase de objetos, que al contar
con una serie de atributos definitorios, requiere de unos mtodos para
poder tratarlos (lo que hace que ambos conceptos estn ntimamente
entrelazados), el programador debe pensar indistintamente en ambos
trminos, ya que no debe nunca separar o dar mayor importancia a los
atributos a favor de los mtodos, ni viceversa. Hacerlo puede llevar al
programador a seguir el hbito errneo de crear clases contenedoras de
informacin por un lado y clases con mtodos que manejen esa
Pgina 19

Lenguajes de Programacin

informacin por otro (llegando a una programacin estructurada


camuflada en un lenguaje de programacin orientada a objetos).
Esto difiere de los lenguajes imperativos tradicionales, en los que los
datos y los procedimientos estn separados y sin relacin, ya que lo
nico que se busca es el procesamiento de unos datos y los
procedimientos estn separados y sin relacin, ya que lo nico que se
busca es el procesamiento de unos datos de entrada para obtener otros
de salida. La programacin estructurada anima al programador a pensar
sobre todo en trminos de procedimientos o funciones, y en segundo
lugar en las estructuras de datos que esos procedimientos manejan. Los
programadores de lenguajes imperativos escriben funciones y despus
les pasan los datos. Los programadores que emplean lenguajes
orientados a objetos definen objetos con datos y mtodos y despus
envan mensajes a los objetos diciendo que realicen esos mtodos por s
mismos.
Un objeto se puede definir como un grupo de procedimientos que
comparten un estado. Se define al conjunto de datos como estado, y
mtodos como el conjunto de procedimientos que pueden alterar ese
estado. Un programa orientado a objetos es un mtodo de
implementacin en el que los programas estn organizados como
colecciones de objetos, donde cada uno es una instancia de alguna
clase, y donde todas las clases son miembros de una jerarqua de clases
conectadas por relaciones de herencia. Este tipo de lenguajes son muy
recientes en comparacin a los primeros lenguajes de programacin que
aparecieron.
CONCEPTOS BSICOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS
La programacin orientada a objetos es una nueva forma de programar
que trata de encontrar la solucin a problemas de una forma que ofrece
muchas ventajas y facilidades que no se tenan anteriormente. Introduce
nuevos conceptos, que superan y amplan conceptos antiguos ya
conocidos. Entro ellos destacan los siguientes:
o OBJETO: entidad provista de un conjunto de propiedades o
atributos (datos) y de comportamiento o funcionalidad
(mtodos). Corresponden a los objetos reales del mundo
que nos rodea, o a objetos internos del sistema (del
programa).
o CLASE: definiciones de las propiedades y comportamiento de
un tipo de objeto concreto. La instanciacin es la lectura de
estas definiciones y la creacin de un objeto a partir de ellas.
Una clase es una coleccin de objetos similares o la
implementacin, declaracin o definicin de un tipo de
Pgina 20

Lenguajes de Programacin

objeto. Cada vez que se construye un objeto de una clase se


crea una instancia de esa clase. Por ejemplo en Visual Basic,
se tiene la clase Form, y se pueden crear instancias de esa
clase al tener Form1, Form2, etc. As se est creando una
instancia de la clase Form.
o MTODO: algoritmo asociado a un objeto (o a una clase de
objetos), cuya ejecucin se desencadena tras la recepcin
de un mensaje. Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un mtodo
puede producir un cambio en lar propiedades del objeto, o la
generacin de un evento con un nuevo mensaje para otro
objeto del sistema.
o EVENTO: un suceso en el sistema (tal como una interaccin
del usuario con la mquina, o un mensaje enviado por un
objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente.
o MENSAJE: una comunicacin dirigida a un objeto, que le
ordena que ejecute uno de sus mtodos con ciertos
parmetros asociados al evento que lo gener.
o PROPIEDAD O ATRIBUTO: contenedor de un tipo de datos
asociados a un objeto (o a una clase de objetos), que hace
los datos visibles desde fuera del objeto, y cuyo valor puede
ser alterado por la ejecucin de algn mtodo.
o ESTADO INTERNO: es una propiedad invisible de los objetos,
que puede ser nicamente accedida y alterada por un
mtodo del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos).
En comparacin con un lenguaje imperativo, una variable no es ms
que un contenedor interno del atributo del objeto o de un estado interno,
as como la funcin es un procedimiento interno del mtodo del objeto.
CARACTERSTICAS DE LA PROGRAMACIN ORIENTADA A OBJETOS
Las caractersticas ms importantes de la programacin orientada a
objetos son las siguientes:

ABSTRACCIN: Cada objeto en el sistema sirve como modelo de


un "agente" abstracto que puede realizar trabajo, informar y
cambiar su estado, y "comunicarse" con otros objetos en el
sistema sin revelar cmo se implementan estas caractersticas.
Los procesos, las funciones o los mtodos pueden tambin ser
Pgina 21

Lenguajes de Programacin

abstrados y cuando lo estn, una variedad de tcnicas son


requeridas para ampliar una abstraccin.

ENCAPSULAMIENTO:
tambin
llamado
"ocultacin
de
la
informacin". Cada objeto est aislado del exterior, es un mdulo
natural, y cada tipo de objeto expone una interfaz a otros objetos
que especfica cmo pueden interactuar con los objetos de la
clase. El aislamiento protege a las propiedades de un objeto contra
su modificacin por quien no tenga derecho a acceder a ellas,
solamente los propios mtodos internos del objeto pueden acceder
a su estado. Esto asegura que otros objetos no pueden cambiar el
estado interno de un objeto de maneras inesperadas, eliminando
efectos secundarios e interacciones inesperadas. Algunos
lenguajes relajan esto, permitiendo un acceso directo a los datos
internos del objeto de una manera controlada y limitando el grado
de abstraccin. La aplicacin entera se reduce a un agregado o
rompecabezas de objetos. Esta caracterstica o propiedad permite
por tanto ejecutar la informacin al resto de los objetos,
impidiendo as accesos incorrectos o conflictos.

POLIMORFISMO: comportamientos diferentes, asociados a objetos


distintos, pueden compartir el mismo nombre, al llamarlos por ese
nombre se utilizar el comportamiento correspondiente al objeto
que se est usando. O dicho de otro modo, las referencias y las
colecciones de objetos pueden contener objetos de diferentes
tipos, y la invocacin de un comportamiento en una referencia
producir el comportamiento correcto para el tipo real del objeto
referenciado. Por ejemplo en Visual Basic, el polimorfismo se da al
tener diferentes tipos de objetos (Form, Label, etc.)

HERENCIA: las clases no estn aisladas, sino que se relacionan


entre s, formando una jerarqua de clasificacin. Los objetos
heredan las propiedades y el comportamiento de todas las clases
a las que pertenecen. La herencia organiza y facilita el
polimorfismo y el encapsulamiento permitiendo a los objetos ser
definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su
comportamiento sin tener que reimplementar su comportamiento.
Esto suele hacerse habitualmente agrupando los objetos en clases
y estas en rboles o enrejados que reflejan un comportamiento
comn. Cuando un objeto pertenece a ms de una clase se dice
que hay herencia mltiple; esta caracterstica no est soportada
por algunos lenguajes (como Java). Con esta propiedad, los objetos
heredan comportamientos dentro de una jerarqua de clases.

Pgina 22

Lenguajes de Programacin

PRINCIPALES
DIFERENCIAS
ENTRE
LA
PROGRAMACIN
IMPERATIVA Y LA PROGRAMACIN ORIENTADA A OBJETOS

La programacin orientada a objetos es ms moderna, es una


evolucin de la programacin imperativa plasmada en el diseo de
una familia de lenguajes conceptos que existan previamente, con
algunos nuevos.
La programacin orientada a objetos se basa en lenguajes que
soportan sintctica y semnticamente la unin entre los tipos
abstractos de datos y sus operaciones (a esta unin se la suele
llamar clase).
La programacin orientada a objetos incorpora en su entorno de
ejecucin mecanismos tales como el polimorfismo y el envo de
mensajes entre objetos.

Algunos Lenguajes Orientados A Objetos


Entre los lenguajes orientados a objetos ms importantes que se pueden
mencionar, aparecen los siguientes:

Ada
C++
C#
VB.NET
Clarion
Delphi
Eiffel
Jave
Lexico (en castellano)
Objective-C
Ocaml
Oz
PHP
PowerBuilder
Pitn
Ruby
Smalltalk

CLASIFICACIN DE LOS LENGUAJES


APLICACIONES PRINCIPALES:

DE

ACUERDO

SUS

Esta clasificacin se refiere a las ventajas que tienen los lenguajes para
resolver ciertos problemas especficos. Los principales lenguajes pueden
clasificarse de la siguiente manera:

Lenguajes Clsicos o Tradicionales.


Pgina 23

Lenguajes de Programacin

Lenguajes Visuales (orientados a objetos).


Lenguajes de Internet.

LENGUAJES CLSICOS:
Estos lenguajes estn basados en un lenguaje cercano al ser humano en
el que se escribe el cdigo necesario para realizar las operaciones que
se requieren (miles y miles de lneas generalmente), que posteriormente
es traducido o compilado generando un programa ejecutable. Los ms
conocidos son: el PASCAL, el BASIC, el C, el COBOL, y el CLIPPER.
Dependiendo del programa que se requiera realizar pueden ser mejores
unos u otros.
LENGUAJES VISUALES:
Son lenguajes ms avanzadas que los lenguajes clsicos y estn
basados en objetos. Cada entidad del programa (eventos, acciones,
datos, etc.), es un objeto sobre el que se definen operaciones. Esto
permite almacenar los objetos (con todo su cdigo de programa), en una
serie de libreras y utilizarlos cuando sea necesario, ahorrando al
programador el trabajo de tener que volver a programarlos. Son
lenguajes muy intuitivos y fciles de utilizar, y sustituyen las tediosas
lneas de cdigo, por sencillas y directas representaciones grficas.
LENGUAJES DE INTERNET:
Son los lenguajes especficos para la creacin de pginas Web de
Internet, y realizar su programacin (motores de bsqueda, seguridad,
establecimiento de comunicaciones, etc.).
Son la ltima generacin de lenguajes. Existen distintos tipos,
dependiendo del grado de especializacin, aunque algunos, como el
HTML, son lenguajes basados en sencillas marcas o TAG.

La siguiente tabla muestra los principales lenguajes de programacin y


su utilidad.
Lenguajes.

Utilidad.

BASIC, PASCAL,

Aprendizaje de programacin.
Pgina 24

Lenguajes de Programacin

Ada, C y C++

Programacin de sistemas.

Logo

Lenguaje didctico.

COBOL, RPG, Natural, SQL

Gestin de empresas.

Algol, FORTRAN, APL

Calculo numrico.

CLIPPER, ACCESS, dBASE, Delphi, Bases de datos.


SQL
Programacin orientada a objetos
Smalltalk, Actor, C++, Eiffel
(OOP).
Visual Basic, Visual C

Programacin Windows.

HTML, JAVA, PERL

Internet (pginas WEB).

Lingo

Programas multimedia.

Prolog, Lisp

Inteligencia artificial.

VRLM

Realidad virtual.

Mapper, Cogen, Linc

Lenguajes de cuarta generacin


4GL.

Por ultimo para la resolucin de un problema, deben seguirse por lo


menos los siguientes pasos:

Definicin del Problema.

Anlisis del Problema.

Diseo del algoritmo.

Programacin (transformacin del algoritmo en un programa).

Ejecucin y validacin del Programa (Pruebas).

Mantenimiento del Programa.


Estas fases constituyen lo que se denomina: Ciclo del Vida del Software
o Ciclo de Vida del Desarrollo de un Sistema, son realizadas por seres
Pgina 25

Lenguajes de Programacin

humanos, solo la ejecucin de los programas es realizada por la


computadora.
Definicin del Problema.
El programador debe reconocer cul es el problema, estableciendo con
claridad cules son los datos disponibles y a qu resultados se desea
llegar.
Anlisis del Problema.
Es un estudio profundo del problema y de la situacin que lo rodea. El
programador deber entenderlo por completo y proponer una solucin
para poder transformar los datos disponibles en resultados.
Diseo del algoritmo.
Se planea la estrategia que permitir alcanzar la solucin del problema.
Programacin (transformacin del algoritmo en un programa).
Consiste en traducir el algoritmo diseado
programacin y aplicarlo en una computadora.

un

lenguaje

de

Ejecucin y validacin del Programa (Pruebas).


Verifican su funcionamiento para corregir posibles errores.
Mantenimiento del Programa.
El programador se encarga de modificar el programa segn vayan
apareciendo necesidades adicionales.
TIPOS DE LENGUAJE.
En este apartado vamos a recordar brevemente la historia y a resumir
las caractersticas de algunos lenguajes de alto nivel.
El primer lenguaje de alto nivel fue el FORTRAN (FORmula TRANslator),
es decir traductor de frmulas, que estaba orientado a clculos tcnicos.
Despus apareci el COBOL (Commom Business Orientated Language)
orientado a la gestin. Ms adelante aparecieron PL1, BASIC, APL,
PASCAL, ADA, RPG, etc.
En treinta aos se han definido ms de 400 lenguajes, algunos de los
cuales han tenido gran aceptacin. Las caractersticas principales a
considerar en un lenguaje son la facilidad de empleo, facilidad de
aprendizaje, potencia, orientacin, gestin de ficheros y perifricos,
facilidad de correccin por parte de quien no lo ha diseado,
transportabilidad a otras mquinas y requerimientos de memoria.

Pgina 26

Lenguajes de Programacin

I.

FORTRAN

Es el ms antiguo, ha tenido muchas mejoras con el paso de los aos


pero sigue siendo de diseo anticuado e incmodo a pesar de ser muy
usado. La escritura del programa se hace en hojas de programacin con
un formato que no es libre, es fcil de entender pero no de manejar. En
clculos es muy eficaz, dispone de muchsimas funciones, varios tipos de
variables, varios tipos de variables y tiene facilidad de manejo de
subprogramas, en cambio es deficiente en manejo de textos. La gestin
de ficheros slo existe en la versin V y superiores y no es muy eficiente;
lo mismo sucede respecto a perifricos con excepcin de las impresoras.
El lenguaje a llegado a ser un estndar, lo que hace que no haya serios
problemas para transportar un programa de una mquina a otra que
tenga el mismo compilador. Un problema a considerar en este lenguaje
es la relativa dificultad para el mantenimiento de programas al no ser un
lenguaje estructurado en mdulos que faciliten su mantenimiento. Est
orientado a clculos tcnicos y cientficos.
II.

BASIC

Significa Cdigo de instrucciones Simblicas de Propsito General para


Principiantes (Beginner's All Surpose Simbolic Instructions Code) y es un
lenguaje flexible y fcil de manejar, orientado a los estudiantes y a los
que tienen su primer contacto con la informtica. No tiene rigidez en su
sintaxis, y el tratamiento de cadenas de caracteres es muy potente, en
clculo es suficientemente bueno, siendo en algunas versiones tan
potente como el FORTRAN.
En la gestin de ficheros es donde tiene el BASIC su principal defecto; la
gestin de perifricos es aceptable y la transportabilidad buena. En
efecto, de este lenguaje existen multitud de versiones, muchsimas
mquinas (prcticamente todas) disponen de traductores de BASIC, y
esto hace que no todas las versiones sean iguales, aunque concuerdan
en la mayor parte de instrucciones, las diferencias mayores suelen estar
en las instrucciones de grficos / color, msica, juegos, y acceso a
ficheros.
Respecto al mantenimiento podemos decir que es fcil de construir
programas claros, pero no dispone de suficientes facilidades para ello. Es
un lenguaje muy usado en el rea de microinformtica. El BASIC
presenta en la actualidad dos tendencias a la <<norma>>, una es el
BASIC MSX y la otra el BASIC de los compatibles en IBM.
Ejemplo de un programa en BASIC.
Ok
PRINT Hola
Pgina 27

Lenguajes de Programacin

Hola
Ok
III.

COBOL

Este lenguaje est orientado a la gestin y tiene una sintaxis lgica y


estructurada y un vocabulario semejante al ingls; es muy potente en el
tratamiento de textos (el mejor probablemente). Y en la definicin de
datos.
Las instrucciones de clculo estn reducidas al mnimo, pero la gestin
de ficheros es muy buena, la transportabilidad no es mala pero presenta
problemas, puesto que muchos ordenadores personales no disponen
todava de compilador COBOL. El mantenimiento de programas es
sencillo, puesto que la facilidad de empleo y la calidad de la sintaxis
producen programas de buena legibilidad, aunque conviene que el
programador ponga suficientes comentarios.
Ejemplo de un segmento de programa en COBOL obtiene el mayor de
tres nmero.
IF A > B IF A>C
DISPLAY `A ES EL MAYOR'
GO TO PAR-1
ELSE
DISPLAY `C ES EL MAYOR'
GO TO PAR-1
ELSE
IF B>C
DISPLAY `B ES EL MAYOR'
GO TO PAR-1
ELSE
DISPLAY `C ES EL MAYOR'
GO TO PAR-1
IV.

PASCAL

Este es un lenguaje diseado con la idea de la estructuracin, es decir


programando en PASCAL, se consiguen programas muy fciles de
Pgina 28

Lenguajes de Programacin

mantener. La sintaxis es relativamente flexible, aunque presenta


algunas restricciones en el empleo de los puntos y comas; programar
eficazmente es realmente complejo.
En el tratamiento de cadenas de caracteres era muy limitado, aunque
las modernas versiones lo asemejan al BASIC. El tratamiento
matemtico es bastante completo. La gestin de ficheros es muy
variable segn las versiones de PASCAL, hay de todos los tipos. La
gestin de perifricos es deficiente y la transportabilidad muy buena.
Ejemplo de un programa que suma dos nmeros en PASCAL.
Program suma:
Uses crt;
Var a, b, c: integer;
Begin
a :=2; b :=3;
c := a + b;
writeln(`La suma es: `,c);
End.

V.

FORTH

Es un lenguaje difcil de manejar; est basado en el proceso de construir


nuevas instrucciones, la metodologa de programacin es diferente a las
dems. Trata las cadenas y los clculos sin problemas, es deficiente en
la gestin de ficheros y optimo en la gestin de perifricos. En cuanto a
la transportabilidad es deficiente, debido a que se construyen muchas
funciones personalizadas difciles de traspasar. Los programas escritos
con FORTH son difciles de leer, y, por tanto de mantener.
VI.

LOGO

Este es un lenguaje interactivo; se maneja empleando diferentes


palabras que se combinan como se desean. Se dispone de una serie de
palabras bsicas (primitivas) y de facilidad para construir nuevas
(procedimientos). Es ideal para el principiante, al que aproxima a la
informtica de una manera sencilla.
El tratamiento de cadenas y de nmeros no es adecuado, la gestin de
ficheros es normal y en la gestin de perifricos destaca la de la pantalla
grfica para la que dispone del artificio de <<la tortuga>>, un tringulo
que se mueve con las ordenes que se le va dando, dejando un rastro que
Pgina 29

Lenguajes de Programacin

conforma un grfico. La transportabilidad no es buena y el


mantenimiento es normal. Es un lenguaje principalmente orientado a
nios y a desarrollos de grficos elementales.
VII.

El lenguaje C se cre en 1972 en los laboratorios Bell. Es una


herramienta muy potente que resulta especialmente til si se emplea
con el sistema operativo UNIX, una prueba de las prestaciones de este
lenguaje es que se han escrito muchos sistemas operativos con l en
lugar de hacerlo en ensamblador como vena siendo normal. La sintaxis
de C es sencilla y est basada en la programacin por mdulos, dispone
de una gran variedad de variables y potentes operadores.
El tiempo de ejecucin del C es de decenas de veces menor que el
BASIC y es un lenguaje de un nivel suficientemente bajo como para
sustituir al ensamblador. A continuacin un ejemplo de cmo imprimir un
comentario en C.
# include <stdio.h>
int main()
{
printf(Este es un ejemplo);
return 0;
}

Pgina 30

Lenguajes de Programacin

CONCLUSIN
Los lenguajes de programacin no son simplemente un detalle ms del
amplio mundo de la informtica, y por lo tanto deben ser vistos como el
fundamento y la base del desarrollo y avance de la computacin.
Estudiar los conceptos bsicos, clasificacin, diferencias, propiedades y
funcionamiento de los lenguajes de programacin es elemental para
cualquier estudiante o profesional dedicado a la computacin, pues de
esa manera se logra tener una perspectiva global y mucho ms amplia
que tendr mucho peso al estar bien documentados y al conocer qu
son, cmo se clasifican y de qu manera trabajan los lenguajes de
programacin. Luego del desarrollo de esta investigacin resulta fcil
comprender los tipos y la clasificacin que se les da a los lenguajes de
programacin en base a sus funcionalidades y caractersticas.
Este estudio tambin permite desarrollar un sentido crtico de los
lenguajes de programacin, de forma que el programador no seleccione
ni emita un juicio respecto a determinado lenguaje basado simplemente
en su limitado conocimiento ni basado en la popularidad de la que goza
cierto lenguaje, sino que el programador est capacitado para dar
razones contundentes y certeras del por qu un lenguaje es mejor que
otro para determinada tarea, qu ventajas tiene uno respecto del otro, y
que as tambin el programador sea capaz de seleccionar el lenguaje
que ms le convenga para la resolucin de un problema determinado.
Esta investigacin servir para evaluar correctamente los lenguajes de
programacin, determinando las ventajas y desventajas que cada uno
de ellos presenta.

Pgina 31

Lenguajes de Programacin

BIBLIOGRAFA
1. Cejas, C.B; Crespillo, O.G.; Jimnez F., M.J.; Ramrez G., C.; Snchez G.,
C.; Snchez N., C.
Tipos de Lenguajes de Programacin.Extrado el 17 de septiembre, de
2014 de
http://juanfc.lcc.uma.es/EDU/EP/trabajos/
T201.Clasificaciondelostiposdelenguajes.pdf#search=%22tipos%20de
%20lenguajes%20imperativos%22

2. Wikipedia. La enciclopedia libre. Programacin declarativa.


17 de septiembre, de 2014 desde:
http://es.wikipedia.org/wiki/Programaci%C3%B3n_declarativa
3. Concept&Development. Programacin declarativa.
17 de septiembre, de 2014 desde:
http://pviojo.net/posts/programacion-declarativa
4. Sanders, Donald H.; Informtica Presente y Futuro. Tercera Edicin.
McGrawHill; Naucalpn de Jurez, Mxico; 1990.
5. Wikipedia. La enciclopedia libre. Programacin imperativa. Extrado el
17 de septiembre, de 2014 desde:
http://es.wikipedia.org/wiki/Lenguajes_imperativos
6. Universidad Tecnolgica Nacional. Facultad Regional Tucuman.
Lenguajes de Programacin.
Pgina 32

Lenguajes de Programacin

Extrado el 17 de septiembre, de 2014 desde:


http://www.frt.utn.edu.ar/sistemas/paradigmas/lenguajes.htm
7. Matta G., D.A. Tutorial Introduccin al Desarrollo de Aplicaciones con
Visual Basic.
8. Wikipedia. La enciclopedia libre. Programacin orientada a objetos.
Extrado 17 de septiembre, de 2014 desde:
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#
La_Programaci.C3.B3n_Orientada_a_Objetos_.28POO.29_como_soluci.C3.
B3n
9. Introduccin a la Programacin Lgica. Ingeniera Tcnica en
Informtica de Sistemas. Departamento de Lenguajes y Ciencias de la
Computacin.
Universidad de Mlaga. Extrado 17 de septiembre, de 2014 desde:
http://72.14.209.104/searchq=cache:doHkGvx7wQIJ:www.lcc.uma.es/
~lopez/apuntes/declasis/apuntes/introduccion/intro_sis4pp.pdf+program
acion+declarativa+logica&hl=es&gl=sv&ct=clnk&cd=6

ANEXOS

Pgina 33

Lenguajes de Programacin

Ranking lenguajes de programacin ms usados 2014

Pgina 34

You might also like