Historia de la programación

8
Historia de la programación Los lenguajes de programación formales nacieron aproximadamente en los años 50 Charles Babbage ( Teignmouth , Devonshire , Gran Bretaña , 26 de diciembre de 1791 - Londres , 18 de octubre de 1871 ) fue un matemático británico y científico de la computación , conocido como el Padre de las computadoras, diseñó una máquina totalmente mecánica capaz de realizar cualquier tipo de cálculo matemático: la Máquina Analítica. Aunque la máquina analítica no fue construida hasta 150 años después por el Museo de Londres, Ada Lovelace fue la primera persona que se interesó por la inexistente máquina de Babbage y desarrolló un algoritmo capaz de ser utilizado en ella. De allí que Ada Lovelace sea considerada como la primer programadora de computadoras de la historia. En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedicó al proyecto de la máquina analítica, abandonando la máquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético- Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca

Transcript of Historia de la programación

Page 1: Historia de la programación

Historia de la programación

Los lenguajes de programación formales nacieron aproximadamente en los años 50

Charles Babbage (Teignmouth, Devonshire, Gran Bretaña, 26 de diciembre de 1791 - Londres, 18 de octubre de 1871) fue un matemático británico y científico de la computación, conocido como el Padre de las computadoras, diseñó una máquina totalmente mecánica capaz de realizar cualquier tipo de cálculo matemático: la Máquina Analítica. Aunque la máquina analítica no fue construida hasta 150 años después por el Museo de Londres, Ada Lovelace fue la primera persona que se interesó por la inexistente máquina de Babbage y desarrolló un algoritmo capaz de ser utilizado en ella. De allí que Ada Lovelace sea considerada como la primer programadora de computadoras de la historia.

En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedicó al proyecto de la máquina analítica, abandonando la máquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron los primeros computadores.

Cuando surgió el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la máquina, exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la programación de la máquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas.

Programadores de las últimas decadas

Tim Berners-Lee

Creador del protocolo HTTP, que permite el adecuado intercambio de documentos hipervinculados.

El CERN le permitió probar un concepto que habitó en su cabeza por varios años, que resultó en la Web, la red más exitosa entre las hospedadas por Internet. Berners-Lee merece una mención especial al abogar por el espíritu abierto y colaborativo de las

Page 2: Historia de la programación

tecnologías web, que ahora tienen en el inacabado HTML5 uno de sus retos más importantes.

Bram Cohen

Creador del protocolo BitTorrent de intercambio de archivos.

Siendo un joven aficionado a los juegos matemáticos, creó BitTorrent con el lenguaje de programación Python, para intercambiar, de forma colaborativa y óptima, un archivo en Internet. Con esto puso de cabeza a la industria del copyright, se creó una industria alternativa de contenidos, nació The Pirate Bay, incluso los partidos piratas, al tiempo que los paquetes torrent saturaron las venas de Internet. Bram Cohen hizo una empresa con su invento, sin embargo el protocolo nació de código abierto, listo para ser utilizado para cuanta cosa vayamos a compartir por la red.

Bill Joy

Creador de BSD, el sistema operativo sobre el que se construyeron los cimientos de Internet.

La inteligencia y visión de Joy permitieron la creación de la Berkeley Software Distribution, un derivado inmediato, estable y robusto de UNIX sobre el cual se probaron las primeras versiones del Internet que hoy conocemos. No olvidemos que Van Jacobson usó un sistema BSD para crear la versión de TCP que permite que Internet no colapse. Además Joy co-fundó Sun Microsystems, una de las empresas más influyentes para el movimiento open source y cuna de software impresionante como NFS, Solaris y Java. Ni qué decir lo mucho que Mac OS X le debe a BSD.

Alan Kay

Creador de Smalltalk y los conceptos de la programación orientada a objetos.

La sabiduría e inteligencia de Alan Kay es bien reconocida entre sus colegas. A Kay le debemos la computación personal, post-PC como ahora le llaman, basada en dispositivos móviles, tablets, así como la importancia de las interfaces de usuario para crear experiencias, sobre todo educativas.

Donald Knuth

Creador del lenguaje de programación TeX, pero sobre todo compendiador y teórico de los algoritmos que las generaciones siguientes seguimos utilizando para crear software.

Knuth es una leyenda. Algunos le llaman el Yoda de la programación (algún parecido físico tiene). Escribió el mítico The Art of Computer Programming, para lo cual creó el software para maquetarlo, TeX, el lenguaje y máquina para ilustrar los algoritmos. Hoy en día LaTeX, un derivado de TeX, es el lenguaje predilecto para la creación de texto científicos. Asimismo, los trabajos de Knuth ayudaron a crear los compiladores que usamos hoy para crear software.

Bill Gates

Creador de BASIC Altair, padre de Windows, el sistema operativo de escritorio más popular del planeta.

