Está en la página 1de 23

1

Colegio de Ciencias y humanidades Plantel Sur

Ciberntica y computacin II
Programacin y Lenguajes de
Programacin
RIVERA GAONA ULISES
Grupo: 652
16/Abril/2015

ndice
Introduccin 4
Programacin. 5
Expresiones regulares.. 5
Anlisis de entrada 5
Lenguajes de Programacin 6
Historia 7
Las tendencias de los lenguajes de programacin 8
Clasificacin de los lenguajes de programacin 10
Lenguaje Maquina.. 10
Lenguajes de Bajo Nivel (ensamblador). 11
Lenguajes de Alto Nivel. 12
Algunos lenguajes de Programacin de Alto Nivel 14
FORTRAN 14
COBOL. 15
PL/I 15
BASIC.. 16
PASCAL.. 16

C 17
ADA.. 18
LISP.. 18
C++. 19
DELPHI.. 19
JAVA.. 20
JAVASCRIPT... 20
HTML. 20

Introduccin
El proceso de programar no es tarea sencilla, pues requiere conocimientos en
varias reas distintas, adems del dominio de un lenguaje especfico, algoritmos y
lgica formal. El lxico tiende a asemejarse al natural, aunque con la diferencia de
que busca ante todo reducir la ambigedad, lo que lo hace mucho ms complejo.
Ahora, investigadores de Ciencias de la Computacin y el Laboratorio de
Inteligencia Artificial del Instituto Tecnolgico de Massachusetts (MIT) en Estados
Unidos, aseguran haber encontrado una frmula para programar sin necesidad de
conocer esos cdigos especializados, utilizando en su lugar un lenguaje ms
cercano al que utilizamos habitualmente de momento, en ingls-.
Este avance sera de gran ayuda no slo para los programadores, pues permitira
adems el acceso generalizado a archivos comunes, como documentos de
procesamiento de texto y hojas de clculo, que hasta ahora requeran cierta
familiaridad con los lenguajes de programacin.
La profesora de Ciencias de la Computacin e Ingeniera Elctrica del MIT Regina
Barzilay, seala en un comunicado de la universidad, no creer que seamos
capaces de aplicarlo a toda la programacin, pero hay reas con muchos ejemplos
de cmo se han hecho traducciones. Por tanto, no duda en asegurar que si la
informacin est disponible, cualquiera puede aprender a traducir ese lenguaje a
cdigo.
Barzilay es coautora de los dos estudios presentados por el MIT. Por una parte,
junto a su alumno Nate Kushman, utilizaron ejemplos recopilados de Internet para
entrenar un sistema informtico capaz de convertir descripciones en lengua
natural en las conocidas como expresiones regulares: combinaciones de smbolos
que facilitan la bsqueda de archivos por encima de las funciones de un motor de
bsqueda tradicional.
Por otra parte, junto a la estudiante de posgrado Tao Lei y el equipo formado por el
profesor Martin Rinard y su estudiante Fan Long, Barzilay describi un sistema
que aprendi automticamente cmo manejar datos almacenados en diferentes
formatos de archivo, basndose en especificaciones preparadas para una
competencia de programacin popular.

Programacin
Expresiones regulares
Las expresiones regulares o patrones han demostrado ser una herramienta
poderosa y verstil en cualquiera de sus usos en el mbito de la informtica,
desde las hojas de clculo a bases de datos.
Sin embargo, Barzilay y Kushman afirman en su estudio que se siguen
considerando un arte oscuro para muchos programadores.
Esto se debe a que el cdigo que utilizan no se correlaciona bien normalmente
con el lenguaje natural. Por ejemplo, la expresin regular para buscar palabra de
tres letras que empieza por X sera \bX[A-Za-z]{2}\b, el resultado de un smbolo
que indica el comienzo de palabra, otro para la letra en cuestin, un conjunto de
smbolos que indican la identificacin de una letra, y otros tantos para sealar que
la operacin anterior debe repetirse dos veces.
Por el contrario, los investigadores llegaron a la conclusin de que cualquier
expresin regular tiene un equivalente para esquematizar en lenguaje natural,
aunque pudiera no ser muy conciso o intuitivo para un programador.
De esta forma, la idea clave de su trabajo es utilizar la unificacin semntica para
eliminar la ambigedad del lxico ordinario. O lo que es lo mismo, encontrar una
manera sencilla de esquematizar la lengua en smbolos hasta conseguir la versin
ms concisa de la misma expresin.

Anlisis de entrada
El problema general de la traduccin natural ha existido desde los inicios de la
informtica. Aunque se han conseguido algunos xitos en los ltimos aos, el

