Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Evolucion de la Programacion

No description
by

Leonardo Fabio Sanchez

on 18 August 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Evolucion de la Programacion

1946 Este lenguaje consiste en un conjunto de instrucciones en binario, es decir, combinación de ceros y unos (0/1) para formar las ordenes entendibles por el procesador de la maquina. La ventaja es que este lenguaje es mucho más rápido que los lenguajes de alto nivel, la desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes tipo espaguett donde encontrar un fallo es casi imposible. Lenguaje de Maquina 1950 1951 Aparece el Primer Compilador Creado Por Grace Murray Hopper que permitía generar un programa binario a partir de un código fuente. A0 1957 Evolución de los lenguajes de Programación 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 Fortran Lenguajes de Bajo Nivel Lenguajes de Alto Nivel Lenguaje Ensamblador Son aquellos lenguajes que se aproxima más al lenguaje natural humano que al lenguaje binario de las computadoras, el que se conoce como lenguaje de bajo nivel.

Su función principal radica en que a partir de su desarrollo, existe la posibilidad de que se pueda utilizar el mismo programa en distintas máquinas, es decir que es independiente de un hardware determinado. La única condición es que la PC tenga un programa conocido como traductor o compilador, que lo traduce al lenguaje específico de cada máquina. Y además, utiliza palabras del lenguaje humano (por lo general el inglés) es más práctico y fácil de manipular para el programador de manera que no corre tantos riesgos de equivocarse como si es más factible de caer en el error con el binario por lo general se genera en descomposición funcional.

Ejemplo compartivo Lenguaje de bajo nivel y lenguaje de alto nivel Los lenguajes de bajo nivel, también llamados lenguajes ensambladores, permiten al programador escribir instrucciones de un programa usando abreviaturas del inglés, también llamadas palabras nemotécnicas, tales como: ADD, DIV, SUB, etc. 1958 LISP 1960 COBOL 1964 Algol 58 Familia de lenguajes de programación imperativos iniciada a mediados de los 50, convirtiéndose en un estándar de facto para presentar algoritmos hasta los 80.
Fue diseñado para evitar ciertos problemas presentados en el lenguaje FORTRAN (incluyendo Pascal).

ALGOL utiliza bloques de declaraciones entre paréntesis y fue el primer lenguaje en emplear los términos BEGIN y END para delimitarlos.

Existen tres ramas principales y oficiales de la familia ALGOL:
* ALGOL 58: al principio conocido como IAL (por International Algorithmic Language).
* ALGOL 60: revisión del año 1963.
* ALGOL 68: revisión del año 1973. Ejemplo PL/1 Basic 1970 B 1972 Lenguaje C 1975 Altair Basic 1983 C++ 1987 http://www.vromans.org/johan/perlref-history.html 1991 Phyton Visual Basic 1993 AppleScript 1994 PHP 1995 Java 2001 C# Lenguajes Orientado a Objetos La POO es una extensión de los lenguajes de alto nivel estructurados que trata de representar de una forma más sencilla el modelo del mundo real. Es un lenguaje de programación aplicativo o funcional, de propósito general, se basa en la aplicación de funciones a los datos y se apoya en la utilización de funciones matemáticas para el control de los mismos. El elemento fundamental en el LISP es la lista, más ampliamente el término. Cada función del LISP y cada programa que generemos con él vienen dado en forma de lista. . El nombre proviene del término “List Processing ”.LISP es muy utilizado en la Inteligencia Artificial. 1958 Es un lenguaje de programación de propósito general, procedimental e imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica.
Desarrollado originalmente por IBM (Common Business -Oriented Language - Lenguaje Común Orientado a Negocios). COBOL es un lenguaje de programación creado en 1960 con el objetivo de crear un lenguaje universal para cualquier tipo de computadora, orientado a la informática de gestión.
Este lenguaje fue creado por la comisión CODASYL, compuesta de fabricantes de computadoras, usuarios y el Departamento de Defensa de EE.UU., creada en mayo de 1959. 1964 El lenguaje BASIC fue inventado en 1964 por John George Kemeny (1926-1993) y Thomas Eugene Kurtz (1928-) en el Dartmouth College. En años subsiguientes, mientras que otros dialectos de BASIC aparecían, el BASIC original de Kemeny y Kurtz fue conocido como BASIC Dartmouth.