Gates carga una fama variopinta desde 1980 o antes. Con espíritu anti-cultura hacker escribió en 1976 la Open Letter to Hobbyists para recriminar a los programadores que usaron BASIC Altair sin su permiso. Luego sucedió el supuesto robo de un sistema operativo, QDOS, a Gary Kindall que suscitó el nacimiento del imperio Microsoft en las

Page 3: Historia de la programación

computadoras personales. Por cierto, la revista Spectrum de la IEEE publicó un estudio basado en un análisis forense que elimina esos dichos. Lo cierto es que Gates fue un grandísimo nerd, ambicioso en los negocios, cuyo software y cultura marcaron la manera de hacer y usar software en casa y en la oficina.

Dennis Ritchie

Co-creador de Unix y el lenguaje C de programación.

Me pongo de pie para decir, o bien escribir, que Ritchie es el programador-hacker por excelencia, la mente maestra detrás del software más influyente de la historia, verdaderas piedras angulares hechas bytes: el sistema operativo UNIX y el lenguaje C. Un hombre apoyado por otros grandes hackers como Kernighan y Thompson, que murió hace unos meses, dejando un legado de influencia con tantas ramificaciones que merece un libro entero.

Richard Stallman

Creador de Emacs, padre del movimiento por el software libre.

Hombre polémico por donde se le vea. Odiado y amado, Stallman es el filósofo del software como objeto de conocimiento y mecanismo de libertad. Ver, modificar, mejorar y compartir el software son los principios fundamentales para Stallman, en lucha incansable y constantes desde la Fundación por el Software Libre a principios de los años 80. Vamos, que si el software parte de ideas, las ideas son conocimiento y el conocimiento pertenece a todos, entonces el software debe ser libre, sin más. Tal vez en unos años apreciemos en su verdadera medida la calidad y cantidad de aportaciones de Stallman, por ahora puedo decir que si nuestro Internet funciona es gracias, en buena medida, al software creado y difundido a partir de los esfuerzos del gran rms.

Linus Torvalds

Creador de Linux, el sistema operativo libre.

El arrojo que tuvo para crear Linux, con una dictadura estrictamente pragmática para dirigir a centenas de programadores de todo el mundo, desde hace más de 20 años, le hacen digno de gran admiración. Y no sólo creó Linux, también creó Git, el software para gestionar versiones de software que hoy construye comunidades de código abierto como las de Github. Linux está en todos lados, sin triunfar en el escritorio, es cierto, pero detrás de cada servidor web, de cada búsqueda en Google, de cada like y tweet, en la búsqueda del bosón de Higgs, y en la computadora del próximo gran hacker.

Mark Zuckerberg

Creador de Facebook, la red social.

El último de la lista y el que más me cuesta describir. El hombre simplemente escribió en PHP y Apache un software para gestionar la vida social de su campus, luego vio un negocio, lo hizo crecer, se hizo de buenos amigos inversionistas, la red se expandió como una enfermedad viral y hoy tenemos ante nosotros Facebook, la red de redes sociales más influyente de la historia. Algunos piensan que la Facebook sabe demasiado de nosotros porque piensa en lo explícito, edad, fotos, amigos, familia. Pero Facebook puede saber mucho más que eso, algo oculto que emerge de entre todas nuestras conexiones. Y Zuckerberg, hábil programador, parece seguir al frente de todo eso.

Page 4: Historia de la programación

Otros lenguajes de programación

PL/I

Fue creado a comienzos de los años sesenta por IBM para ser usado en sus equipos del sistema 360. Inspirándose en los lenguajes ALGOL, COBOL y FORTRAN se desarrollo el PL/I (Programming Language/I) tomando las mejores características de los anteriores y añadiendo algunas nuevas, con el objetivo de obtener un lenguaje lo mas general posible en cuanto a su implementación, útil para aplicaciones técnico-científicas, comerciales, de proceso de textos, de bases de datos y de programación de sistemas. Se trata de un lenguaje de programación complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar multitareas, y se emplea en entornos académicos y de investigación.

Entre sus novedades esta su gran libertad en el formato de escritura de los programas: soporta la programación estructurada y diseño modular. Es un lenguaje flexible y sofisticado. No obstante, no ha superado a sus progenitores en sus aplicaciones especificas, debido en parte a su amplitud y, por ello, al tamaño de su compilador que hasta ahora solo se podía instalar en grandes equipos. El elemento básico de este programa es el enunciado que termina en punto y coma. Los enunciados se combinan en procedimientos. Un procedimiento puede representar por completo a un programa pequeño o un “bloque de construcción” o modulo de un programa más complejo.

MODULA-2