trabajo desarrollado por Barzilay, Rinard, Lei y Long explora un aspecto diferente
de esta traba: la traduccin de especificaciones de entrada en lenguaje natural a
cdigos ejecutables que analicen correctamente los datos de entrada y generen
estructuras para contenerlos.
Toda aplicacin de software cuenta con un tipo de archivo asociado -doc para
programas de Word, pdf para visualizar documentos, mp3 para reproducir msica,
etc... Y cada tipo de archivo organiza los datos de forma diferente. As, un archivo
de imagen puede comenzar con unos cuantos bits que indican el tipo de archivo,
otros para el tamao, y algunos ms que indican el nmero de bits asignados a
cada pxel, hasta llegar a los que realmente representan los colores de pxel.
El papel de los analizadores de entrada consiste en averiguar qu parte del
archivo contiene cada tipo de datos. Sin estos programas, un archivo sera
simplemente una cadena aleatoria de ceros y unos.
La novedad introducida por los investigadores del MIT es el desarrollo de un
analizador de entrada basado en especificaciones escritas en lenguaje natural. La
automatizacin de esa traduccin eliminar los costes que supone el desarrollo
manual del software por parte de un programador. Para ello, en lugar de generar
directamente el cdigo partiendo del texto, lo primero que se hace es traducirlo en
un rbol de especificaciones. A partir de ah se esquematiza el rbol en programas
de anlisis.
En este caso, lo probaron con ms de 100 ejemplos extrados de la Competicin
Internacional Universitaria ACM de Programacin (ACM-ICPC), que incluye
especificaciones de archivo para todos los retos que plantea la programacin. El
sistema fue capaz de crear analizadores de entrada en alrededor del 80 por ciento
de los casos. En el resto, bastaba con cambiar una o dos palabras de la
especificacin general.
Ambos mtodos suponen un primer paso para permitir a usuarios comunes poder
programar sus ordenadores sin necesidad de un conocimiento de lenguajes de
programacin. En ello coinciden expertos como el profesor Lucas Zettlemoyer, de
la Universidad de Washington, quien espera que las tcnicas desarrolladas se
generalicen a otras tareas de programacin relacionadas.

Lenguajes de Programacin
Los ordenadores no hablan nuestro idioma, son mquinas y como tales, necesitan
un lenguaje especfico pensado por el hombre para ellas. Adems, necesitan
constantemente interpretar todas las instrucciones que reciben. Dada la dificultad
de comunicacin insalvable entre el computador y el programador, pronto

aparecieron lenguajes de programacin que hacen posible la comunicacin con el


microprocesador, utilizando trminos y smbolos relacionados con el tipo de
problema que se debe resolver, mediante el empleo de herramientas que brinda la
informtica.

Estos lenguajes permiten, por un lado, escribir las operaciones que son necesarias
realizar para resolver el problema de un modo parecido a como se escribira
convencionalmente (es decir, redactar adecuadamente el algoritmo de resolucin
del problema) y, por el otro, se encarga de traducir el algoritmo al lenguaje
mquina (proceso conocido como compilacin) con lo que se le confiere al
programa la capacidad de corre (ser ejecutado) en el ordenador. El ordenador es
en realidad tan slo una mquina virtual, capaz de resolver todos los problemas
que los usuarios seamos capaces de expresar mediante un algoritmo (programa).
En la actualidad hay muchos tipos de lenguajes de programacin, cada uno de
ellos con su propia gramtica, su terminologa especial y una sintaxis particular.
Por ejemplo, existen algunos creados especialmente para aplicaciones cientficas
o matemticas generales (BASIC, FORTRAN, PASCAL, etc. ); otros, en cambio,
se orientan al campo empresarial y al manejo de textos y ficheros, es decir, son en
realidad fundamentalmente gestores de informacin (COBOL, PL/1, etc. ), o muy
relacionados con el lenguaje mquina del ordenador (como el C y el
ASSEMBLER).

Historia
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 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.
En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una mquina de
diferencias, un dispositivo mecnico para efectuar sumas repetidas. Pero Babagge
se dedic al proyecto de la mquina analtica, abandonando la mquina de
diferencias, que se pudiera programar con tarjetas perforadas, gracias a la
creacin de Charles Jacquard (francs). Este hombre era un fabricante de tejidos
y haba creado un telar que poda reproducir automticamente patrones de tejidos,
leyendo la informacin codificada en patrones de agujeros perforados en tarjetas
de papel rgido. Entonces 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 los primeros
computadores.

Las tendencias de los lenguajes de programacin


El estudio de los lenguajes de programacin agrupa tres intereses diferentes; el
del programador profesional, el del diseador del lenguaje y del Implementador del
lenguaje.
Adems, estos tres trabajos han de realizarse dentro de las ligaduras y
capacidades de la organizacin de una computadora y de las limitaciones
fundamentales de la propia "calculabilidad". El trmino "el programador" es un
tanto amorfo, en el sentido de que camufla importantes diferencias entre distintos
niveles y aplicaciones de la programacin. Claramente el programador que ha
realizado un curso de doce semanas en COBOL y luego entra en el campo del
procesamiento de datos es diferente del programador que escribe un compilador
en Pascal, o del programador que disea un experimento de inteligencia artificial

