SlideShare una empresa de Scribd logo
1 de 21
REALIZADO POR: 
NICOLAS QUINTERO 
JAIME ALBERTO CAIRASCO 
DANIEL ROJAS MAJE
 PROGRAMACION 
 La programación informática, a menudo acortada 
como programación, es el proceso de diseñar, codificar, depurar y 
mantener el código fuente de programas computacionales. El 
código fuente es escrito en un lenguaje de programación. El 
propósito de la programación es crear programas que exhiban un 
comportamiento deseado. El proceso de escribir código requiere 
frecuentemente conocimientos en varias áreas distintas, además 
del dominio del lenguaje a utilizar, algoritmos especializados y 
lógica formal. Programar no involucra necesariamente otras tareas 
tales como el análisis y diseño de la aplicación (pero sí el diseño 
del código), aunque sí suelen estar fusionadas en el desarrollo de 
pequeñas aplicaciones.
 LENGUAJE DE PROGRAMACION 
 lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden 
ser llevados a cabo por máquinas como las computadoras. 
 Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una 
máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1 
 Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su 
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se 
prueba, se depura, se compila(de ser necesario) y se mantiene el código fuente de un programa 
informático se le llama programación. 
 También la palabra programación se define como el proceso de creación de 
un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de 
los siguientes pasos: 
 El desarrollo lógico del programa para resolver un problema en particular. 
 Escritura de la lógica del programa empleando un lenguaje de programación específico 
(codificación del programa). 
 Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina. 
 Prueba y depuración del programa. 
 Desarrollo de la documentación.
 HISTORIA DE LA PROGRAMACIÓN 
 A pesar de que muchos usuarios pueden creer que la programación y 
el desarrollo son ciencias nuevas, lo cierto es que no es así. De hecho, 
el algoritmo considerado primer programa fue creado entre 1842 
y 1843 por Ada Lovelace. Años después, el departamento de defensa 
estadounidense nombró un lenguaje de programación, Ada, en su 
honor. 
 Pero quien realmente influyó en el diseño de los primeros 
computadores fue Charles Babbage (1793-1871). Con la colaboración 
de la hija de Lord Byron, Lady Ada Countess of Lovelace (1815-1852), 
a la que debe su nombre el lenguaje ADA creado por el DoD 
(Departamento de defensa de Estados Unidos) en los años 70. 
Babbage diseñó y construyó la "máquina diferencial" para el cálculo 
de polinomios. Más tarde diseñó la "máquina analítica" de propósito 
general, capaz de resolver cualquier operación matemática. Murió sin 
poder terminarla, debido al escepticismo de sus patrocinadores y a 
que la tecnología de la época no era lo suficientemente avanzada. Un 
equipo del Museo de las Ciencias de Londres, en 1991, consiguió 
construir la máquina analítica de Babbage, totalmente funcional, 
siguiendo sus dibujos y especificaciones
 Un hito importante en la historia de la 
informática fueron las tarjetas 
perforadas como medio para 
"alimentar" los computadores. Lady 
Ada Lovelace propuso la utilización de 
las tarjetas perforadas en la máquina 
de Babbage. Para que se enteren todos 
esos machistas desaprensivos, el 
primer programador/a fue una mujer. 
En 1880 el censo en Estados Unidos 
tardó más de 7 años en realizarse. Es 
obvio que los datos no eran muy 
actualizados. Un asistente de la oficina 
del censo llamado Herman 
Hollerit (1860-1929) desarrolló un 
sistema para automatizar la pesada 
tarea del censo. Mediante tarjetas 
perforadas y un sistema de circuitos 
eléctricos, capaz de leer unas 60 
tarjetas por minuto realizó el censo de 
1890 en 3 años ahorrando tiempo y 
dinero. Más tarde fundó la Tabulating 
Machine Company y en 1924 tras 
alguna que otra fusión nació la 
Internacional Bussines Machines, IBM. 
Maquina analítica de Babbage
 Las computadoras de hoy en día se sustentan en la lógica 
matemática basada en un sistema binario. Dicho sistema se 
implementa sobre dispositivos electrónicos que permiten, o no, 
pasar la corriente, con lo que se consiguen los 2 estados binarios: 0 
y 1. A mediados del siglo XX, cuando se empezaron a construir las 
primeras computadoras digitales, se utilizaban tubos de vacío 
para implementar los 2 estados binarios, pero ¿ cómo aparecieron 
estos conceptos ? Alan Mathison Turing (1912-1954) diseñó una 
calculadora universal para resolver cualquier problema, la 
"máquina de Turing". Tuvo mucha influencia en el desarrollo de la 
lógica matemática. En 1937 hizo una de sus primeras 
contribuciones a la lógica matemática y en 1943 plasmó sus ideas 
en una computadora que utilizaba tubos de vacío. George 
Boole (1815-1864) también contribuyó al algebra binaria y a los 
sistemas de circuitos de computadora, de hecho, en su honor fue 
bautizada el álgebra booleana.
 Por otro lado, una de 