BASIC fue diseñado para permitir a los estudiantes escribir programas usando terminales de un computador en tiempo compartido. Estaba pensado para reducir notablemente la complejidad de los otros lenguajes del momento, con uno diseñado específicamente para la clase de usuarios que los sistemas de tiempo compartido permitían: un usuario más sencillo, fuera del área de las ciencias de la computación, a quien no le interesaba tanto la velocidad, sólo el hecho de ser capaz de programar y usar la máquina sin demasiadas complicaciones. Los diseñadores del lenguaje también querían que permaneciera en el dominio público, lo cual contribuyó a que se esparciera rápidamente B es el nombre de un lenguaje de programación desarrollado en los Bell Labs, predecesor del lenguaje de programación C. Fue mayoritariamente un trabajo de Kenneth L. Thompson con contribuciones de Dennis M. Ritchie publicado por primera vez en el año 1969. B fue esencialmente una simplificación del lenguaje BCPL, eliminando cualquier componente que Thompson. es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. considerado el primero en utilizar el paradigma orientado a objetos (OOP). En Smalltalk absolutamente todo es un objeto, incluso el propio entorno Smalltalk. Se caracteriza por su orientación a objetos pura, tipado dinámico, posee herencia simple, interactúa entre objetos mediante el envío de mensajes y posee un recolector de basura. Es multiplataforma y puede compilar en tiempo de ejecución o interpretado, se fortalecio en los años 80. Small Talk Proviene del francés Programation et Logique. Lenguaje de programación de tipo lógico e interpretado. Utilizado especialmente en investigaciones sobre Inteligencia Artificial.

Fue ideado a principios del 70 en la universidad de Aix-Marseille por los profesores Alain Colmerauer y Phillipe Roussel.

Al principio era sólo un lenguaje interpretado; luego, a mediados de los 70, David Warren desarrolló un compilador que traducía Prolog a un conjunto de instrucciones de una máquina abstracta denominada Warren Abstract Machine (WAM). Desde ese momento Prolog es un lenguaje semi-interpretad Fue un intérprete para el lenguaje de programación BASIC que corría en el Altair 8800 de MITS y posteriormente en las máquinas de Bus S-100. Fue el primer producto de Microsoft (como Micro-Soft), distribuido por MITS bajo contrato. Altair BASIC fue el principio de la gama de productos de Microsoft BASIC. es un lenguaje de propósito general basado en el C, al que se han añadido nuevos tipos de datos, clases, plantillas, mecanismo de excepciones, sistema de espacios de nombres, funciones inline, sobrecarga de operadores, referencias, operadores para manejo de memoria persistente, y algunas utilidades adicionales de librería (en realidad la librería Estándar C es un subconjunto de la librería C++). Perl (Practical Extraction and Report Language) es un lenguaje de programación desarrollado a finales de los años 80 por Larry Wall a partir otras herramientas de UNIX como son: ed,grep,awk,c-shell, para la administración de tareas propias de sistemas UNIX.