en LISP, o del programador que combina sus rutinas de FORTRAN para resolver
un problema de ingeniera complejo, o del programador que desarrolla un sistema
operativo multiprocesador en ADA.
En este trabajo, intentare clarificar estas distinciones tratando diferentes lenguajes
de programacin en el contexto de cada rea de aplicacin diferente. El
"diseador del lenguaje" es tambin un trmino algo nebuloso. Algunos lenguajes
(como APL y LISP) fueron diseados por una sola persona con un concepto nico,
mientras que otros (FORTRAN y COBOL) son el producto de desarrollo de varios
aos realizados por comits de diseo de lenguajes.
El "Implementador del lenguaje" es la persona o grupo que desarrolla un
compilador o interprete para un lenguaje sobre una maquina particular o tipos de
mquinas. Ms frecuentemente, el primer compilador para el lenguaje Y sobre la
maquina X es desarrollada por la corporacin que manufactura la maquina X. Por
ejemplo, hay varios compiladores de Fortran en uso; uno desarrollado por IBM
para una maquina IBM, otro desarrollado por DEC para una maquina DEC, otro
por CDC, y as sucesivamente. Las compaas de software tambin desarrollan
compiladores y tambin lo hacen los grupos de investigacin de las universidades.
Por ejemplo, la universidad de Waterloo desarrolla compiladores para FORTRAN
Y PASCAL, los cuales son tiles en un entorno de programacin de estudiantes
debido a su superior capacidad de diagnstico y velocidad de compilacin.
Hay tambin muchos aspectos compartidos entre los programadores, diseadores
de un lenguaje implementadores del mismo. Cada uno debe comprender las
necesidades y ligaduras que gobiernan las actividades de los otros dos.
Hay, al menos, dos formas fundamentales desde las que pueden verse o
clasificarse los lenguajes de programacin: por su nivel y por principales
aplicaciones. Adems, estas visiones estn condicionadas por la visin histrica
por la que ha transcurrido el lenguaje. Adems, hay cuatro niveles distintos de
lenguaje de programacin.
Los "Lenguajes Declarativos" son los ms parecidos al castellano o ingles en su
potencia expresiva y funcionalidad estn en el nivel ms alto respecto a los otros.
Son fundamentalmente lenguajes de ordenes, dominados por sentencias que
expresan "Lo que hay que hacer" en ves de "Como hacerlo". Ejemplos de estos
lenguajes son los lenguajes estadsticos como SAS y SPSS y los lenguajes de
bsqueda en base de datos, como NATURAL e IMS. Estos lenguajes se
desarrollaron con la idea de que los profesionales pudieran asimilar mas
rpidamente el lenguaje y usarlo en su trabajo, sin necesidad de programadores o
practicas de programacin.
Los lenguajes de " Alto Nivel" son los ms utilizados como lenguaje de
programacin. Aunque no son fundamentalmente declarativos, estos lenguajes
permiten que los algoritmos se expresen en un nivel y estilo de escritura

10

fcilmente legible y comprensible por otros programadores. Adems, los lenguajes


de alto nivel tienen normalmente las caractersticas de " Transportabilidad". Es
decir, estn implementadas sobre varias mquinas de forma que un programa
puede ser fcilmente " Transportado " (Transferido) de una maquina a otra sin una
revisin sustancial. En ese sentido se llama "Independientes de la maquina".
Ejemplos de estos lenguajes de alto nivel son PASCAL, APL y FORTRAN (para
aplicaciones cientficas), COBOL (para aplicaciones de procesamiento de datos),
SNOBOL (para aplicaciones de procesamiento de textos), LISP y PROLOG (para
aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de programacin
de sistemas) y PL/I (para aplicaciones de propsitos generales).
Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de
la mquina. Cada tipo de mquina, tal como VAX de digital, tiene su propio
lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje
Ensamblador es simplemente una representacin simblica del lenguaje maquina
asociado, lo cual permite una programacin menos tediosa que con el anterior. Sin
embargo, es necesario un conocimiento de la arquitectura mecnica subyacente
para realizar una programacin efectiva en cualquiera de estos niveles lenguajes.

Clasificacin de los lenguajes de programacin