las empresas más 
grandes de la 
informática, IBM, 
nació en 1896, aunque 
entonces se 
llamaba Tabulating 
Machine Company. 
Fundada por Herman 
Hollerith, se dedicaba 
a la fabricación de 
máquinas capaces de 
leer tarjetas 
perforadas.
 La primera computadora digital electrónica patentada fue obra de John 
Vincent Atanasoff (1903-1995). Conocedor de las inventos de Pascal y 
Babbage, y ayudado por Clifford Berry (1918-1963), construyó el 
Atanasoff Berry Computer (ABC). El ABC se desarrolló entre 1937 y 1942. 
Consistía en una calculadora electrónica que utilizaba tubos de vacío y 
estaba basada en el sistema binario (sistema numérico en el que se 
combinan los valores verdadero y falso, o 0 y 1). 
 Entre 1939 y 1944, Howard Aiken (1900-1973) de la universidad de 
Harvard en colaboración con IBM desarrolló el Mark 1. Era una 
computadora electromecánica de 16 metros de largo y más de dos de alto. 
Tenía 700.000 elementos móviles y varios centenares de kilómetros de 
cables. Podía realizar las cuatro operaciones básicas y trabajar con 
información almacenada en forma de tablas. 
 Por desgracia, los avances tecnológicos suelen producirse gracias a los 
militares que se aprovechan de la ciencia para perfeccionar sus armas. En 
la Moore School de la Universidad de Pensilvania se estaba trabajando en 
un proyecto militar para realizar unas tablas de tiro para armas balísticas. 
Los cálculos eran enormes y se tardaban semanas en realizarlos. Parece 
ser que John W. Mauchly (1907-1980), quien dirigía el departamento de 
física del Ursine College de Filadelfia vivió en casa de Atanasoff durante 
cuatro días a partir del 13 de Junio de 1941, lo que seguramente 
aprovechó para conocer las ideas de Atanasoff.
 Junto a John Presper Eckert (1919-1995), Mauchly desarrolló una 
computadora electrónica completamente operacional a gran escala, para 
acelerar los complicados cálculos del proyecto militar de la universidad 
Moore. Se terminó en 1946 y se llamó Electronic Numerical Integrator 
And Computer (ENIAC). El ENIAC tenía 18.000 tubos electrónicos 
integrados en un volumen de 84 metros cúbicos. Pesaba unas 30 
toneladas y consumía alrededor de 100.000 vatios. Su capacidad de 
cálculo era de 5.000 operaciones por segundo, aunque tenía que 
programarse manualmente conectándola a 3 tableros que contenían más 
de 6000 interruptores. Cargar un programa podía ser una tarea de varios 
días. El calor dispado por semejante monstruo debía ser importante, y se 
necesitaba una instalación de aire acondicionado. En definitiva, un 
ordenador portátil... más o menos. Puede que no os suene, pero quien 
conozca de "los entresijos de la informática" seguro que considera 
importante nombrar a Johann Ludwig Von Neumann (1903-1957), genio 
de las matemáticas, quien tuvo el honor de asistir a las clases de Albert 
Einstein en la universidad de Berlín. Autor de trabajos de lógica 
simbólica, matemática pura y aplicada, física y tecnología, publicó un 
artículo acerca del almacenamiento de los programas, en 1945. Proponía 
que los programas se guardaran en memoria al igual que los datos, en 
forma binaria. Esto tuvo como consecuencia el aumento de velocidad de 
los cálculos y la ausencia de errores producidos por fallos mecánicos al 
programar la máquina mediante cables.
 En cuanto a la aparición de los lenguajes de programación, el 
archiconocido COBOL, que tantos problemas causó con el "efecto 2000", 
fue el primer lenguaje en el que no había que programar directamente en 
código binario, y fue Grace Murray Hoper en 1952, una oficial de la 
Marina de Estados Unidos desarrolló el primer compilador, un programa 
que puede traducir enunciados parecidos al inglés en un código binario 
comprensible para la maquina llamado COBOL (COmmon Business- 
Oriented Languaje). 
 A partir de ahí, los avances han sido vertiginosos. 
 La utilización del transistor en las computadoras en 1958, sustituyendo 
los tubos de vacío 
 La aparición del circuito integrado de mano de Jack Kilby, también en 
1958 
 La miniaturización de un circuito electrónico en un chip de silicio en 1961 
 El primer microprocesador, el 4004 de Intel, en 1971 
 Gary Kildall crea el sistema operativo CP/M en 1973 
 IBM comercializa el primer PC en 1980
 Primera Generación 
 Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de 
programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban 
a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos 
de cálculo, uno por uno. 
John Von Neumann desarrolló el modelo que lleva su nombre, para describir este 
concepto de "programa almacenado". En este modelo, se tiene una abstracción de la 
memoria como un conjunto de celdas, que almacenan simplemente números. Estos 
números pueden representar dos cosas: los datos, sobre los que va a trabajar el 
programa; o bien, el programa en sí. 
¿Cómo es que describimos un programa como números? Se tenía el problema de 
representar las acciones que iba a realizar la computadora, y que la memoria, al estar 
compuesta por switches correspondientes al concepto de bit, solamente nos permitía 
almacenar números binarios. 
La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar nuestra 
computadora, asociarle un número, que será su código de operación (opcode) . Por 
ejemplo, una calculadora programable simple podría asignar los opcodes : 
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
 La descripción y uso de los opcodes es lo que llamamos lenguaje 
de máquina. Es decir, la lista de códigos que la máquina va a 
interpretar como instrucciones, describe las capacidades de 
programación que tenemos de ella; es el lenguaje más primitivo, 
depende directamente del hardware, y requiere del programador 
que conozca el funcionamiento de la máquina al más bajo nivel. 
Los lenguajes más primitivos fueron los lenguajes de máquina. 
Esto, ya que el hardware se desarrolló antes del software, y 
además cualquier software finalmente tiene que expresarse en el 
lenguaje que maneja el hardware. 
La programación en esos momentos era sumamente tediosa, pues 
el programador tenía que "bajarse" al nivel de la máquina y 
decirle, paso a pasito, cada punto de la tarea que tenía que 
realizar. Además, debía expresarlo en forma numérica; y por 
supuesto, este proceso era propenso a errores, con lo que la 
productividad del programador era muy limitada. Sin embargo, 
hay que recordar que en estos momentos, simplemente aún no 
existía alternativa.
 Segunda Generación 
 El primer gran avance que se dio, como ya se comentó, fue la 
abstracción dada por el Lenguaje Ensamblador, y con él, el 
nacimiento de las primeras herramientas automáticas para 
generar el código máquina. Esto redujo los errores triviales, como 
podía ser el número que correspondía a una operación, que son 
sumamente engorrosos y difíciles de detectar, pero fáciles de 
cometer. Sin embargo, aún aquí es fácil para el programador 
perderse y cometer errores de lógica, pues debe bajar al nivel de 
la forma en que trabaja el CPU, y entender bien todo lo que 
sucede dentro de él.
 Tercera Generación 
 Con el desarrollo en los 50s y 60s de algoritmos de más elevado nivel, y el 
aumento de poder del hardware, empezaron a entrar al uso de 
computadoras científicos de otras ramas; ellos conocían mucho de Física, 
Química y otras ramas similares, pero no de Computación, y por 
supuesto, les era sumamente complicado trabajar con lenguaje 
Ensamblador en vez de fórmulas. Así, nació el concepto de Lenguaje de 
Alto Nivel, con el primer compilador de FORTRAN (Formula 
TRANslation), que, como su nombre indica, inició como un "simple" 
esfuerzo de traducir un lenguaje de fórmulas, al lenguaje ensamblador y 
por consiguiente al lenguaje de máquina. A partir de FORTRAN, se han 
desarrollado innumerables lenguajes, que siguen el mismo concepto: 
buscar la mayor abstracción posible, y facilitar la vida al programador, 
aumentando la productividad, encargándose los compiladores o 
intérpretes de traducir el lenguaje de alto nivel, al lenguaje de 
computadora. 
Hay que notar la existencia de lenguajes que combinan características de 
los de alto nivel y los de bajo nivel (es decir, Ensamblador). Mi ejemplo 
favorito es C: contiene estructuras de programación de alto nivel, y la 
facilidad de usar librerías que también son características de alto nivel; sin 
embargo, fue diseñado con muy pocas instrucciones, las cuales son 
sumamente sencillas, fáciles de traducir al lenguaje de la máquina; y 
requiere de un entendimiento apropiado de cómo funciona la máquina, el 
uso de la memoria, etcétera. Por ello, muchas personas consideramos a 
lenguajes como C (que fue diseñado para hacer sistemas operativos), 
lenguajes de nivel medio.
 Ejemplo de tercera generación
 Cuarta Generación 
 Los idiomas de la cuarta generación parecen según las 
instrucciones a las de la tercera generación. Lo nuevo de estas 
lenguajes son conceptos como clases, objetos y eventos que 
permiten soluciones más fáciles y lógicos. Lenguajes como C++, 
java y C# se llaman lenguajes orientadas al objeto. 
Los idiomas modernos, tal como C++ y Java, no sólo permite las 
abstracciones, pero permite la implementación impuesta de 
restricciones en abstracciones. La mayoría de los idiomas 
modernos son objetivas orientado, que permite que mí modele el 
mundo verdadero que usa mi idioma. Además, puedo limitar el 
acceso para modelar las restricciones de mundo verdadero en 
datos. La llave es que usé el término "mundo verdadero." Por la 
primera vez, yo modelo mi solución en términos del problema. 
Quiero que mi solución sea orientado de problema, para que la 
solución refleje el mundo verdadero en términos de estructuras de 
datos y acceso a los datos. Yo también puedo aplicar directamente 
y para poder modelar objetos de mundo verdadero usando las 
clases (en C + + o Java).
 Ejemplo de cuarta generación
 Quinta Generación 
 Como la quinta generación están conocidos los Lenguajes de inteligencia 
