Академический Документы
Профессиональный Документы
Культура Документы
TEMA:
LENGUAJES DE PROGRAMACION
CATEDRTICO:
ING.JOSE MENJIVAR
TRABAJO PRESENTADO POR:
LUIS ALBERTO FLORES MORALES
CARLOS ALEXANDER HERNANDEZ MORAN
ROLANDO ISAAC FLORES
FRANCISCO EDGARDO MATA GUTIERREZ
ERICK LEONEL NERIO GALICIA
KATHERINE CONSTANTE JOYA
JAIME ERNESTO ZAMORA OLIVO
JOSSELINE STEPTHANIE CEREN BARRIENTOS
DAVID ERNESTO PEREZ RIVAS
MAURICIO IVAN RIOS ZEPEDA
02 de Junio, 2015
NDICE
NDICE
INTRODUCCIN
2
CONCLUSIONES
13
BIBLIOGRAFA
13
1 de junio de 2015
INTRODUCCIN
Conocer la historia del desarrollo de cualquier campo del saber humano es de gran
importancia para aquellos que planeen desenvolverse en dicho campo, ya que tiene
cuando menos dos beneficios tangibles: Conocer el estado promedio del arte y evitar
cometer errores ya cometidos. As es mas fcil tomar las decisiones correctas y sobrevivir
sin esfuerzo a muchas modas que estridentemente proclaman la reinvencin del hilo
negro.
Es comnmente aceptado que la historia de la computacin moderna comienza con
Charles Babbage, en 1822, sin embargo las primeras computadoras mecnicas y
elctricas no contaban con un lenguaje de programacin tal como lo conocemos ahora, la
mayora de ellas era construida para llevar a cabo una tarea especfica; por lo tanto la
forma de programarla era particular a cada computadora. Fue en el ao de 1945 cuando
el matemtico Jhon Von Neumann[1] fascinado por las posibilidades de ENIAC[2], elabor
un estudio que demostr que una computadora poda tener una estructura fsica muy
simple y fija, y aun as ser capaz de ejecutar cualquier tipo de programa mediante un
control correcto, sin la necesidad de modificar la computadora para esto.
1 de junio de 2015
LENGUAJES DE PROGRAMACION
Son lenguajes formales diseados para expresar los procesos que pueden ser llevados a
cabo por mquinas, estas pueden ser las computadoras.
Estos lenguajes pueden ser usados para crear programas que puedan controlar el
lenguaje fsico y lgico de una mquina, se pueden expresar algoritmos con precisin o
como modo de comunicacin humana.
Est conformado por un conjunto de smbolos y reglas sintcticas y semnticas que
definen su estructura y el significado de sus elementos y expresiones
La programacin se define como el proceso de creacin de un programa de computadora,
mediante la aplicacin de procedimientos lgicos a travs de los siguientes pasos:
1 Desarrollo lgico del programa para resolver un problema en particular.
2 Escritura de la lgica del programa usando un lenguaje de programacin especfico.
3 Ensamblaje del programa hasta convertirlo en un lenguaje de mquina.
4 Prueba y depuracin del programa.
5 Desarrollo de la documentacin.
Existe un error comn que trata por sinnimos los trminos de lenguaje de programacin
y lenguaje informtico. Los lenguajes informticos engloban a los lenguajes de
programacin y a otros ms, como por ejemplo lenguaje para el marcado de pginas web
que no es propiamente un lenguaje de programacin, sino un conjunto de instrucciones
que permiten estructurar el contenido de los documentos.
Tambin permite especificar de manera precisa sobre los datos debe operar una
computadora, cmo se deben almacenar y qu acciones debe de tomar bajo una variada
gama de circunstancias.
Una de las caractersticas mas importantes es qu los lenguajes de programacin es
precisamente que mas de un programador puede usar un conjunto de instrucciones que
sean comprendidas entre ellos para poder realizar la construccin de un programa de
forma colaborativa.
1 de junio de 2015
A-0
Fue hasta el ao de 1951, que Grace Hopper[3] trabajando para Remington Rand,
comienza a desarrollar el primer compilador, lo que trajo consigo una programacin ms
rpida.
Fortran
Es en el ao de 1957 cuando aparece el primero de los grandes lenguajes de
programacin de uso an actualmente: FORTRAN, que proviene de FORmula
TRANslating system.
Fue desarrollado por IBM para cmputo cientfico, el lder del proyecto fue John Backus,
que despus contribuira en ALGOL.
El lenguaje original solo inclua FOR, DO y GOTO. Tambin defini los tipos de datos
bsicos: TRUE, FALSE, integer, real, double presicion.
El lenguaje original era bueno manejando nmeros, pero malo manejando entrada y
salida, lo cual propicio la aparicin de otros lenguajes orientados a negocios.
LISP
En el ao de 1958, el profesor John McCarthy[4] del M.I.T. comenz a desarrollar la teora
de un lenguaje de de procesamiento de listas. En 1959 aparece publicamente la primer
implementacin llamada LISP 1.5.
En 1960 McCarthy publica un histrico articulo[5] acerca de los fundamentos de LISP que
hizo por la programacin lo mismo que hizo Eucldes por la geometra, demostrar como
con unos cuantos operadores y una notacin para funciones es posible construir un
lenguaje de programacin completo[6].
Es importante hacer notar que McCarthy no solo marco un hito en la historia los lenguajes
de programacin sino que creo un modelo de programacin que ha demostrado ser
superior, tanto que podemos decir que en la actualidad existen dos grandes modelos de
programacin el de C y el de Lisp, y podemos notar que los lenguajes del modelo C tratan
de parecerse cada vez mas a Lisp.
ALGOL
En el ao de 1958 un comite crea la especificacin del lenguaje ALGOL, la tenia la
particularidad de no definir la manera de manejar entrada y salida, dejando esta parte libre
a cada implementacin.
Es en 1960 cuando aparece el lenguaje ALGOL 6.0 el primer lenguaje estructurado en
bloques. Este lenguaje fue muy popular en el segundo lustro de los 60's.
Su principal contribucin es ser la raiz del arbol que ha producido lenguajes tales como
pascal, C, C++, y Java.
1 de junio de 2015
COBOL
En 1959, Conference on Data Systems and Languages (CODASYL) crea COBOL, un
lenguaje para negocios; que fuera facil de aprender para gente que no tuviera formacin
en ciencias de la computacin. Sus nicos tipos de datos fueron cadenas y nmeros. Lo
que le dio la caracterstica de poder agruparlos en arreglos sencillos, de modo que los
datos podian ser organizados y seguidos de una mejor manera. Las sentencias de
COBOL se parecen mucho a las usadas por el idioma ingls, haciendo que fuera fcil de
aprender. Todo esto con la finalidad de que los negocios promedio lo pudieran aprender y
usar.
Otros de los primeros tiempos
Existieron otros lenguajes de programacin en los primeros tiempos, sin embrago la tarea
de describir las caractersticas de cada uno es demasiado ambiciosa para este pequeo
trabajo asi que solo se mencionan brevemente:
1946 Plankalkul del aleman Conrad Zuse aplicado para jugar ajedrez.
1952 Autocode un compilador de Alick E. Glennie.
1960 APL de Kenneth Iverson.
1962 SNOBOL de la empresa sure-fire.
1 de junio de 2015
Pascal
Diseado por Niklaus Wirth[7], como una herramienta de enseanza de la programacin.
Sus desarrolladores se concentraron en desarrollar buenas herramientas que
contribuyeran a la enseanza, tal como un buen debugger, y un buen editor. Adems
tuvieron como meta el tener soporte para la mayora de los microprocesadores populares
en esa poca en las instituciones de enseanza.
Fue diseado de una manera muy ordenada, reflejando la experiencia de su diseador,
tomo las mejores caractersticas de los lenguajes de su tiempo, COBOL, ALGOL, y
FORTRAN, al mismo tiempo que busco evitar sus deficiencias, y hacerlo lo mas claro
posible. La combinacin de sus caractersticas de entrada/salida, y sus solidas
caractersticas matemticas pronto lo convirtieron en un lenguaje muy exitoso. Tambin
implemento el tipo apuntador y agrego el CASE, e hizo uso de variables dinmicas. Sin
embargo no implemento arreglos dinmicos ni agrupamiento de variables lo cual
contribuyo a su perdida de popularidad frente a nuevos lenguajes.
Delphi es una versin moderna y orientada a objetos de Pascal.
Prolog
Diseado en 1970 en la universidad de Aix-Marseille por los profesores Alain Colmerauer
y Phillipe Roussel, su nombre proviene del frances Programation et Logique, es popular
en los circulos de interes en Inteligencia Artificial.
Inicialmente era un lenguaje interpretado, hasta que a mediados de la decada de los 70's
David Warren desarrollo un compilador, que convertia el programa en Prolog a un
conjunto de instrucciones de una mquina abstracta denominada Warren Abstract
Machine, o WAM.
1 de junio de 2015
1 de junio de 2015
Sin embargo, esta flexibilidad y poder no son apreciados por los programadores promedio
que prefieren lenguajes mas simples y fciles de aprender, por lo cual Perl es el blanco de
muchas criticas nacidas de la ignorancia.
Perl es multiplataforma y desde hace muchos aos a demostrado en el mundo real
producir cdigo completamente reusable sin necesitar programacin orientada a objetos.
Python
Es un lenguaje interpretado e interactivo, creado por Guido Van Rossum[12] en 1991. Es
completamente tipeado dinamicamente, usa manejo automtico de memoria, por lo cual
es similar a Lisp, Perl, Ruby, Scheme y Tcl.
Es desarrollado como proyecto de software libre, manejado por la Python Software
Foundation. Tomo varias de sus caractersticas de Lisp.
Algunos lo consideran la "oposicin leal" a Perl, lenguaje con el cual mantiene una
rivalidad amistosa. Los usuarios de Python consideran a ste mucho ms limpio y
elegante para programar. Sin embargo esto es mas un punto de vista de sus usuarios que
una realidad.
Su facilidad de aprendizaje, su orientacin a programadores promedio, su limpieza de
cdigo,hacen que sea uno de los lenguajes mas exitosos al momento de escribir el
presente trabajo.
Ruby
Es un lenguaje de programacin interpretado, orientado a objetos, con una sintaxis
inspirada por Perl y Ada, que tambin tomo ideas de Lisp, Python, Dylan y CLU.
Fue creado por Yukihiro Matsumoto[13], quien comenz su desarrollo en 1993, y lo
publico en 1995.
El nombre Ruby fue elegido para reflejar su herencia de Perl.
Entre sus caractersticas tenemos:
Rpido y sencillo:
1 de junio de 2015
Todo es un objeto
Clases, herencia, mtodos, ...
Mtodos singleton
Mixins por mdulos
Iteradores y cierres
Tambin:
Java
1 de junio de 2015
Java es una plataforma de software desarrollada por Sun Microsystems, de tal manera
que los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de
arquitecturas y dispositivos computacionales.
La plataforma Java consta de las siguientes partes:
El lenguaje de programacin fue desarrollado por James Gosling[17], y sus equipo en Sun
Microsystems,entre 1990 y 1994, pensado originalmente como un reemplazo de C++,
orientado a dispositivos embebidos, y a la televisin interactiva, posteriormente que para
rescatarlo del fracaso y fue reorientado hacia su aplicacin en la Web.
Las cinco metas del lenguaje Java son:
o
o
o
o
o
Orientado a objetos
Multiplataforma
Soporte integrado para redes de computadoras
Diseado para ejecutar codigo de fuentes remotas de modo seguro
Facil de usar
Desde sus inicios Java no fue bien recibido por su falta de aportaciones originales, su
lentitud, y su rigida estructura, sin embargo en base a intensas campaas de marketing
Sun ha logrado que en los ambientes empresariales Java sea uno de los estndares
sobre todo para aplicaciones del lado del servidor.
Java tambin es presentado muchas veces como un lenguaje Libre lo cual no es
completamente cierto[18][19].
Java Script
Es un lenguaje de script basado en objetos, que se apoya en el modelo de prototipos. Es
muy popular por su uso en sitios Web.
Fue desarrollado por Brendan Eich[20], en su trabajo para Netscape, quien lo public en
diciembre de 1995.
Su sintaxis es parecida a la de C, y al igual que C utiliza el concepto de palabras
reservadas, tiene soporte para expresiones regulares y UTF.
Cuando se usa en Web, se conecta a travs de su interfaz DOM (Document Object
Model) a las aplicaciones tanto del lado del cliente como del servidor. Gracias a esto es
usado para crear poderosas aplicaciones web dinmicas.
1 de junio de 2015
10
1 de junio de 2015
11
ABAP
ABC
Ada
ActionScript
Afnix
ALGOL
APL
ASP
ASP.NET
AWK
B
BASIC
BCPL
Befunge
Boo
C
C++
C#
Caml
Clipper
CLIPS
CLU
COBOL
CORAL
D
Delphi
DIV
Dylan
Eiffel
Erlang
Ensamblador
Extended ML
Euphoria
Fnix
Flow-Matic
Forth
FORTRAN
Gambas
GML
GRAFCET
FP
Haskell
Icon
Inform
INTERCAL
ISWIM
J
Java
JavaScript
Joy
KWC
LADDER
Lexico
Lingo
Lisp
Logo
Lua
MAGIC
Mainsail
Mesa
Miranda
ML
Modula
Modula-2
Modula-3
Natural
NetREXX
Oberon
Object REXX
Objective-C
Ocaml
Occam
Oz
Pascal
Parlog
Perl
PHP
PL/1
Plankalkl
PostScript
PowerBuilder
Prolog
Python
Rapid
REXX
RPN
RPG
Ruby
Sail
Sather
Scheme
Scriptol
Seed7
Self
Sh
Simula
Smalltalk
Snobol
SPARK
Squeak
SR
Standard ML
TI-Basic
TCL
VBA
Visual Basic
Visual C++
Visual
DialogScript
Visual Foxpro
Yurix
ZPL
1 de junio de 2015
12
CONCLUSIN
La historia de los lenguajes de programacin es fascinante para cualquier interesado en la
programacin. Permite tener un mejor panorama de que es y que no es cada lenguaje y
as elegir de una mejor manera los que le interesen y profundizar en los fundamentos de
cada uno para encontrar el adecuado a su necesidad con bases slidas y precisas.
BIBLIOGRAFIA
Jhon Luis Von Neumman. (2005, Oct
http://ei.cs.vt.edu/~history/VonNeumann.html
ENIAC
Museum
Online.
(2005,
http://www.seas.upenn.edu/~museum/
Oct
7).
7).
8),
[En
[En
[En
lnea].
Disponible:
lnea].
Disponible:
lnea].
Disponible:
McCarthy, John, Pgina personal, (2005, Oct 8), [En lnea]. Disponible: http://wwwformal.stanford.edu/jmc/index.html
McCarthy, John, Recursive Functions of Symbolic Expressions and Their
Computation by Machine, Part I, (2005, Oct 8), [En lnea]. Disponible: http://wwwformal.stanford.edu/jmc/recursive/recursive.html
Graham, Paul, The roots of Lisp, (2002, En 18), [En lnea]. Disponible:
Common Lisp the language, (2005, Oct 8),
http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
[En
lnea].
Disponible:
Steele, Guy y Gabriel, Richard, The evolution of Lisp, (2005, Oct 8), [En lnea].
Disponible: http://www.cs.umbc.edu/331/resources/papers/Evolution-of-Lisp.pdf
Graham, Paul, What made Lisp different, (May, 2002), [En lnea]. Disponible:
http://www.paulgraham.com/diff.html Stallman, Richard. La trampa de Java, (Abr
12 2004), [En lnea].
Disponible: http://www.gnu.org/philosophy/javatrap.es.html
Gosling, James, Open sourcing Java, Abr 30 2004), [En lnea]. Disponible:
http://today.java.net/jag/page7.html
1 de junio de 2015
13
CUESTIONARIO
a) La historia de la computacin moderna
Comienza con.
b)
c)
(E) Lenguaje de
(C) 1,949
Verdadero
Falso
Verdadero
1 de junio de 2015
14
1 de junio de 2015
15