Lenguaje Maquina
El lenguaje mquina es el nico que entiende directamente la computadora, ya
que est escrito en lenguajes directamente inteligibles por la mquina
(computadora), utiliza el alfabeto binario, que consta de los dos nicos smbolos 0
y 1, denominados bits (abreviatura inglesa de dgitos binarios). Sus instrucciones
son cadenas binarias (cadenas o series de caracteres de dgitos 0 y 1) que
especifican una operacin y, las posiciones (direccin) de memoria implicadas en
la operacin se denominan instrucciones de mquina o cdigo mquina. Fue el
primer lenguaje utilizado en la programacin de computadoras, pero dejo de
utilizarse por su dificultad y complicacin, siendo sustituido por otros lenguajes
ms fciles de aprender y utilizar, que adems reducen la posibilidad de cometer
errores. El lenguaje mquina es el conocido cdigo binario. Generalmente, en la
codificacin de los programas se empleaba el sistema hexadecimal para
simplificar el trabajo de escritura. Todas las instrucciones preparadas en cualquier
lenguaje mquina tienen por lo menos dos partes. La primera es el comando u
operacin, que dice a las computadoras cual es la funcin que va a realizar. Todas
las computadoras tienen un cdigo de operacin para cada una de las funciones.

11

La segunda parte de la instruccin es el operando, que indica a la computadora


donde hallar o almacenar los datos y otras instrucciones que se van a manipular,
el nmero de operndoos de una instruccin varia en distintas computadoras.

Ventajas del lenguaje mquina: posibilidad de cargar (transferir un programa a la


memoria) sin necesidad de traduccin posterior, lo que supone una velocidad de
ejecucin superior a cualquier otro lenguaje de programacin.
Desventajas del lenguaje mquina: dificultad y lentitud en la codificacin. Poca
fiabilidad. Gran dificultad para verificar y poner a punto los programas. Los
programas solo son ejecutables en el mismo procesador (CPU). En la actualidad,
las desventajas superan a las ventajas, lo que hace prcticamente no
recomendables a los lenguajes mquina.

Lenguajes de Bajo Nivel (ensamblador)


Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos,
dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es
el ensamblador. El lenguaje ensamblador es el primer intento de sustituir el
lenguaje maquina por otro ms similar a los utilizados por las personas. Este
intenta desflexibilizar la representacin de los diferentes campos. Esa flexibilidad
se consigue no escribiendo los campos en binario y aproximando la escritura al
lenguaje. A principios de la dcada de los 50 y con el fin de facilitar la labor de los
programadores, se desarrollaron cdigos mnemotcnicos para las operaciones y
direcciones simblicas. Los cdigos mnemotcnicas son los smbolos alfabticos
del lenguaje mquina. La computadora sigue utilizando el lenguaje mquina para
procesar los datos, pero los programas ensambladores traducen antes los
smbolos de cdigo de operacin especificados a sus equivalentes en el lenguaje
mquina. En la actualidad los programadores no asignan nmeros de direccin
reales a los datos simblicos, simplemente especifican donde quieren que se
coloque la primera localidad del programa y el programa ensamblador se encarga
de lo dems, asigna localidades tanto para las instrucciones como los datos. Estos
programas de ensamble o ensambladores tambin permiten a la computadora
convertir las instrucciones en lenguaje ensamblador del programador en su propio
cdigo mquina. Un programa de instrucciones escrito en lenguaje ensamblador
por un programador se llama programa fuente. Despus de que el ensamblador
convierte el programa fuente en cdigo maquina a este se le denomina programa
objeto. Para los programadores es ms fcil escribir instrucciones en un lenguaje
ensamblador que en cdigo de lenguaje maquina pero es posible que se requieran

12

dos corridas de computadora antes de que se puedan utilizar las instrucciones del
programa fuente para producir las salidas deseadas.
El lenguaje de bajo nivel es el lenguaje de programacin que el ordenador puede
entender a la hora de ejecutar programas, lo que aumenta su velocidad de
ejecucin, pues no necesita un intrprete que traduzca cada lnea de
instrucciones.
Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son,
a menudo, difciles de aprender. Ms importante es el hecho de que los programas
escritos en un bajo nivel sean altamente especficos de cada procesador. Si se
lleva el programa a otra mquina se debe reescribir el programa desde el principio.
Ventajas del lenguaje ensamblador frente al lenguaje mquina: mayor facilidad de
codificacin y, en general, su velocidad de clculo, ahorran tiempo y requieren
menos atencin a detalles. Se incurren en menos errores y los que se cometen
son ms fciles de localizar. Tanto el lenguaje maquina como el ensamblador
gozan de la ventaja de mnima ocupacin de memoria y mnimo tiempo de
ejecucin en comparacin con el resultado de la compilacin del programa
equivalente escrito en otros lenguajes. Los programas en lenguaje ensamblador
son ms fciles de modificar que los programas en lenguaje mquina.
Desventajas del lenguaje ensamblador: dependencia total de la maquina lo que
impide la transportabilidad de los programas (posibilidad de ejecutar un programa
en diferentes mquinas). El lenguaje ensamblador del PC es distinto del lenguaje
ensamblador del Apple Machintosh. La formacin de los programadores es ms
compleja que la correspondiente a los programadores de alto nivel, ya que exige
no solo las tcnicas de programacin, sino tambin el conocimiento del interior de
la maquina El programador ha de conocer perfectamente el hardware del equipo,
ya que maneja directamente las posiciones de memoria, registros del procesador y
dems elementos fsicos. Todas las instrucciones son elementales, es decir, en el
programa se deben describir con el mximo detalle todas las operaciones que se
han de efectuar en la mquina para la realizacin de cualquier proceso.