artificial. Han sido muy valorados al principio de las noventa - mientras 
ahora el desarrollo de software toma otras caminos. 
Lo que veremos en el futuro es menos dependencia en el idioma, y más 
en el modelando herramientas, tal como el Unificado Modelando el 
Idioma (UML). La salida del modelando herramienta producirá mucho 
de nuestro código para nosotros; en el muy menos, producirá 
arquitectónico y los modelos del diseño y la estructura de nuestro código. 
Esto producirá un diseño (y posiblemente código) eso puede ser validado 
por el cliente antes de completar la implementación y probar. Cuando los 
problemas diarios que resolvemos llegan a ser más grande, nosotros 
tenemos cada vez menos tiempo "volver a hacer" el código. Los días de 
decir, "acabamos de escribir una versión de Beta y el cliente entonces 
pueden decir nosotros lo que ellos quieren realmente," son pasados. Las 
organizaciones que fallan de obtener completa y corrige los requisitos de 
cliente antes de escribir el código saldrá del negocio. ¿Por qué? Porque 
toma demasiado largo, y cuesta también mucho, para escribir código dos 
o más vez. Las organizaciones que tienen un compromiso a la 
comprobación y la validación antes de producir código prosperarán - los 
otros fallarán.
 Ejemplos de quinta generación 
ejemplo Flowchart ejemplo UML
HISTORIA DE LA PROGRAMACION
HISTORIA DE LA PROGRAMACION

Más contenido relacionado

La actualidad más candente

1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacionAlejandro Sanchez Jose
 
Linea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacionLinea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacionJesus22barrera
 
Evolucion en el procesamiento de datos
Evolucion en el procesamiento de datosEvolucion en el procesamiento de datos
Evolucion en el procesamiento de datosGabriela San José
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++Jhon TRUJILLO
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasMartin Pacheco
 
Linea del tiempo (Evolución de las computadoras)
Linea del tiempo (Evolución de las computadoras)Linea del tiempo (Evolución de las computadoras)
Linea del tiempo (Evolución de las computadoras)Weymar98
 
LINEA DE TIEMPO DEL COMPUTADOR
LINEA DE TIEMPO DEL COMPUTADORLINEA DE TIEMPO DEL COMPUTADOR
LINEA DE TIEMPO DEL COMPUTADORAndres Leon
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la ProgramaciónAlessandro Viera
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Natalia Alejandra
 
Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~Karla Mtz. Garcia
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacionguestd5974a6
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionElder Giron
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion
 
Linea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacionLinea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacion
 
Historia de la programación
Historia de la programaciónHistoria de la programación
Historia de la programación
 
Evolucion en el procesamiento de datos
Evolucion en el procesamiento de datosEvolucion en el procesamiento de datos
Evolucion en el procesamiento de datos
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
 
Linea del tiempo (Evolución de las computadoras)
Linea del tiempo (Evolución de las computadoras)Linea del tiempo (Evolución de las computadoras)
Linea del tiempo (Evolución de las computadoras)
 
LINEA DE TIEMPO DEL COMPUTADOR
LINEA DE TIEMPO DEL COMPUTADORLINEA DE TIEMPO DEL COMPUTADOR
LINEA DE TIEMPO DEL COMPUTADOR
 
Linea de tiempo telecomunicaciones
Linea de tiempo telecomunicacionesLinea de tiempo telecomunicaciones
Linea de tiempo telecomunicaciones
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Tabla Comparativa
Tabla ComparativaTabla Comparativa
Tabla Comparativa
 

Destacado

Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programaciontacubomx
 
PARADIGMA LOGICO
PARADIGMA LOGICOPARADIGMA LOGICO
PARADIGMA LOGICOFredy Olaya
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores947369
 
Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.guestdf1874
 
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNHistoria Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNda4
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a ObjetosIsmael Perea
 
Historia y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de ProgramaciónHistoria y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de ProgramaciónLuis Superlano
 
Historia y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de ProgramaciónHistoria y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de ProgramaciónLuis Superlano
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programaciónRoberto Aguirre
 
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION IMETODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION IVideoconferencias UTPL
 
Evolucion de lenguajes de programacion los cochilocos
Evolucion de lenguajes de programacion los cochilocosEvolucion de lenguajes de programacion los cochilocos
Evolucion de lenguajes de programacion los cochilocoskakatupop03
 
Fases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa ConceptualFases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa Conceptualariannalizeeth
 
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?Alfa Mercado
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacionMonik AZ
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programaciónelizabethpaola
 

