Personajes prominentes, evolución y conceptos relacionados a la programación

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Personajes prominentes, evolución y conceptos relacionados a la programación por Mind Map: Personajes prominentes, evolución y conceptos relacionados a la programación

1. • Charles Babbage (1791-1871)

1.1. Matemático Inglés

1.2. Creó una máquina de Diferencias en 1822

1.3. Usó tecnología para relojes

1.4. Para resolver ecuaciones polinomiales

1.5. Nunca se terminó

1.6. • Datos curiosos Charles Babbage

1.6.1. – Prolífico inventor: Diseñó y parcialmente implementó una máquina para calcular, de diferencias mecánicas para calcular tablas de números. También diseñó, pero nunca construyó, la máquina analítica para ejecutar programas de tabulación o computación; en el Museo de Ciencias de Londres se exhiben partes de sus mecanismos inconclusos.

1.6.2. – Aficionado a lo sobrenatural

1.6.3. – Odiaba a los músicos callejeros (lo interrumpían, siempre los corria de la calle de su casa)

1.6.4. – Odiaba a los músicos callejeros (lo interrumpían, siempre los corria de la calle de su casa)

1.6.5. – Fue candidato al Parlamento Británico en dos ocasiones (en ambas perdió)

1.6.6. – Se expuso en una ocasión a una temperatura de 130° C para ver lo que se sentía ser horneado

1.7. • Máquina Analítica

1.7.1. Babbage (1933) diseñó la máquina analítica

1.7.2. Máquina programable de propósito general

1.7.3. Vapor como fuente de energía

1.7.4. Diseñada para almacenar 1000 números con 50 decimales cada uno. Las instrucciones almacenadas en tarjetas perforadas

1.7.5. Debido a problemas similares a los de la máquina diferencial, la máquina analítica nunca fue terminada por Charles. En 1842, para obtener la financiación necesaria para realizar su proyecto, Babbage contactó con sir Robert Peel. Peel lo rechazó, y ofreció a Babbage un título de caballero que fue rechazado por Babbage. Lady Ada Lovelace, matemática e hija de Lord Byron, se enteró de los esfuerzos de Babbage y se interesó en su máquina. Promovió activamente la máquina analítica, y escribió varios programas para la máquina analítica. Los diferentes historiadores concuerdan que esas instrucciones hacen de Ada Lovelace la primera programadora de computadoras de la historia.

1.8. Considerado el padre de las computadoras

1.8.1. Se le considera como una de las primeras personas en concebir la idea de lo que hoy llamaríamos una computadora, por lo que se le considera como «El Padre de la Computación».

1.9. Video relacionado a este personaje

2. ADA Condesa de Lovelace (1815-1852)

2.1. Ayudante de Babbage

2.2. Diseñó un lenguaje para la máquina analítica

2.3. Es considerada la primera programadora de la historia

2.4. Se creó el lenguaje de programación “Ada”

2.5. Video relacionado a la vida y obra de este personaje

3. • Konrad Zuse

3.1. Ingeniero Alemán

3.2. Construyó el primer computador digital programable en los años 30

3.3. Usó retardos electromecánicos para realizar conmutación

3.4. Primera máquina en la que se utilizó el sistema numérico binario

3.5. Falta de recursos

4. • Alan Turing (1912-1954)

4.1. Matemático inglés y primer científico de computación

4.2. Creó modelos matemáticos de computadores (Máquina de Turing) 1936

4.3. Demostró teoremas fundamentales acerca de las limites de la computabilidad (Teoría de la Computación)

4.4. Ayudó a decifrar (criptoanálisis) los códigos secretos “Enigma” durante la 2° guerra mundial

4.5. Trabajó en la construcción de un computador electrónico británico (Colossus) para decifrar códigos

4.6. Perseguido por ser Homosexual.

4.7. Se suicidó en 1954

4.8. Pelicula ENIGMA actualmente en cines

5. Grace Murray Hopper

5.1. Militar estadounidense con grado

5.2. Desarrolló el primer compilador para un lenguaje de programación así como también propició métodos de validación

5.3. En 1957 realizó el primer compilador para procesamiento de datos que usaba órdenes en inglés, el B-0 (FLOW-MATIC), utilizado principalmente para el cálculo de nóminas.

5.4. VIDEO.

6. Lenguajes de Programacion

6.1. Clasificación: dependiendo de su legibilidad para el ser humano los lenguajes de programación se clasifican en lenguajes de bajo nivel y lenguajes de alto nivel.

6.1.1. El lenguaje de máquina es considerado el lenguaje de primera generación. Las instrucciones en lenguaje de máquina dependían de las características de cada equipo.