Lenguajes de Alto Nivel


Estos lenguajes son los ms utilizados por los programadores. Estn diseados
para que las personas escriban y entiendan los programas de un modo mucho
ms fcil que los lenguajes mquina y ensamblador. Un programa escrito en
lenguaje de alto nivel es independiente de la mquina (las instrucciones no
dependen del diseo del hardware o de una computadora en particular), por lo que
estos programas son portables o transportables. Los programas escritos en
lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificacin en

13

diferentes tipos de computadoras. Son lenguajes de programacin en los que las


instrucciones enviadas para que el ordenador ejecute ciertas rdenes son
similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer
estas rdenes, es necesario el uso de un intrprete que traduzca el lenguaje de
alto nivel a un lenguaje de bajo nivel que el sistema pueda entender.
Por lo general se piensa que los ordenadores son mquinas que realizan tareas
de clculos o procesamiento de texto. La descripcin anterior es slo una forma
muy esquemtica de ver una computadora. Hay un alto nivel de abstraccin entre
lo que se pide a la computadora y lo que realmente comprende. Existe tambin
una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina.
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn
formados por elementos de lenguajes naturales, como el ingls. En BASIC, el
lenguaje de alto nivel ms conocido, los comandos como IF CONTADOR=10
THEN STOP pueden utilizarse para pedir a la computadora que pare si
CONTADOR es igual a diez. Por desgracia para muchas personas esta forma de
trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma rgida y
sistemtica.
Los lenguajes de alto nivel, tambin denominados lenguajes evolucionados,
surgen con posterioridad a los anteriores (lenguaje mquina, lenguajes de bajo
nivel o ensamblador) con los siguientes objetivos, entre otros:
Lograr independencia de la mquina, pudiendo utilizar un mismo programa en
diferentes equipos con la nica condicin de disponer de un programa traductor o
compilador, que es suministrado por el fabricante, para obtener el programa
ejecutable en lenguaje binario de la mquina que se trate. Adems, no se necesita
conocer el hardware especfico de dicha mquina. Aproximarse al lenguaje
natural, para que el programa se pueda escribir y leer de una forma ms sencilla,
eliminando muchas de las posibilidades de cometer errores que se daban en el
lenguaje mquina, ya que se utilizan palabras (en ingls) en lugar de cadenas de
smbolos sin ningn significado aparente.
Incluir rutinas de uso frecuente, como las de entrada / salida, funciones
matemticas, manejo de tablas, etc., que figuran en una especie de librera del
lenguaje, de manera que se puedan utilizar siempre que se quiera sin necesidad
de programarlas cada vez.
Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los
programadores es relativamente corto comparado con otros lenguajes. La
escritura de programas se basa en reglas sintcticas similares a los lenguajes
humanos, nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN,
etc. Las modificaciones y puestas a punto de los programas son ms fciles.

14

Reduccin del costo de los programas. Transportabilidad. Permiten tener una


mejor documentacin. Son ms fciles de mantener.
Desventajas de los lenguajes de alto nivel: incremento del tiempo de puesta a
punto al necesitarse diferentes traducciones del programa fuente para conseguir el
programa definitivo. No se aprovechan los recursos internos de la mquina que se
explotan mucho mejor en lenguajes mquina y ensambladores. Aumento de la
ocupacin de memoria. El tiempo de ejecucin de los programas es mucho mayor.

Algunos lenguajes de Programacin de Alto Nivel


A continuacin se presentan varios de los ms conocidos y utilizados, lenguajes
de alto nivel.

FORTRAN
Abreviatura de FORmula TRANslator (traductor de frmulas), fue definida
alrededor del ao 1955 en Estados Unidos por la compaa IBM. Es l ms
antiguo de los lenguajes de alto nivel. Antes de l, todos los programas se
escriban en lenguaje ensamblador o en lenguaje mquina. Es un lenguaje
especializado en aplicaciones tcnicas y cientficas. Se caracteriza por su potencia
en los clculos matemticos, pero est limitado en las aplicaciones de gestin,
manejo de archivos, tratamiento de cadenas de caracteres y edicin de informes.
Es un lenguaje notorio, por la facilidad con que permite expresar una ecuacin.
Muchas de sus caractersticas fueron incorporadas ms tarde en el primer
lenguaje BASIC. Una de sus ventajas es que es un lenguaje compacto y es
tambin ampliamente utilizado para aplicaciones en los negocios que no requieren
manejo de grandes archivos de datos. Hasta 1961 se mantuvo como monopolio de
IBM, pero posteriormente se fue implementando en ordenadores de otros
fabricantes. A lo largo de su existencia han aparecido diferentes versiones, entre
las que destaca la adoptada en 1966 por el ANSI (American National Standards
Institute), en la que se definieron nuevas reglas del lenguaje y se logr la
independencia del mismo con respecto a la mquina; es decir, comenzo la
portabilidad del lenguaje. Esta versin se denomin FORTRAN IV o FORTRAN 66,
y el idioma se hizo tan popular en los aos 60, que FORTRAN 66 se volvi el
primer idioma en ser regularizado oficialmente en 1972. En 1977 apareci una