El lenguaje MODULA fue diseñado en 1977 bajo la dirección de Nicklaus Wirth, creador también el lenguaje PASCAL, con la intención de incluir las necesidades de la programación de sistemas y dar respuestas a las criticas recibidas respecto de las carencias del lenguaje PASCAL. En 1979 se realiza una versión que pasa a denominarse MODULA-2 y que perdura en la actualidad.

Además de incluir las características de su predecesor, este nuevo lenguaje incorpora las principales carencias de aquel, como la posibilidad de compilación separada, creación de librerías, programación concurrente, mejora el manejo de cadenas de caracteres, los procedimientos de entrada/salida y la gestión de la memoria, etc. además, posee grandes facilidades para la programación de sistemas.

También, debido a sus cualidades didácticas, ha sido ampliamente aceptado por la comunidad universitaria como herramienta idónea para la enseñanza de la programación.

LISP

En informática, acrónimo de List Processing. Un lenguaje de programación para ordenadores o computadoras orientado a la generación de listas, desarrollado en 1959-1960 por John McCarthy y usado principalmente para manipular listas de datos o de símbolos. El lenguaje LISP constituyó un cambio radical con respecto a los lenguajes procedurales (FORTRAN, ALGOL) que se desarrollaban por entonces. El LISP es un lenguaje interpretado, en el que cada expresión es una lista de llamadas a funciones. Este lenguaje se sigue utilizando con frecuencia en investigación y en círculos académicos, y fue considerado durante mucho tiempo el lenguaje modelo

Page 5: Historia de la programación

para la investigación de la inteligencia artificial (IA), aunque el Prolog ha ganado terreno durante los últimos años.

LOGO

En informática, lenguaje de programación de ordenadores o computadoras, desarrollado en 1968 por Seymour Papert en el MIT, que se usa frecuentemente en la enseñanza de lenguaje de programación a niños. Una característica importante de Logo son los gráficos de tortuga, que permiten al programador hacer dibujos simples dirigiendo los movimientos de la tortuga en la pantalla hacia adelante, hacia la derecha o la izquierda. Una vez que dominan el entorno sencillo del dibujo, el programador (normalmente un niño o una niña) empieza a descubrir las características más sofisticadas del lenguaje, que están basadas fundamentalmente en el lenguaje de programación LISP. Logo está considerado como un lenguaje para la formación, a pesar de que algunas empresas intentaron que tuviera una mayor aceptación en los círculos profesionales de programación.

ALGOL

El ALGOL (ALGOritmic Language) fue presentado en 1958. Fue el primer lenguaje de programación de proceso estructurado de alto nivel. Fue orientado al uso de quienes participan en proyectos científicos y matemáticos. Un grupo internacional de matemáticos europeos y americanos, pretendían crear un lenguaje común normalizado que les permitiera el intercambio de algoritmos, aunque esta en desuso, fue el primero que incorporo conceptos claves para la programación actual.

APL

Sus siglas significan (A Programming Language). Un Lenguaje de Programación. Este programa fue desarrollado por Kenneth Inverson en el año 1961 para resolver problemas matemáticos. Este lenguaje se caracteriza por su brevedad y por su capacidad de generación de matrices y se utiliza en el desarrollo de modelos matemáticos.

PILOT

Programmend Inquiry Language Or Teaching (Consulta, lenguaje o aprendizaje de investigación programada) creado en 1969.

Este lenguaje de programación es utilizado fundamentalmente para crear aplicaciones destinadas a instrucciones asistidas por computadoras. Se caracteriza por utilizar un mínimo de sintaxis.

DELPHI

Es un entorno de programación visual orientado a objetos para desarrollo rápido de aplicaciones (RAD) de propósito general, incluyendo aplicaciones cliente/servidor.

Delphi es la versión de Delphi para 32 bits (delphi 3), es decir son casi los mismos, con la única diferencia que Delphi 3 es mucho más mejorado, por ejemplo contiene un TeeChart, que sirve para los gráficos de negocio.

Delphi tiene las siguiente características:

Rendimiento - con el mejor y más rápido compilador del mundo.

Page 6: Historia de la programación

Empresa e Internet - soluciones cliente y servicio

Desarrollo de aplicaciones rápidas (RAD).

HTML

El lenguaje HTML, sirve para realizar esas atractivas páginas Web. Se trata de un sistema de marcas que permite enlazar al mismo tiempo texto, sonidos y gráficos dentro del mismo documento, con otros dentro del servidor o incluso con otros servidores WWW. Es decir, es un editor para combinar textos, imágenes e incluso sonido y ahora también imágenes en movimiento. Es, en definitiva, la forma de manejar y presentar la información en la red.

Para escribir documentos de hipertexto se ha desarrollado un nuevo formato de datos o lenguaje llamado Hyper Text Markup Language (HTML). Este lenguaje permite dar indicaciones precisas al programa cliente de cómo debe presentarse el documento en pantalla o al ser impreso.

El lenguaje HTML es el usado actualmente para escribir textos Hypermediales en el web.