Destacado (20)

Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
PARADIGMA POO
PARADIGMA POOPARADIGMA POO
PARADIGMA POO
 
PARADIGMA LOGICO
PARADIGMA LOGICOPARADIGMA LOGICO
PARADIGMA LOGICO
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores
 
Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.
 
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNHistoria Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Programacion para niños
Programacion para niñosProgramacion para niños
Programacion para niños
 
Historia y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de ProgramaciónHistoria y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de Programación
 
Historia y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de ProgramaciónHistoria y Evolución de los Lenguajes de Programación
Historia y Evolución de los Lenguajes de Programación
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION IMETODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I
 
Evolucion de lenguajes de programacion los cochilocos
Evolucion de lenguajes de programacion los cochilocosEvolucion de lenguajes de programacion los cochilocos
Evolucion de lenguajes de programacion los cochilocos
 
Tecnicas de programacion
Tecnicas de programacionTecnicas de programacion
Tecnicas de programacion
 
Fases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa ConceptualFases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa Conceptual
 
Python Vs C
Python Vs CPython Vs C
Python Vs C
 
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacion
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 

Similar a HISTORIA DE LA PROGRAMACION

investigacion sobre la programacion By: Adán Garcia
 investigacion sobre la programacion By: Adán Garcia investigacion sobre la programacion By: Adán Garcia
investigacion sobre la programacion By: Adán GarciaAdanGarca4
 
Linea De Tiempo
Linea De TiempoLinea De Tiempo
Linea De Tiemporododj13
 
introduccion a la informatica 1° clase
introduccion a la informatica 1° claseintroduccion a la informatica 1° clase
introduccion a la informatica 1° claseClaudio26543
 
Introducción a la informatica
Introducción a la informaticaIntroducción a la informatica
Introducción a la informaticakarinfkdl
 
Tarea de informatica 2 Presentacion
Tarea de informatica 2 PresentacionTarea de informatica 2 Presentacion
Tarea de informatica 2 PresentacionWILLY079612
 
Valeria salas posada 9 4(lineadeltiempo)
Valeria salas posada 9 4(lineadeltiempo)Valeria salas posada 9 4(lineadeltiempo)
Valeria salas posada 9 4(lineadeltiempo)valeria salas posada
 
El origen de las computadoras
El origen de las computadorasEl origen de las computadoras
El origen de las computadorasDaury Gómez
 
Trasfondo Historico De Las Computadoras Final
Trasfondo Historico De Las Computadoras   FinalTrasfondo Historico De Las Computadoras   Final
Trasfondo Historico De Las Computadoras Finalteresomoza
 
Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...
Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...
Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...reynaisabelm
 
Hitos históricos que han contribuido a la evolución de la computación
Hitos históricos que han contribuido a la evolución de la computaciónHitos históricos que han contribuido a la evolución de la computación
Hitos históricos que han contribuido a la evolución de la computaciónMAYERLINROJASPEREZ1
 
Trabajo sobre el computador
Trabajo sobre el computadorTrabajo sobre el computador
Trabajo sobre el computadorJulian123789
 
Historia De la Informatica
Historia De la InformaticaHistoria De la Informatica
Historia De la InformaticaCarlos
 

Similar a HISTORIA DE LA PROGRAMACION (20)

investigacion sobre la programacion By: Adán Garcia
 investigacion sobre la programacion By: Adán Garcia investigacion sobre la programacion By: Adán Garcia
investigacion sobre la programacion By: Adán Garcia
 
INTRODUCCION A LA INFORMATICA
INTRODUCCION A LA INFORMATICAINTRODUCCION A LA INFORMATICA
INTRODUCCION A LA INFORMATICA
 
Unidad i
Unidad iUnidad i
Unidad i
 
Linea De Tiempo
Linea De TiempoLinea De Tiempo
Linea De Tiempo
 
introduccion a la informatica 1° clase
introduccion a la informatica 1° claseintroduccion a la informatica 1° clase
introduccion a la informatica 1° clase
 
Introducción a la informatica
Introducción a la informaticaIntroducción a la informatica
Introducción a la informatica
 
Tarea de informatica 2 Presentacion
Tarea de informatica 2 PresentacionTarea de informatica 2 Presentacion
Tarea de informatica 2 Presentacion
 
Valeria salas posada 9 4(lineadeltiempo)
Valeria salas posada 9 4(lineadeltiempo)Valeria salas posada 9 4(lineadeltiempo)
Valeria salas posada 9 4(lineadeltiempo)
 
INFORMÁTICA
INFORMÁTICAINFORMÁTICA
INFORMÁTICA
 
El origen de las computadoras
El origen de las computadorasEl origen de las computadoras
El origen de las computadoras
 
Museo virtual
Museo virtualMuseo virtual
Museo virtual
 
Trasfondo Historico De Las Computadoras Final
Trasfondo Historico De Las Computadoras   FinalTrasfondo Historico De Las Computadoras   Final
Trasfondo Historico De Las Computadoras Final
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...
Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...
Presentación1evolucion de lacomputadora y su uso en lod procesos de la inform...
 