15

nueva versin ms evolucionada que se llam FORTRAN V o FORTRAN 77. Est


reflejada en el documento ANS X3.9-1978: Programming Language FORTRAN y
define dos niveles del lenguaje denominados FORTRAN 77 completo y FORTRAN
77 bsico, siendo el segundo un subconjunto del primero. Incluye, adems,
instrucciones para el manejo de cadenas de caracteres y de archivos, as como
otras para la utilizacin de tcnicas de programacin estructurada. Estas
caractersticas hacer que el lenguaje tambin sea valido para determinadas
aplicaciones de gestin.

COBOL
Es el lenguaje ms utilizado en las aplicaciones de gestin, creado en 1960 por un
comit denominado CODASYL (COnference on DAta SYstems Languages),
patrocinado por el Departamento de Defensa de Estados Unidos, a fin de disponer
de un lenguaje universal para aplicaciones comerciales, como expresa su nombre
(COmmnon Business Oriented Language).
A lo largo de su existencia ha sufrido diversas actualizaciones. Su primer estndar
fue aprobado por el ANSI en 1968. Posteriormente, en 1974, se adopta la norma
ANS X3.23-1974, que ha perdurado hasta su ltima versin, COBOL ANS-85, que
facilita el diseo estructurado de los programas.
Sus caractersticas ms destacables son las siguientes: se asemeja al lenguaje
natural (ingls), es autodocumentado y ofrece grandes facilidades en el manejo de
archivos, as como en la edicin de informes escritos. Puede emplear trminos
comnmente utilizados en los negocios.

PL/I
Fue creado a comienzos de los aos sesenta por IBM para ser usado en sus
equipos del sistema 360. Inspirndose en los lenguajes ALGOL, COBOL y
FORTRAN se desarroll el PL/I (Programming Language/I) tomando las mejores
caractersticas de los anteriores y aadiendo algunas nuevas, con el objetivo de
obtener un lenguaje lo ms general posible en cuanto a su implementacin, til
para aplicaciones tcnico-cientficas, comerciales, de proceso de textos, de bases
de datos y de programacin de sistemas. Se trata de un lenguaje de programacin
complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar
multitareas, y se emplea en entornos acadmicos y de investigacin.

16

Entre sus novedades esta su gran libertad en el formato de escritura de los


programas: soporta la programacin estructurada y diseo modular. Es un
lenguaje flexible y sofisticado. No obstante, no ha superado a sus progenitores en
sus aplicaciones especficas, debido en parte a su amplitud y, por ello, al tamao
de su compilador que hasta ahora solo se poda instalar en grandes equipos. El
elemento bsico de este programa es el enunciado que termina en punto y coma.
Los enunciados se combinan en procedimientos. Un procedimiento puede
representar por completo a un programa pequeo o un bloque de construccin o
mdulo de un programa ms complejo.

BASIC
El lenguaje BASIC fue diseado por los profesores John G. Kemeny y Thomas E.
Kurtz del Dartmouth College (Estados Unidos) en 1965, con el objetivo principal de
proporcionar a los principiantes un lenguaje fcil de aprender, como se indica en
su nombre Beginner's All-purpose Symbolic Instruction Code (Cdigo de
instrucciones simblico de propsito general para principiantes). Es un lenguaje
interactivo muy popular que tiene una aceptacin debido a la facilidad de su uso,
es un idioma simple para aprender y fcil de traducir. Que s interactivo, permite la
comunicacin directa entre el usuario y el sistema de cmputo durante la
preparacin y uso de los programas.
Entre sus principales novedades estn las de ser un lenguaje interpretado y de
uso conversacional, til para aplicaciones tcnicas y de gestin. Esto, unido a la
popularizacin de las microcomputadoras y computadoras personales, ha hecho
que su utilizacin sea haya extendido enormemente, a la vez que ha propiciado el
surgimiento de una gran diversidad de diversiones que extienden y se adaptan a
necesidades particulares el lenguaje original. Existen multitud de intrpretes y
compiladores del lenguaje.