6.1.2. Dada la dificultad de desarrollar programas en unos y ceros, los investigadores de la época desarrollaron el lenguaje ensamblador, cuyo conjunto de instrucciones consta de palabras nemotécnicas que corresponden a las operaciones básicas que una computadora puede ejecutar.

6.1.3. Para traducir de lenguaje ensamblador a lenguaje de máquina, se desarrollaron programas llamados ensambladores (en inglés, assemblers). Este lenguaje fue considerado de segunda generación.

6.1.4. En la década de los 50´s aparecieron los primeros lenguajes de alto nivel, cuyas instrucciones son más parecidas al idioma inglés y, por lo tanto, más fácil de utilizar para los programadores, además de que son independientes de la arquitectura de las computadoras.

6.1.4.1. Al igual que el lenguaje ensamblador, los programas escritos en un lenguaje de alto nivel deben ser codificados a lenguaje de máquina, así que junto con ellos se desarrollaron programas traductores, que de acuerdo con la forma en que trabajan se dividen en dos tipos: compiladores e intérpretes.

6.1.4.1.1. Los compiladores traducen todo el programa escrito en un lenguaje de alto nivel, llamado programa fuente, generando un nuevo programa objeto que está escrito en lenguaje de máquina y a partir de este se genera un programa ejecutado, el cual puede ejecutarse cada vez que se desee sin tener que compilar el programa fuente de nueva cuenta.

6.1.4.1.2. En cambio, un intérprete revisa una a una cada línea de código, la analiza y enseguida la ejecuta, sin revisar todo el código y sin generar un programa objeto, así que cada vez que se quiere ejecutar el programa se vuelve a traducir el programa fuente línea por línea.

6.2. Paradigmas: Un paradigma de programación representa un enfoque particular o filosofía para diseñar soluciones. Los paradigmas difieren unos de otros en los conceptos y la forma de abstraer los elementos involucrados en un problema, así como en los pasos que integran su solución del problema, en otras palabras, el cómputo.

6.2.1. Paradigma imperativo o procedural. Es el método de programación tradicional, donde los programas describen la forma de solucionar un problema a partir de una lista de instrucciones que se ejecuta de forma secuencial, a menos que se trate de estructuras de control condicionales o repetitivas,

6.2.1.1. Algunos lenguajes imperativos son: COTO, Fortran, Cobol, Pascal, Basic, Ada y C.

6.2.2. Paradigma declarativo. En contraste con el paradigma imperativo, el objetivo de este paradigma no es describir cómo solucionar un problema, sino describir un problema mediante predicados lógicos o funciones matemáticas.

6.2.2.1. Los lenguajes de programación más representativos del paradigma funcional son: Lisp, ML y Haskell.

6.2.3. Paradigma orientado a objetos. En este caso la solución de un problema se plantea en términos de objetos y relaciones entre ellos. Está basado en varias técnicas, incluyendo, herencia, polimorfismo, modularidad y encapsulamiento.

6.2.3.1. El lenguaje Java y C#, que actualmente son los más utilizados, son ejemplos de este paradigma.

7. Programas

7.1. Ciclo de Vida del software: Independientemente del paradigma que se siga y del lenguaje que se utilice para programar, existe un conjunto de fases que deben seguirse para realizar un programa de computadora, al cual se le conoce como ciclo de vida del software, en la siguiente figura se lista cada una de ellas.

7.1.1. Planteamiento del problema Es la primera fase del ciclo, consiste únicamente en elegir el problema que se quiere resolver para poder comenzar su análisis.

7.1.2. Análisis del problema En esta fase se determina ¿qué hace el programa? Por lo cual debe definirse de manera clara y concisa el problema en cuestión, se debe establecer el ámbito del problema, las características, limitaciones y modelos de lo que se desea resolver. Este paso debe conducir a una especificación completa del problema en donde se describa cuáles son los datos requeridos para resolverlo (datos de entrada) y cuál es el resultado deseado (salida).

7.1.3. Diseño de la solución Es en esta fase se define ¿cómo el programa resuelve el problema? Para ello, se describe paso a paso la solución del mismo, lo cual se conoce como algoritmo. Cuando el problema es grande se recomienda dividirlo en subproblemas más pequeños y resolver por separado cada uno de ellos.

7.1.4. Implementación (codificación) El algoritmo no puede ser ejecutado por una computadora por ello debe traducirse a un lenguaje de programación (como por ejemplo C) para obtener un programa fuente que se traduzca a lenguaje de máquina para que sea ejecutado por la computadora.

7.1.5. Validación y pruebas Esta fase debe hacerse una vez que se ha diseñado el algoritmo y después de que se codifica, sirve para verificar que son correctos.