Es un lenguaje de script de tipo BCPL (como TCL o PHP), muy semejante al AWK (de hecho está basado en él), de tipo estructurado con trazas de orientación a objetos (no completamente soportado de forma directa), que permite el desarrollo rápido de aplicaciones y herramientas especialmente orientadas al tratamiento de textos y archivos, aunque actualmente también se utiliza incluso para entornos graficos, en combinación con sistemas como Perl/TK o GTK. 1958 Ruby Es un lenguaje de programación desarrollado por el alemán Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la Programación misma es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.Con respecto a la memoria, su gestión no es un problema ya que ésta es gestionada por el própio lenguaje y no por el programador. s una herramienta de escritura de código que se instala con el sistema operativo Mac OS. Los programadores utilizan AppleScript para crear códigos y aplicaciones que sean pequeños programas de Mac OS que puedan complementar algunas de las tareas del sistema y además, puedan extender la capacidad de otras aplicaciones del sistema. es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro Matz Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python, Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre. (pronunciado si sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. FIN 1972 1972 1972 Un programa escrito en lenguaje ensamblador consiste en una serie de Instrucciones de tipo mnemónico que corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la Memoria de un sistema basado en Microprocesador.

Por ejemplo, un Procesadorx86 puede ejecutar la siguiente instrucción Binaria como se expresa en código de máquina:

Binario: 10110000 01100001 (Hexadecimal: 0xb061)

La representación equivalente en lenguaje ensamblador es más fácil de recordar: MOV al, 061h
Esta instrucción significa: Asigna el valor Hexadecimal
61 (97 Decimal) al registro "al". Lenguajes de Alto Nivel Lenguajes de Bajo Nivel Lenguajes Orientados a Objetos 2005 Programación
Orientada a Aspectos 2001.. Programación Orientada a Aspectos Descomposición en Objetos La programación orientada a aspectos es un tipo de programación relativamente nuevo que ha logrado un nivel de desarrollo interesante y está generando grandes expectativas a nivel mundial con respecto al futuro del desarrollo de software. Este paradigma representa una nueva forma de modularizar las aplicaciones junto con nuevas formas de relacionar dichos módulos buscando, en últimas, construir aplicaciones más fáciles de implementar y mantener y extender. Usa la descompsición por Aspectos. Lenguajes de Proposito General Lenguajes de dominio especifico Estos lenguajes soportan uno o más de los sistemas de aspectos como distribución, coordinación, manejo de errores, pero no pueden soportar otros aspectos distintos de aquellos para los que fueron diseñados. Los lenguajes de aspectos de dominio específico normalmente tienen un nivel de abstracción mayor que el lenguaje base y, por tanto, expresan los conceptos del dominio específico del aspecto en un nivel de representación más alto. Estos lenguajes se diseñaron para ser utilizados con cualquier clase de aspecto, no solamente con aspectos específicos. Por lo tanto, no pueden imponer restricciones en el lenguaje base. Principalmente soportan la definición separada de los aspectos proporcionando unidades de aspectos. Normalmente tienen el mismo nivel de abstracción que el lenguaje base y también el mismo conjunto de instrucciones, ya que debería ser posible expresar cualquier código en las unidades de aspectos. Ejempolo COOL ¿Qué es COOL?

Es un lenguaje de dominio específico creado por Xerox cuya finalidad es la sincronización de hilos concurrentes. El lenguaje base que utiliza es una versión restringida de Java, ya que se han de eliminar los métodos wait, notify y notifyAll, y la palabra clave synchronized para evitar que se produzcan situaciones de duplicidad al intentar sincronizar los hilos en el aspecto y en la clase.
Un programa COOL está formado por un conjunto de módulos coordinadores. En cada coordinador se define una estrategia de sincronización, en la cual pueden intervenir varias clases. Aunque estén asociados con las clases, los coordinadores no son clases. ¿Qué es AspectJ?

Es una extensión a JavaTM orientada a aspectos y de propósito general. AspectJ extiende Java con una nueva clase de módulos llamado aspecto. Los aspectos cortan las clases, las interfaces y a otros aspectos y tambien mejoran la separación de competencias haciendo posible localizar de forma limpia los conceptos de diseño del corte.

En AspectJ, un aspecto es una clase, exactamente igual que las clases Java, pero con una particularidad, que pueden contener unos constructores de corte, que no existen en Java. Los cortes de AspectJ capturan colecciones de eventos en la ejecución de un programa. Estos eventos pueden ser invocaciones de métodos, invocaciones de constructores, y excepciones de señales y gestión. Los cortes no definen acciones, sino que describen eventos. Ejemplo AspectJ http://www.carlospes.com/minidiccionario/lenguaje_de_bajo_nivel.php23 enero 2012 Autor http://www.desarrolloweb.com/articulos/2358.php
23 de Enero del 2012 Autor Autor http://www.ecured.cu/index.php/Lenguaje_ensamblador .model small
.stack
.data Incialización del programa
var1 db ?
.code
.startup

mov ah,01h; leer caracter desde el teclado
int 21h; lee primer caracter

sub al,30h; resto 30H (48Dec) para obtener el numero
mov var1,al ; lo guardo en variable var1

mov ah,01h ; leer caracter desde el teclado
int 21h ; leo el segundo caracter

sub al,30h; resto 30H (48Dec) para obtener segundo valor

add al,var1 ; realizo la suma de los dos valores

mov dl,al; pongo en dl el a imprimir numero
add dl,30h ; agrego 30 (48Dec) para obtener el caracter
mov ah,02h; funcion para imprimir un caracter en pantalla

int 21h
;.exit
end #include
#include
main(){
int a, b,c;

printf ("Suma de dos numeros \n Digita el primer numero ");

scanf("%d",&a);


printf("digita el segundo numero ");

scanf("%d",&b);

c=a+b;


printf("el resultado de la suma es:%d",c);

getch();
return 0;
} Suma de dos numeros en Ensamblador Suma de dos numeros en C http://www.timetoast.com/timelines/programacion-en-codigo http://pictures.hatsrack.com/?Directory=Interesting&PicturePage=1 http://www.alegsa.com.ar/Dic/algol.php http://www.ecured.cu/index.php/ALGOL http://www.ecured.cu/index.php/Lisp http://www.alegsa.com.ar/Dic/cobol.php http://nosbi.com/el-lenguaje-de-programacion-cobol/ es una familia delenguajes de programación decomputadora de tipofuncional con una larga historia y una sintaxis completamente entreparéntesis. Especificado originalmente en 1958 por John McCarthy y suscolaboradores en elMIT , el Lisp es el segundo más viejo lenguaje de programación de alto nivel de extenso uso hoy en día; solamente elFORTRAN es más viejo. Al igual que el FORTRAN, el Lisp ha cambiado mucho desde suscomienzos, y han existido un número dedialectos en su historia. Hoy, losdialectos Lisp de propósito general más ampliamente conocidos son elCommon Lisp y elScheme. http://es.scribd.com/doc/71104871/Tipos-de-lenguaje http://www.ecured.cu/index.php/BASIC http://www.dipity.com/agallo/EVOLUCI-N-DEL-SOFTWARE/ http://www.timetoast.com/timelines/65301 http://www.ecured.cu/index.php/Historia_del_Lenguaje_C http://www.freepik.es/vector-gratis/registrate-en-lenguaje-c-de-clip-art_382266.htm http://upload.wikimedia.org/wikipedia/en/c/c0/Smalltalk80book.jpg http://www.alegsa.com.ar/Dic/smalltalk.php PROLOG http://clientes.inerciasis.com/dstewart/prolog/news/9/NoticiasProlog04.htm http://www.alegsa.com.ar/Dic/prolog.php 1966 es la siglaeninglésde Basic Combined Programming Language (Lenguaje deProgramación Básico Combinado). Fue diseñado por Martin Richardsonde laUniversidad de Cambridgeen1966debido a las dificultades experimentadas con el lenguaje de programaciónCPL durante los años 60. El primer compilador implementado fue escrito en1967mientras Richard visitaba elMIT.El lenguaje fue descrito por primera vez en un proyecto presentado en una conferencia informática en1969. Años después,Dennis Ritchie lo utilizó como base para desarrollar B(que a su vez, más tarde daría lugar al popular lenguaje de programación C) BCPL http://es.scribd.com/doc/71104871/Tipos-de-lenguaje http://www.dipity.com/patrym94/Linea-del-tiempo-Historia-de-la-Informatica/ http://www.timetoast.com/timelines/65301 Lenguaje http://www.ecured.cu/index.php/C%2B%2B http://www.juarbo.com/tag/aprender-programacion-en-c/ http://www.ecured.cu/index.php/Perl Perl Es un lenguaje interpretado e interactivo, creado por Guido Van Rossum en1991. Es completamente tipeado dinámicamente, usa manejo automático dememoria, por lo cual es similar a Lisp, Perl, Ruby, Scheme y Tcl.Es desarrollado como proyecto de software libre, manejado por la PythonSoftware Foundation. Tomo varias de sus características de Lisp. http://es.scribd.com/doc/71104871/Tipos-de-lenguaje http://www.jampudia.com/cursos/aprenda-a-programar-en-python-desde-cero.html http://www.ecured.cu/index.php/Visual_basic http://gustavolp2.blogspot.com/2011/01/que-es-visual-basic.html http://luauf.com/wp-content/uploads/2008/06/ruby_logo.png http://www.ecured.cu/index.php/Ruby http://www.ecured.cu/index.php/AppleScript http://www.ecured.cu/index.php/Php http://profesorfrink.com/tag/php/ http://learning-sec.org/2011/07/12/cap-5-java-deitel-deitel/ http://www.ecured.cu/index.php/Java http://es.scribd.com/doc/71104871/Tipos-de-lenguaje http://jaguarnegro18.blogspot.com/2011/09/ultimamente-estado-algo-flojo-en-cuanto.html http://www.slideshare.net/2008PA2Info3/programacin-orientada-a-aspectos-fernando-crdoba Elementos de Contextualización Objetivo Dar a conocer la evolución de los lenguajes de programación, demostrando las diferentes generaciones que existentes, y el tiempo en que estuvieron en auge, teniendo como base los principales lenguajes para cada generación. Ficha Técnica

Profesor:
LESLEY FABIOLA BOHORQUEZ C.
Ingeniera De Sistemas

Auxiliares de Investigación:
LEONARDO FABIO SANCHEZ S.
GERSON ALBERTO PABON
Estudiante Ing. de Sistemas Autores: Grupo de Investigación y Desarrollo de Software GIDIS

Universidad Francisco de Paula Santander Licencia
Full transcript