PASCAL
Fue creado por el matemtico suizo Nicklaus Wirth en 1970, basndose en el
lenguaje ALGOL, en cuyo diseo haba participado en los aos sesenta. Su
nombre proviene del filsofo y matemtico francs del siglo XVII, Blaise Pascal,
que invento la primera mquina tipo mecnico para sumar. Fue el primer gran
lenguaje creado despus de haber sido ampliamente diseminados los conceptos
asociados con la programacin estructurada.

17

Aunque en principio la idea del diseador era proporcionar un lenguaje adecuado


para la enseanza de los conceptos y tcnicas de programacin, con el tiempo ha
llegado a ser un lenguaje ampliamente utilizado en todo tipo de aplicaciones, que
posee grandes facilidades para la programacin de sistemas y diseo grfico.
Aporta los conceptos de tipo de datos, programacin estructurada y diseo
descendente, entre otros, adems de haberse convertido en predecesor de otros
lenguajes ms modernos, como MODULA-2 y ADA.

C
Este lenguaje fue creado en 1972 por Dennis Ritchie a partir del trabajo elaborado
por su colega de los laboratorios Bell Telephone, Ken Thompson. Estos haban
diseado con anterioridad el sistema operativo UNIX, y su intencin al desarrollar
el lenguaje C fue la de conseguir un lenguaje idneo para la programacin de
sistemas que fuese independiente de la mquina, con el cual escribir su sistema
UNIX.
Aunque, como acabo de decir, fue diseado inicialmente para la programacin de
sistemas, posteriormente su uso se ha extendido a ablaciones tcnico-cientficas,
de bases de datos, de proceso de textos, etc.
En 1980 Bjarne Stroustrup, inspirado en el lenguaje Simula67 adicion las
caractersticas de la programacin orientada a objetos incluyendo la ventaja de
una biblioteca de funciones orientadas a objetos) y lo denomino C con clases.
Para 1983 dicha denominacin cambio a la de C++. Con este nuevo enfoque
surge la nueva metodologa que aumenta las posibilidades de la programacin
bajo nuevos conceptos.
La utilizacin ptima de este lenguaje se consigue dentro de su entorno natural,
que ese el sistema operativo UNIX, y entre sus caractersticas destaca el uso de
programacin estructurada para resolver tareas de bajo nivel, as como la amplia
librera de rutinas de que dispone. El lenguaje C rene caractersticas de
programacin intermedia entre los lenguajes ensambladores y los lenguajes de
alto nivel; con gran podero basado en sus operaciones a nivel de bits (propias de
ensambladores) y la mayora de los elementos de la programacin estructurada de
los lenguajes de alto nivel, por lo que resulta ser el lenguaje preferido para el
desarrollo de software de sistemas y aplicaciones profesionales de la
programacin de computadoras.

18

ADA
Es l ltimo intento de obtener un nico lenguaje para todo tipo de aplicaciones, e
incluso los ltimos avances de tcnicas de programacin. Su diseo fue
encargado por el Departamento de Defensa de Estados Unidos, para su uso en
servicios militares, a la empresa Honeywell-Bull despus de una seleccin
rigurosa entre varias propuestas realizadas sobre una serie de requerimientos del
lenguaje y de haber evaluado negativamente veintitrs lenguajes existentes. De
estos, se seleccionaron como base para la creacin del nuevo lenguaje el
PASCAL, el ALGOL y el PL/I.

La estandarizacin del lenguaje se public en 1983 con el nombre de ADA, en


honor de la considerada primera programadora de la historia, Augusta Ada Byron,
condesa de Lovelace.
Entre las caractersticas del lenguaje se encuentran la compilacin separada, los
tipos abstractos de datos, programacin concurrente, programacin estructurada,
libertad de formatos de escritura, etc. Como principal inconveniente presenta su
gran extensin. Los escritores lo llamaron inflexible e ineficiente, en tanto que sus
favorecedores lo consideraban un gran avance en la tecnologa del software.

LISP
En informtica, acrnimo de List Processing. Un lenguaje de programacin para
ordenadores o computadoras orientadas a la generacin de listas, desarrollado en
1959-1960 por John McCarthy y usado principalmente para manipular listas de
datos o de smbolos. El lenguaje LISP constituy un cambio radical con respecto a
los lenguajes procedurales (FORTRAN, ALGOL) que se desarrollaban por
entonces. El LISP es un lenguaje interpretado, en el que cada expresin es una
lista de llamadas a funciones. Este lenguaje se sigue utilizando con frecuencia en
investigacin y en crculos acadmicos, y fue considerado durante mucho tiempo

19

el lenguaje modelo para la investigacin de la inteligencia artificial (IA), aunque el


Prolog ha ganado terreno durante los ltimos aos.

C++
Se pronuncia ce plus plus. Fue desarrollada por Bjarme Stroustrup en los Bell
Laboratories a principios de la dcada de los 80. C++ introduce la programacin
orientada al objeto en C. Es un lenguaje extremadamente poderoso y eficiente. C+
+ es un super conjunto de C, para aprender C++ significa aprender todo de C,
luego aprender programacin orientada al objeto y el uso de stas con C++.