7.1.6. Documentación Cualquier proyecto de software por la complejidad que tiene requiere tanto las ideas principales como el desarrollo de principio a fin sea documentado, con el fin de que cualquiera puedan entender la lógica del programa y de ser necesario pueda modificarlos sin tantas complicaciones.

7.1.7. Mantenimiento Esta fase tiene sentido una vez que fue terminada una primera versión del programa y ya está siendo utilizado. Ya que en ésta se actualiza y modifica para corregir errores no detectados o para cambiar y/o agregar una nueva función.

8. Estructura y Funcionamiento de una computadora

8.1. El Modelo Von Neuman

8.1.1. La maquina de Von Neumann tenia 5 partes básicas: La memoria, la unidad Aritmética lógica, la unidad de control del programa y los equipos de entrada y salida. La memoria constaba de 4096 palabras, cada una con 40 bits (0 o 1). Cada palabra podía contener 2 instrucciones de 20 bits o un número entero de 39 bits y su signo. Las instrucciones tenían 8 bits dedicados a señalar el tiempo de la misma y 12 bits para especificar alguna de las 4096 palabras de la memoria.

8.1.2. MODELO DE VON NEUMAN.

8.1.3. DIAGRAMA

9. Alan Kay

9.1. Conocido por sus trabajos pioneros en la programación orientada a objetos y el diseño de sistemas de interfaz gráfica de usuario.

9.2. En los setenta fue uno de los miembros principales del centro, desarrollando prototipos de estaciones de trabajo en red, usando el lenguaje de programación Smalltalk. Estas invenciones fueron posteriormente comercializadas por Apple en el Apple Macintosh.

9.3. En 2001 Alan Kay recibió el UdK 01-Award en Berlín, Alemania, por ser pionero en las interfaces gráficas de usuario (GUI). En 2003 recibió el ACM Turing Award por su trabajo en la programación orientada a objetos.

9.4. A Alan Kay se le atribuyen las siguientes frases: La mejor forma de predecir el futuro es inventarlo. Yo inventé el término "orientado a objetos", y te puedo asegurar que C++ no era en lo que estaba pensando. Java es lo más penoso que le ha ocurrido a la informática desde MS-DOS. Las personas que en realidad toman en serio el software, deben crear su propio hardware

9.5. VIDEO.

10. Douglas Engelbart

10.1. Es conocido por inventar el ratón, y fue un pionero de la interacción humana con las computadoras, incluyendo el hipertexto y las computadoras en red.2 Su visión sirvió para que los ingenieros de Xerox PARC llegaran finalmente a un mejor diseño del mouse, empleado por la Xerox Alto, la primera computadora personal con interfaz gráfica.

10.2. En otoño de 1968, en una conferencia de expertos en informática, Doug Engelbart hizo una presentación que duró 90 minutos. Además de hacer la primera demostración pública del ratón, incluyó una conexión en pantalla con su centro de investigación, es decir, fue la primera vídeo-conferencia de la historia y es recordada con el título de «la madre de todas las demos».

10.3. PRIMER PROTOTIPO DE RATON

10.4. VIDEO

11. Bill Gates

11.1. Conocido como Bill Gates, es un empresario, informático y filántropo4 estadounidense, cofundador de la empresa de software Microsoft junto con Paul Allen.

11.2. En 1980, se reunió con representantes de IBM en Seattle. Consiguió venderles el sistema operativo MS-DOS, aunque él aún no lo tenía y luego lo compra a muy bajo precio a un joven programador. IBM necesitaba ese sistema operativo para competir con Apple, razón por la cual la negociación fue flexible.

11.3. Al comenzar el segundo milenio, el sistema operativo Microsoft Windows (en todas sus versiones) se utiliza en la mayor parte de ordenadores personales del planeta.

11.4. VIDEO

12. Steve Jobs (24/Feb/1955 - 05/Oct/2011)

12.1. Fundó Apple en 1976 junto con un amigo de la adolescencia, Steve Wozniak, en el garaje de su casa. Aupado por el éxito del Apple II Jobs obtuvo una gran relevancia pública, siendo portada de Time en 1982.

12.2. A principios de 1984 su compañía lanzaba el Macintosh 128K, que fue el primer ordenador personal que se comercializó exitosamente que usaba una interfaz gráfica de usuario (GUI) y un ratón en vez de la línea de comandos.

12.3. Durante los años 90 transformó una empresa subsidiaria adquirida a Lucasfilm en Pixar, que revolucionó la industria de animación con el lanzamiento de Toy Story. La integración de esta compañía en Disney, de la que era proveedor, convertiría a Jobs en el mayor accionista individual del gigante del entretenimiento.

12.4. VIDEO

12.5. VIDEO II