Professional Documents
Culture Documents
INTRODUCCIN.....................................................................................................5
LENGUAJES DE PROGRAMACIN......................................................................7
4.1.1
4.1.2
4.2
4.2.1
4.2.2
4.3
LENGUAJE MQUINA:..................................................................................10
4.3.1
4.3.2
Primera generacin........................................................................................17
5.2
Segunda generacin.......................................................................................17
5.3
Tercera generacin.........................................................................................17
5.4
Cuarta generacin..........................................................................................17
5.5
Quinta generacin..........................................................................................17
FORTRAN.......................................................................................................18
6.2
COBOL...........................................................................................................19
6.3
PL/I..................................................................................................................20
6.4
BASIC.............................................................................................................21
6.5
PASCAL..........................................................................................................21
6.6
C......................................................................................................................22
6.7
MODULA-2.....................................................................................................23
6.8
ADA.................................................................................................................23
6.9
LISP................................................................................................................24
6.10 LOGO..............................................................................................................24
6.11 RPG................................................................................................................25
6.12 ALGOL............................................................................................................25
6.13 APL.................................................................................................................25
6.14 PILOT..............................................................................................................26
6.15 SMALLTALK....................................................................................................26
6.16 FORTH............................................................................................................27
6.17 LENGUAJE C++.............................................................................................27
6.18 DELPHI...........................................................................................................27
6.19 JAVA................................................................................................................28
6.20 JAVASCRIPT..................................................................................................28
6.21 HTML..............................................................................................................28
6.22 HYPERTALK...................................................................................................31
6.23 Perl..................................................................................................................31
6.24 PHP.................................................................................................................31
6.25 PROLOG.........................................................................................................32
6.26 SQL.................................................................................................................32
6.27 ASP.................................................................................................................33
7
CONCLUSIONES..................................................................................................35
REFERENCIAS BIBLIOGRFICAS......................................................................36
INTRODUCCIN
LENGUAJES DE PROGRAMACIN
realizar una operacin, activar una salida, etc. La sentencia representa el mnimo
conjunto de instrucciones o sentencias que realizan una tarea o funcin compleja:
encontrar el valor de una funcin lgica en combinacin de varias variables, consultar
un conjunto de condiciones, etc. El bloque funcional es el conjunto de instrucciones o
sentencias que realizan una tarea o funcin compleja: contadores, registros de
desplazamientos, transferencias de informacin, etc. Todos estos elementos estn
relacionados entre s mediante los smbolos o grafismos.
Finalmente Katherine Gmez menciona Es un conjunto de palabras y smbolos que
permiten al usuario generar comandos e instrucciones para que la computadora los
ejecute. Los lenguajes de programacin deben tener instrucciones que pertenecen a
las categoras ya familiares de entrada/salida, clculo/manipulacin, de textos,
lgica/comparacin, y almacenamiento/recuperacin.
Entonces, de las definiciones de los diferentes autores podemos rescatar que un
lenguaje de programacin, es un medio que nos permite ejecutar una serie de
instrucciones sean simples o complejas que la computadora interpretara de acuerdo
a la estructura lgica preparada por el usuario y que permitir realizar una
determinada tarea.
4
4.1
LENGUAJE MQUINA:
10
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 flexibilizar
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
11
12
13
4.3
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 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:
14
15
Se puede decir que el principal problema que presentan los lenguajes de alto nivel es
la gran cantidad de ellos que existen actualmente en uso, adems de las diferentes
versiones o dialectos que se han desarrollado de algunos de ellos. Es difcil
establecer una clasificacin general de los mismos, ya que en cualquiera que se
realice habr lenguajes que pertenezcan a ms de uno de los grupos establecidos.
Una clasificacin muy extendida, atendiendo a la forma de trabajar de los programas
y a la filosofa con que fueron concebidos, es la siguiente:
Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los
programas (Cobol, Pascal, C, Ada).
Lenguajes declarativos. Los programas se construyen mediante descripciones de
funciones o expresiones lgicas (Lisp, Prolog).
Lenguajes orientados a objetos. El diseo de los programas se basa ms en los
datos y su estructura. La unidad de proceso es el objeto y en l se incluyen los datos
(variables) y las operaciones que actan sobre ellos (Smalltalk, C++).
Lenguajes orientados al problema. Diseados para problemas especficos,
principalmente de gestin, suelen ser generadores de aplicaciones.
Lenguajes naturales. Estn desarrollndose nuevos lenguajes con el principal
objetivo de aproximar el diseo y construccin de programas al lenguaje de las
personas.
Primera generacin.
16
5.2
Segunda generacin.
Tercera generacin.
Cuarta generacin.
Quinta generacin.
17
6.1
FORTRAN
18
estos pudieran moverse para trabajar en cualquier otro sistema bastante fcil. Esto, y
el hecho que pudieran procesarse programas de FORTRAN muy eficazmente. La
ultima normalizacin del lenguaje, FRONTRAN 90, se encuentra en el documento
ANS X3.198-1991 en la que se incluyen caractersticas como la recursividad,
tratamiento paralelo de tablas y uso de memoria dinmica. Permite expresar los
programas de maneras que se satisfacen ms a un ambiente de la informtica
moderna y han quedado obsoletos muchos de los mecanismos que eran apropiados
en FROTRAN 77. En FROTRAN 90 algunos rasgos de FROTRAN 77 han sido
reemplazados por rasgos mejores, ms seguros y ms eficaces, muchos de estos
fueron quitados del idioma FORTRAN 95. El FRONTRAN tiene la ventaja de ser un
lenguaje compacto que sirve muy bien para satisfacer las necesidades de los
cientficos y los estadsticos de los negocios.
6.2
COBOL
19
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 tcnicocientficas, 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.
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.
6.4
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
20
PASCAL
21
6.6
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 maquina, 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.
6.7
MODULA-2
22
ADA
23
LISP
24
lenguaje fue desarrollado por IBM en 1964. Su uso esta aun limitado sobre todo para
las aplicaciones de negocios que son procesadas en pequeas computadoras,
generar informes comerciales o de negocios. Como su nombre lo sugiere, el RPG
est diseado para generar los reportes de salida que resultan del proceso de
aplicaciones de negocios.
A pesar de las aplicaciones de actualizacin de archivos, el RPG es un lenguaje de
propsito limitado porque los programas objeto generados por el compilador de RPG
siguen sin desviacin, un ciclo de procesamiento bsico.
Una ventaja del RPG es la relativa facilidad para aprenderlo y usarlo. Dado que la
lgica de la programacin es fija, existen menos reglas formales que en otros
lenguajes.
6.12 ALGOL
El ALGOL (ALGOritmic Language) fue presentado en 1958. Fue el primer lenguaje de
programacin de proceso estructurado de alto nivel. Fue orientado al uso de quienes
participan en proyectos cientficos y matemticos. Un grupo internacional de
matemticos europeos y americanos, pretendan crear un lenguaje comn
normalizado que les permitiera el intercambio de algoritmos, aunque est en desuso,
fue el primero que incorporo conceptos claves para la programacin actual.
6.13 APL
Sus siglas significan (A Programming Language). Un Lenguaje de Programacin.
Este programa fue desarrollado por Kenneth Inversin en el ao 1961 para resolver
problemas matemticos. Este lenguaje se caracteriza por su brevedad y por su
capacidad de generacin de matrices y se utiliza en el desarrollo de modelos
matemticos.
6.14 PILOT
Programmend Inquiry Language Or Teaching (Consulta, lenguaje o aprendizaje de
investigacin programada) creado en 1969.
25
26
27
28
EL COMANDO PRRAFO:
El comando <P>... </P> se utiliza como un delimitador de prrafo en HTML. Inserta
automticamente un quiebre de lnea al final del prrafo, y produce un espaciamiento
conveniente entre los diferentes prrafos de un documento. Tambin en forma
adicional permite alinear el texto al centro, a la izquierda o a la derecha.
EL COMANDO QUIEBRE DE LNEAS:
El comando < BR> permite hacer un quiebre (salto) de lnea.
LOS COMANDOS DE ENCABEZADO:
Los textos en HTML poseen seis niveles de encabezado. Por ejemplo el nivel 1 se
usa para las divisiones mayores de texto, el nivel de encabezado 6 se usa para las
divisiones ms chicas de texto.
ESTRUCTURA DE HYPERTEXTO:
Existen dos partes fundamentales de un documento HTML.
ENCABEZADO:
Se inicia mediante el comando<HEAD> y se termina con </HEAD>. Por lo general se
incluyen aqu el ttulo del documento, mediante el comando <TITLE>... </TITLE>.
CUERPO:
Se inicia mediante el comando <BODY> y se termina con el comando. Dentro del
cuerpo del documento se incluyen cualquier carcter imprimible. Adems es
importante incluir el comando<ADDRESS>... </ADDRESS> al final del cuerpo pero
dentro de l. Dentro del ADDRESS se escribe el nombre del autor del documento, la
organizacin a la que pertenece, su direccin del correo electrnico y otra
informacin que se considere relevante.
30
6.22 HYPERTALK
"HyperTalk" es el lenguaje desarrollado por Dan Winkler para Bill Atkinson, el creador
del "HyperCard" para Apple-Macintosh. Est orientado a la creacin de aplicaciones
conforme al sistema de "hiperarchivos" (sistemas de fichas interrelacionadas donde
se facilita el "navegar" de un archivo a otro).
HyperTalk es un buen ejemplo de lenguaje orientado a objetos. Este tipo de lenguaje
combina la lgica declarativa con los algoritmos (Vea "PROLOG"). Un programa ya
no es una secuencia de instrucciones sino un conjunto de objetos agrupados en
conjuntos, definidos mediante atributos y a los cuales pueden asociarse
instrucciones. As, en HyperCard, existen archivos ("stacks" o "pilas") que agrupan
fichas ("cards"), y cada una de stas contiene campos de datos y botones. Todos son
"objetos" que -si bien mantienen entre s una relacin jerrquica- tienen asociados
paquetes de instrucciones ("scripts") independientes unos de otros. Cada objeto
pertenece a un conjunto (como fichas o botones) que tiene "atributos" propios
comunes a todos sus miembros, y cada atributo tendr un valor comn o especfico
para cada caso. Para dar o buscar dicho valor intervienen "facetas" que son
instrucciones (procedimientos) asociadas.
6.23 Perl
Es un lenguaje especializado en el procesamiento de textos, particularmente extraer
y validar las respuestas a cuestionarios incluidos en pginas web.
6.24 PHP
Lenguaje que se acopla al HTML (pginas web) para definir procedimientos que ha
de realizar el servidor de web, por ejemplo procesar un formulario, enviar o extraer
datos de una base de datos (acoplndose tambin con un lenguaje de tipo SQL),
enviar una u otra pgina web segn determinadas condiciones prefijadas por el
programador, etc.
31
6.25 PROLOG
Los primeros aos de la dcada del 70 son conocidos como un perodo de "crisis del
software", en que se descubri que la creacin de buenos programas involucraba
costos mayores que los del hardware que los ejecuta. Tambin se haca patente una
creciente necesidad de procesar "conocimientos" (algo mucho ms amplio y
complejo que los datos cuantitativos o meras "secuencias de caracteres" a los cuales
se reducen muchos lenguajes de programacin). Esta crisis llev a investigar
numerosas alternativas, entre las cuales nuevos lenguajes no basados en
instrucciones algortmicas o procedimientos. Si el hombre "procesa" ms informacin
por inferencia lgica que por clculo, no podra la mquina hacer lo mismo?
PROLOG ("Programacin en Lgica") es una respuesta a esta crisis, producto del
avance de la lgica moderna (de tipo funcional). Lo crearon A. Colmenauer y Ph.
Roussel, con la colaboracin de R. Kowalski, simultneamente en la Universidad de
Aix-Marseille (Francia) y Edimburgo (Gran Bretaa). Se basa en el clculo de
predicados de primer orden y en el principio de resolucin de Robinson. En vez de
ser algortmico ("procedural" en ingls, trmino sin traduccin), es decir concebido
como un conjunto de instrucciones que la mquina debe ejecutar en forma
secuencial, es "declarativo", es decir basado en definiciones (de "hechos" o "reglas",
como se explica ms abajo).
6.26 SQL
Lenguaje desarrollado especialmente para facilitar la consulta de bases de datos
(BD), acotando progresivamente la bsqueda (de ah el nombre de "Sequential
Query Language").
Existen hoy numerosas aplicaciones de administracin de bases de datos que
recurren al SQL (Las ms conocidas, potentes - y caras - son Oracle e Informix).
Hoy se pueden acoplar las bases de datos a hipertextos (pginas web), para lo cual
las buenas aplicaciones ya traen mdulos que hacen la conexin. El lenguaje PHP
32
del cual hablamos ms arriba tambin sirve para definir procedimientos de insercin
y de consulta de datos en BD que funcionan con SQL.
6.27 ASP
Su nombre es Active Server Pages. Es un lenguaje independiente, diseado por
Microsoft para la codificacin eficiente de los scripts de los servidores, que fueron
diseados para ser ejecutados por un servidor Web en respuesta a la peticin de un
URL de un usuario. Los scripts de ASP son similares a otros scripts de servidores
con los que puedes estar familiarizado, que son utilizados en otras plataformas,
como Perl, Python, etc.
Periodo
1950 - 55
Influencias
Ordenadores primitivos
Lenguajes
Lenguajes ensamblador
Lenguajes experimentales
de Alto Nivel
1956 - 60
Ordenadores Pequeos,
caros y lentos
FORTRAN
ALGOL 58 y 60
Cintas magnticas
Compiladores e interpretes
Optimizacin del cdigo
COBOL
LISP
1961 - 65
FORTRAN IV
COBOL 61 Extendido
ALGOL 60 Revisado
SNOBOL
APL ( como notacin slo)
1966 - 70
Ordenadores de diferentes
tamaos, velocidades, costes
Sistemas de almacenamiento
masivo de datos (caros)
S.O. multitarea e
interactivos
Compilador con optimizacin
PL/I
FORTRAN 66 (estndar)
COBOL 65 (estndar)
ALGOL 68
SNOBOL4
SIMULA 67
BASIC
33
Lenguaje estndar,
flexibles y generales
1971 - 75
1976 - 80
APL/360
Micro ordenadores
Sistemas de almacenamiento
masivo de datos pequeos
y baratos
PASCAL
COBOL 74
PL /I
Programacin estructurada
Ingeniera del software
Lenguajes sencillos
Ordenadores
baratos
y ADA
potentes
Sistemas distribuidos
FORTRAN 77
Programadores tiempo-real
PROLOG
Programadores interactiva
C
Abstraccin de datos
Programadores con fiabilidad
y fcil mantenimiento
CONCLUSIONES
34
REFERENCIAS BIBLIOGRFICAS
Libros:
Gmez, K. (2013) El Sistema de las Computadoras. Espaa: Centro de
Documentacin de Estudios y Oposiciones Madrid.
Kanagusico, H. D. (2012) Apuntes Digitales. Mxico: Universidad Nacional Autnoma
de Mxico.
35
36