DELPHI
Es un entorno de programacin visual orientado a objetos para desarrollo rpido
de aplicaciones (RAD) de propsito general, incluyendo aplicaciones
cliente/servidor.

Delphi es la versin de Delphi para 32 bits (delphi 3), es decir son casi los mismos,
con la nica diferencia que Delphi 3 es mucho ms mejorado, por ejemplo
contiene un TeeChart, que sirve para los grficos de negocio.

Delphi tiene las siguientes caractersticas:

Rendimiento - con el mejor y ms rpido compilador del mundo.

Empresa e Internet - soluciones cliente y servicio

Desarrollo de aplicaciones rpidas (RAD).

20

Reusabilidad de componentes, un verdadero entorno orientado a objetos.

Manejo de Base de Datos escalables.

Arquitectura multinivel abierta y dimensionable.

Diseminacin de informacin de base de datos en la Web a una gran velocidad.

JAVA
Es un lenguaje de programacin para crear programas seguros, porttiles,
orientados a objetos interactivos, para mejorar la entrega de informacin a travs
de Internet, etc.

JAVASCRIPT
Este lenguaje de programacin originalmente fue llamado LIVESCRIPT, pero
luego fue renombrado con el nombre de JAVASCRIPT, con la idea de capitalizar la
fama de Java, lenguaje desarrollado por Sun Microsystems. ste es un
complemento ideal del lenguaje HTML, al permitir a la pgina realizar algunas
tareas por si misma, sin necesidad de estar sobrecargando el servidor del cual
depende; JAVASCRIPT es un lenguaje diseado especialmente para ejecutarlo en
internet.

Entre estas tareas, puede estar, por ejemplo, realizar algunos clculos simples,
formatear un texto para que sea ledo por distintas personas de manera distinta,
proveer de un medio de configurar la visualizacin de una pgina, realizar un
prechequeo de validacin en formulario antes de enviarlo, etc.

HTML

21

El lenguaje HTML, sirve para realizar esas atractivas pginas Web. Se trata de un
sistema de marcas que permite enlazar al mismo tiempo texto, sonidos y grficos
dentro del mismo documento, con otros dentro del servidor o incluso con otros
servidores WWW. Es decir, es un editor para combinar textos, imgenes e incluso
sonido y ahora tambin imgenes en movimiento. Es, en definitiva, la forma de
manejar y presentar la informacin en la red.

Para escribir documentos de hipertexto se ha desarrollado un nuevo formato de


datos o lenguaje llamado Hyper Text Markup Language (HTML). Este lenguaje
permite dar indicaciones precisas al programa cliente de cmo debe presentarse
el documento en pantalla o al ser impreso.

El lenguaje HTML es el usado actualmente para escribir textos Hypermediales en


el web.

22

Conclusin comentario

Al igual que los lenguajes humanos, tales como el ingls o el espaol, los
lenguajes de programacin poseen una estructura (gramtica o sintaxis) y un
significado (semntica). La gramtica espaola trata de los diferentes, modos
(reglas) en que pueden ser combinados los diferentes tipos de palabras para
formar sentencias o frases aceptables en espaol. Los lenguajes de computadoras
tienen menos combinaciones aceptables que los lenguajes naturales, sin
embargo, estas combinaciones deben ser utilizadas correctamente; ello contrasta
con los lenguajes naturales que se pueden utilizar aunque no sigan reglas
gramaticales e incluso aunque no sean comprendidos.
Lenguajes de programacin hay en gran cantidad, algunos han evolucionado a lo
largo del tiempo y siguen vigentes en el transcurso de muchos aos, mientras que
otros han sido operativos durante un perodo ms o menos largo y actualmente no
se usan. Dada esta gran variedad de lenguajes, no se pretende dar una visin de
todos, sino una clasificacin en diversos tipos y concretar algunos de ellos. En
general un lenguaje es un mtodo conveniente y sencillo de describir las
estructuras de informacin y las secuencias de acciones necesarias para ejecutar
una tarea concreta. hoy da la mayora de las computadoras trabajan con
diferentes tipos de juegos de caracteres de los que se destacan el cdigo ASCII y

23

el EBCDIC.De este modo, una computadora a travs de los diferentes lenguajes


de programacin utilizan un juego o cdigo de caracteres que sern fcilmente
interpretados por la computadora y que pueden ser programados por el usuario.
BIBLIOGRAFIA

https://es.scribd.com/doc/207800573/1-El-lenguje-de-programacion-Javax
https://es.scribd.com/doc/234356472/Lenguajes-de-Programacion
Code Complete (2nd Edition,Steve McConnell Published: July 7, 2004
Luis Joyanes Aguilar Fundamentos de Programacion

https://translate.google.com.mx/