Hitos históricos que han contribuido a la evolución de la computación
Hitos históricos que han contribuido a la evolución de la computaciónHitos históricos que han contribuido a la evolución de la computación
Hitos históricos que han contribuido a la evolución de la computación
 
Trabajo sobre el computador
Trabajo sobre el computadorTrabajo sobre el computador
Trabajo sobre el computador
 
Tarea 2
Tarea 2Tarea 2
Tarea 2
 
El computador
El computadorEl computador
El computador
 
Historia De la Informatica
Historia De la InformaticaHistoria De la Informatica
Historia De la Informatica
 
Informatica
InformaticaInformatica
Informatica
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

HISTORIA DE LA PROGRAMACION

  • 1. REALIZADO POR: NICOLAS QUINTERO JAIME ALBERTO CAIRASCO DANIEL ROJAS MAJE
  • 2.  PROGRAMACION  La programación informática, a menudo acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
  • 3.  LENGUAJE DE PROGRAMACION  lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras.  Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1  Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila(de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.  También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:  El desarrollo lógico del programa para resolver un problema en particular.  Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).  Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.  Prueba y depuración del programa.  Desarrollo de la documentación.
  • 4.  HISTORIA DE LA PROGRAMACIÓN  A pesar de que muchos usuarios pueden creer que la programación y el desarrollo son ciencias nuevas, lo cierto es que no es así. De hecho, el algoritmo considerado primer programa fue creado entre 1842 y 1843 por Ada Lovelace. Años después, el departamento de defensa estadounidense nombró un lenguaje de programación, Ada, en su honor.  Pero quien realmente influyó en el diseño de los primeros computadores fue Charles Babbage (1793-1871). Con la colaboración de la hija de Lord Byron, Lady Ada Countess of Lovelace (1815-1852), a la que debe su nombre el lenguaje ADA creado por el DoD (Departamento de defensa de Estados Unidos) en los años 70. Babbage diseñó y construyó la "máquina diferencial" para el cálculo de polinomios. Más tarde diseñó la "máquina analítica" de propósito general, capaz de resolver cualquier operación matemática. Murió sin poder terminarla, debido al escepticismo de sus patrocinadores y a que la tecnología de la época no era lo suficientemente avanzada. Un equipo del Museo de las Ciencias de Londres, en 1991, consiguió construir la máquina analítica de Babbage, totalmente funcional, siguiendo sus dibujos y especificaciones
  • 5.  Un hito importante en la historia de la informática fueron las tarjetas perforadas como medio para "alimentar" los computadores. Lady Ada Lovelace propuso la utilización de las tarjetas perforadas en la máquina de Babbage. Para que se enteren todos esos machistas desaprensivos, el primer programador/a fue una mujer. En 1880 el censo en Estados Unidos tardó más de 7 años en realizarse. Es obvio que los datos no eran muy actualizados. Un asistente de la oficina del censo llamado Herman Hollerit (1860-1929) desarrolló un sistema para automatizar la pesada tarea del censo. Mediante tarjetas perforadas y un sistema de circuitos eléctricos, capaz de leer unas 60 tarjetas por minuto realizó el censo de 1890 en 3 años ahorrando tiempo y dinero. Más tarde fundó la Tabulating Machine Company y en 1924 tras alguna que otra fusión nació la Internacional Bussines Machines, IBM. Maquina analítica de Babbage
  • 6.  Las computadoras de hoy en día se sustentan en la lógica matemática basada en un sistema binario. Dicho sistema se implementa sobre dispositivos electrónicos que permiten, o no, pasar la corriente, con lo que se consiguen los 2 estados binarios: 0 y 1. A mediados del siglo XX, cuando se empezaron a construir las primeras computadoras digitales, se utilizaban tubos de vacío para implementar los 2 estados binarios, pero ¿ cómo aparecieron estos conceptos ? Alan Mathison Turing (1912-1954) diseñó una calculadora universal para resolver cualquier problema, la "máquina de Turing". Tuvo mucha influencia en el desarrollo de la lógica matemática. En 1937 hizo una de sus primeras contribuciones a la lógica matemática y en 1943 plasmó sus ideas en una computadora que utilizaba tubos de vacío. George Boole (1815-1864) también contribuyó al algebra binaria y a los sistemas de circuitos de computadora, de hecho, en su honor fue bautizada el álgebra booleana.
  • 7.  Por otro lado, una de las empresas más grandes de la informática, IBM, nació en 1896, aunque entonces se llamaba Tabulating Machine Company. Fundada por Herman Hollerith, se dedicaba a la fabricación de máquinas capaces de leer tarjetas perforadas.
  • 8.  La primera computadora digital electrónica patentada fue obra de John Vincent Atanasoff (1903-1995). Conocedor de las inventos de Pascal y Babbage, y ayudado por Clifford Berry (1918-1963), construyó el Atanasoff Berry Computer (ABC). El ABC se desarrolló entre 1937 y 1942. Consistía en una calculadora electrónica que utilizaba tubos de vacío y estaba basada en el sistema binario (sistema numérico en el que se combinan los valores verdadero y falso, o 0 y 1).  Entre 1939 y 1944, Howard Aiken (1900-1973) de la universidad de Harvard en colaboración con IBM desarrolló el Mark 1. Era una computadora electromecánica de 16 metros de largo y más de dos de alto. Tenía 700.000 elementos móviles y varios centenares de kilómetros de cables. Podía realizar las cuatro operaciones básicas y trabajar con información almacenada en forma de tablas.  Por desgracia, los avances tecnológicos suelen producirse gracias a los militares que se aprovechan de la ciencia para perfeccionar sus armas. En la Moore School de la Universidad de Pensilvania se estaba trabajando en un proyecto militar para realizar unas tablas de tiro para armas balísticas. Los cálculos eran enormes y se tardaban semanas en realizarlos. Parece ser que John W. Mauchly (1907-1980), quien dirigía el departamento de física del Ursine College de Filadelfia vivió en casa de Atanasoff durante cuatro días a partir del 13 de Junio de 1941, lo que seguramente aprovechó para conocer las ideas de Atanasoff.
  • 9.  Junto a John Presper Eckert (1919-1995), Mauchly desarrolló una computadora electrónica completamente operacional a gran escala, para acelerar los complicados cálculos del proyecto militar de la universidad Moore. Se terminó en 1946 y se llamó Electronic Numerical Integrator And Computer (ENIAC). El ENIAC tenía 18.000 tubos electrónicos integrados en un volumen de 84 metros cúbicos. Pesaba unas 30 toneladas y consumía alrededor de 100.000 vatios. Su capacidad de cálculo era de 5.000 operaciones por segundo, aunque tenía que programarse manualmente conectándola a 3 tableros que contenían más de 6000 interruptores. Cargar un programa podía ser una tarea de varios días. El calor dispado por semejante monstruo debía ser importante, y se necesitaba una instalación de aire acondicionado. En definitiva, un ordenador portátil... más o menos. Puede que no os suene, pero quien conozca de "los entresijos de la informática" seguro que considera importante nombrar a Johann Ludwig Von Neumann (1903-1957), genio de las matemáticas, quien tuvo el honor de asistir a las clases de Albert Einstein en la universidad de Berlín. Autor de trabajos de lógica simbólica, matemática pura y aplicada, física y tecnología, publicó un artículo acerca del almacenamiento de los programas, en 1945. Proponía que los programas se guardaran en memoria al igual que los datos, en forma binaria. Esto tuvo como consecuencia el aumento de velocidad de los cálculos y la ausencia de errores producidos por fallos mecánicos al programar la máquina mediante cables.
  • 10.  En cuanto a la aparición de los lenguajes de programación, el archiconocido COBOL, que tantos problemas causó con el "efecto 2000", fue el primer lenguaje en el que no había que programar directamente en código binario, y fue Grace Murray Hoper en 1952, una oficial de la Marina de Estados Unidos desarrolló el primer compilador, un programa que puede traducir enunciados parecidos al inglés en un código binario comprensible para la maquina llamado COBOL (COmmon Business- Oriented Languaje).  A partir de ahí, los avances han sido vertiginosos.  La utilización del transistor en las computadoras en 1958, sustituyendo los tubos de vacío  La aparición del circuito integrado de mano de Jack Kilby, también en 1958  La miniaturización de un circuito electrónico en un chip de silicio en 1961  El primer microprocesador, el 4004 de Intel, en 1971  Gary Kildall crea el sistema operativo CP/M en 1973  IBM comercializa el primer PC en 1980
  • 11.  Primera Generación  Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de cálculo, uno por uno. John Von Neumann desarrolló el modelo que lleva su nombre, para describir este concepto de "programa almacenado". En este modelo, se tiene una abstracción de la memoria como un conjunto de celdas, que almacenan simplemente números. Estos números pueden representar dos cosas: los datos, sobre los que va a trabajar el programa; o bien, el programa en sí. ¿Cómo es que describimos un programa como números? Se tenía el problema de representar las acciones que iba a realizar la computadora, y que la memoria, al estar compuesta por switches correspondientes al concepto de bit, solamente nos permitía almacenar números binarios. La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar nuestra computadora, asociarle un número, que será su código de operación (opcode) . Por ejemplo, una calculadora programable simple podría asignar los opcodes : 1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
  • 12.  La descripción y uso de los opcodes es lo que llamamos lenguaje de máquina. Es decir, la lista de códigos que la máquina va a interpretar como instrucciones, describe las capacidades de programación que tenemos de ella; es el lenguaje más primitivo, depende directamente del hardware, y requiere del programador que conozca el funcionamiento de la máquina al más bajo nivel. Los lenguajes más primitivos fueron los lenguajes de máquina. Esto, ya que el hardware se desarrolló antes del software, y además cualquier software finalmente tiene que expresarse en el lenguaje que maneja el hardware. La programación en esos momentos era sumamente tediosa, pues el programador tenía que "bajarse" al nivel de la máquina y decirle, paso a pasito, cada punto de la tarea que tenía que realizar. Además, debía expresarlo en forma numérica; y por supuesto, este proceso era propenso a errores, con lo que la productividad del programador era muy limitada. Sin embargo, hay que recordar que en estos momentos, simplemente aún no existía alternativa.
  • 13.  Segunda Generación  El primer gran avance que se dio, como ya se comentó, fue la abstracción dada por el Lenguaje Ensamblador, y con él, el nacimiento de las primeras herramientas automáticas para generar el código máquina. Esto redujo los errores triviales, como podía ser el número que correspondía a una operación, que son sumamente engorrosos y difíciles de detectar, pero fáciles de cometer. Sin embargo, aún aquí es fácil para el programador perderse y cometer errores de lógica, pues debe bajar al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede dentro de él.
  • 14.  Tercera Generación  Con el desarrollo en los 50s y 60s de algoritmos de más elevado nivel, y el aumento de poder del hardware, empezaron a entrar al uso de computadoras científicos de otras ramas; ellos conocían mucho de Física, Química y otras ramas similares, pero no de Computación, y por supuesto, les era sumamente complicado trabajar con lenguaje Ensamblador en vez de fórmulas. Así, nació el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (Formula TRANslation), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: buscar la mayor abstracción posible, y facilitar la vida al programador, aumentando la productividad, encargándose los compiladores o intérpretes de traducir el lenguaje de alto nivel, al lenguaje de computadora. Hay que notar la existencia de lenguajes que combinan características de los de alto nivel y los de bajo nivel (es decir, Ensamblador). Mi ejemplo favorito es C: contiene estructuras de programación de alto nivel, y la facilidad de usar librerías que también son características de alto nivel; sin embargo, fue diseñado con muy pocas instrucciones, las cuales son sumamente sencillas, fáciles de traducir al lenguaje de la máquina; y requiere de un entendimiento apropiado de cómo funciona la máquina, el uso de la memoria, etcétera. Por ello, muchas personas consideramos a lenguajes como C (que fue diseñado para hacer sistemas operativos), lenguajes de nivel medio.
  • 15.  Ejemplo de tercera generación
  • 16.  Cuarta Generación  Los idiomas de la cuarta generación parecen según las instrucciones a las de la tercera generación. Lo nuevo de estas lenguajes son conceptos como clases, objetos y eventos que permiten soluciones más fáciles y lógicos. Lenguajes como C++, java y C# se llaman lenguajes orientadas al objeto. Los idiomas modernos, tal como C++ y Java, no sólo permite las abstracciones, pero permite la implementación impuesta de restricciones en abstracciones. La mayoría de los idiomas modernos son objetivas orientado, que permite que mí modele el mundo verdadero que usa mi idioma. Además, puedo limitar el acceso para modelar las restricciones de mundo verdadero en datos. La llave es que usé el término "mundo verdadero." Por la primera vez, yo modelo mi solución en términos del problema. Quiero que mi solución sea orientado de problema, para que la solución refleje el mundo verdadero en términos de estructuras de datos y acceso a los datos. Yo también puedo aplicar directamente y para poder modelar objetos de mundo verdadero usando las clases (en C + + o Java).
  • 17.  Ejemplo de cuarta generación
  • 18.  Quinta Generación  Como la quinta generación están conocidos los Lenguajes de inteligencia artificial. Han sido muy valorados al principio de las noventa - mientras ahora el desarrollo de software toma otras caminos. Lo que veremos en el futuro es menos dependencia en el idioma, y más en el modelando herramientas, tal como el Unificado Modelando el Idioma (UML). La salida del modelando herramienta producirá mucho de nuestro código para nosotros; en el muy menos, producirá arquitectónico y los modelos del diseño y la estructura de nuestro código. Esto producirá un diseño (y posiblemente código) eso puede ser validado por el cliente antes de completar la implementación y probar. Cuando los problemas diarios que resolvemos llegan a ser más grande, nosotros tenemos cada vez menos tiempo "volver a hacer" el código. Los días de decir, "acabamos de escribir una versión de Beta y el cliente entonces pueden decir nosotros lo que ellos quieren realmente," son pasados. Las organizaciones que fallan de obtener completa y corrige los requisitos de cliente antes de escribir el código saldrá del negocio. ¿Por qué? Porque toma demasiado largo, y cuesta también mucho, para escribir código dos o más vez. Las organizaciones que tienen un compromiso a la comprobación y la validación antes de producir código prosperarán - los otros fallarán.
  • 19.  Ejemplos de quinta generación ejemplo Flowchart ejemplo UML