Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas

lunes, 17 de diciembre de 2012

17 diciembre 1920 - Nace Kenneth Iverson

Tal día como hoy en 1920, nace Kenneth Iverson matemático canadiense creador del Lenguaje de programación (APL).


Kenneth Iverson (Nació el 17 de diciembre de 1920 en Alberta y falleció el 19 de octubre de 2004 en Toronto)

Creció en una granja de Alberta (Canadá) y como muchos niños de granja él tuvo que dejar los estudios para trabajar. Participó en las Fuerzas Aéreas Reales canadienses durante la Segunda Guerra Mundial, luego de ello ingresó a la Universidad. Fue Profesor adjunto de Matemáticas Aplicadas 1955-1960 en Harvard.

Como matemático desarrolló una nueva notación para operaciones sobre series numéricas y la IBM creó a un intérprete para ejecutar expresiones en la notación de Iverson. Esta empresa lo contrató y en 1962 publicó una descripción de su notación en un Lenguaje de programación (APL). Esta lengua desafía la sintaxis convencional algebraica, pero es compacta, simple y fácil para aprender. En 1970 escribió libros sobre lenguajes de programación y matemáticas. Se jubiló en IBM con todos los honores y se retiró a Toronto (Canadá).

sábado, 8 de diciembre de 2012

8 diciembre 1864 - Fallece George Boole

Tal día como hoy en 1864, muere George Boole, inventor del álgebra que lleva su apellido. Base de la operatividad de todo equipo informático actual. Y que de momento seguirá así hasta que se desarrollen los ordenadores cuánticos.

George Boole (2 de noviembre de 1815 - 8 de diciembre de 1864)

Boole es considerado como uno de los fundadores del campo de las Ciencias de la Computación. En 1854 publicó "An Investigation of the Laws of Thought" en el que desarrollaba un sistema de reglas que le permitían expresar, manipular y simplificar problemas lógicos y filosóficos cuyos argumentos admiten dos estados (verdadero o falso) por procedimientos matemáticos. Se podría decir que es el padre de las operaciones lógicas y gracias a su álgebra hoy en día es posible manipular operaciones lógicas.



Él no consideraba la lógica como una rama de las matemáticas, pero señaló una profunda analogía entre los símbolos del álgebra y las que se puede hacer, en su opinión, para representar formas lógicas y silogismos, que no podemos dejar de decir que (sobre todo la suya) la lógica formal es la matemática limitada a los, 0 y 1. Por la unidad Boole denotó el universo de objetos imaginables; literal símbolos, tales como x , y , z , v , u , etc, se utiliza con el significado electivos correspondientes a adjetivos y sustantivos comunes. Por lo tanto, si x = cuernos e y = oveja, entonces los sucesivos actos de elección representada por x e y , si se realiza en la unidad, que confiere al conjunto de la clase de ovejas con cuernos. Boole mostró que los símbolos elección de este tipo obedecen las mismas leyes primarias de la combinación de símbolos algebraicos, de donde se deducía que podían sumar, restar, multiplicar y hasta dividir, casi exactamente de la misma manera como los números. Por lo tanto, (1 - x ) representaría la operación de selección de todas las cosas en el mundo, excepto las cosas con cuernos, es decir, no todos los cuernos de las cosas, y (1 - x ) (1 - y ) nos daría todas las cosas ni cuernos ni ovejas . Mediante el uso de símbolos tales proposiciones se podría reducir a la forma de ecuaciones, y la conclusión silogística a partir de dos premisas se obtiene eliminando el término medio de acuerdo a las reglas ordinarias algebraicas.
Aún más original y notable, sin embargo, fue que parte de su sistema, totalmente afirmó en su leyes del pensamiento, formó un método simbólico general de la lógica de la inferencia. Dado que ninguna de las proposiciones que impliquen en cualquier número de términos, Boole mostró cómo, por el tratamiento puramente simbólica de los locales, para sacar cualquier conclusión lógica contenida en dichos locales. La segunda parte de la leyes del pensamiento contiene su correspondiente intento de descubrir un método general de las probabilidades, que nos debe permitir a partir de las probabilidades de cualquier sistema dado de eventos para determinar la probabilidad como consecuencia de cualquier otro evento lógicamente relacionada con los acontecimientos dados.
En 1921 el economista John Maynard Keynes publicó un libro que se ha convertido en un clásico en la teoría de la probabilidad, "Tratado de la probabilidad." Keynes comentó sobre la teoría de Boole de probabilidad.Keynes creía que Boole había cometido un error fundamental que adolece la mayor parte de su análisis. En un libro reciente, "The Last resolverlo", David Miller proporciona un método general de acuerdo con el sistema de Boole, y los intentos de resolver los problemas reconocidos antes por Keynes y otros.
Boole propuso que las proposiciones lógicas se deben expresar en forma de ecuaciones algebraicas. La manipulación algebraica de los símbolos en las ecuaciones proporciona un método a prueba de fallas de la deducción lógica, la lógica es decir, se reduce al álgebra. Boole sustituye la operación de la multiplicación por la palabra "y" y además por la palabra «o». Los símbolos en las ecuaciones pueden presentarse a las colecciones de objetos (conjuntos) o declaraciones en la lógica. Por ejemplo, si x es el conjunto de todas las vacas y marrón y es el conjunto de todas las vacas gordas, entonces x + y es el conjunto de todas las vacas que son de color marrón y son gordas, y xy es el conjunto de todas las vacas que son de color marrón y gordas. Sea z = el conjunto de todas las vacas de Irlanda. Entonces z (x + y) = zx + zy, es decir 'el conjunto de las vacas irlandesas que están o marrón y gordas es la misma que la recogida de las vacas que son irlandeses y marrón o irlandeses y gordas.

jueves, 29 de noviembre de 2012

29 noviembre 2010 - Muere el informático Maurice Wilkes


Tal día como hoy en 2010, muere el informático británico Maurice Wilkes, diseñador del primer ordenador con un programa almacenado en memoria el EDSAC.
Maurice Vincent Wilkes (Dudley, Worcestershire, 26 de junio de 1913 – Cambridge, 29 de noviembre de 2010) fue un investigador de las ciencias de la computación inglés, reconocido por varios de sus importantes desarrollos en el campo de la informática.
Wilkes estudió en el St. John's College (Cambridge) de 1931 a 1934, siguiendo en 1936 con un doctorado en física acerca de la propagación de radiaciones de onda larga en la ionosfera. Se encontraba en un puesto junior en la Universidad de Cambridge, que le permitió participar en la creación de un laboratorio de informática.
Wilkes fue reclutado para hacer el servicio militar durante la Segunda Guerra Mundial, y trabajó en el tema del radar y de la investigación operativa.
En 1945, fue nombrado vicedirector del laboratorio de matemáticas de la Universidad de Cambridge, más adelante llamado Laboratorio Informático.
Al principio, el laboratorio de Cambridge tenía varios dispositivos de cómputo, entre los que se encontraban un analizador diferencial de Vannevar Bush.
Un día, Wilkes encontró una copia de un documento de John Von Neumann, aún no publicado, que describía el EDVAC, un sucesor del ENIAC. ElENIAC se estaba construyendo por Presper Eckert y John Mauchly en la escuela Moore de Ingeniería Eléctrica, y Von Neumann estaba tomando notas sobre sus observaciones. Wilkes leyó el documento por la noche (porque tenía que devolverlo y no existían máquinas de fotocopias), y pronto se dio cuenta de que ése era el camino por el que la informática debía ir. Por ello, lo publicó (respetando el nombre del autor original) y así hizo famosa la Arquitectura de von Neumann.
Como el laboratorio de Wilkes tenía su propia financiación, pudo comenzar inmediatamente su trabajo en una pequeña máquina práctica, la EDSAC. Decidió que su meta no había de ser inventar un ordenador mejor, sino conseguir que la universidad tuviera uno disponible; por eso, su enfoque fue totalmente práctico: usó sólo los métodos conocidos y que funcionaban para construir cada pieza de la máquina. El ordenador resultante era más lento y pequeño que los otros ordenadores planeados en esa época, pero consiguió ser el primer ejemplo de ordenador que tenía un programa almacenado en memoria. Funcionó bien desde mayo de 1949.
En 1951, desarrolló el concepto de la microprogramación cuando se dio cuenta de que la unidad central de proceso de un ordenador podía estar controlada por un pequeño programa altamente especializado y escrito en memoria ROM, que es muy rápida. Este concepto simplificó enormemente el desarrollo de los procesadores.
La microprogramación fue presentada en 1951 en la conferencia inaugural de la Universidad de Mánchester, y después se publicó un artículo expandido en IEEE Spectrum, en 1955. El concepto se implementó de forma práctica en el EDSAC 2, que también usaba múltiples "tiras de bits" idénticas para simplificar el diseño. Se usaban montajes de tubos intercambiables para cada bit del procesador, cosa que fue muy avanzada para la época.
El siguiente ordenador para su laboratorio fue el Titan, un proyecto conjunto con Ferranti Ltd. Llegó a ser el primer sistema del Reino Unido de tiempo compartido, y se usaba para dar acceso a otros recursos de la universidades, como sistemas gráficos de tiempo compartido para el diseño asistido por ordenador de piezas mecánicas.
Una característica importante del sistema operativo de Titan era que proporcionaba acceso a los dispositivos dependiendo de la identidad del programa, además de la identidad del usuario. Además, permitía el sistema de cifrado de contraseñas que se usaría más tarde en Unix. Su sistema de programación también tenía un sistema de control de versiones.
Wilkes también fue reconocido por otras ideas, como la de las etiquetas simbólicas en el código, las macros, y las bibliotecas de funciones. Son desarrollos fundamentales de la programación, que la han hecho más fácil que en épocas anteriores, y que han permitido la creación de lenguajes de programación de alto nivel.
Más tarde, Wilkes trabajó en uno de los primeros sistemas de tiempo compartido (ahora conocidos como sistemas operativos multiusuario) y en computación distribuida.
En 1956 fue elegido como miembro de la Royal Society.
Wilkes recibió el Premio Turing en 1967, con el siguiente comentario:
«El profesor Wilkes es conocido principalmente como el constructor y diseñador del EDSAC, el primer ordenador con un programa almacenado internamente. Construido en 1949, el EDSAC usaba una memoria de línea de retardo de mercurio. También es conocido como el autor, junto con Wheeler y Gill, de un volumen sobre "Preparación de Programas para las Computadoras Electrónicas Digitales" en 1951, en el que presenta las bibliotecas de programas de forma efectiva».
Hacia el final de los 1960s, Wilkes también se interesó en la computación segura (basada en "capacidades"), y el laboratorio montó un computador experimental, el Cambridge CAP.
En 1974, encontró una red (en Hasler AG) que usaba una topología en anillo para reservar tiempo en la red. El laboratorio usaba al principio un prototipo para compartir periféricos. Llegaron a un acuerdo comercial, y se creó una tecnología similar que pasó a estar ampliamente disponible en el Reino Unido.
En 1980 se retiró de su cargo de profesor en el laboratorio y entró al equipo de ingeniería de Digital Equipment Corporation en Maynard, Massachusetts.
En 1986 Wilkes volvió a Inglaterra, y se convirtió en miembro del equipo de investigación de Olivetti. La Universidad de Cambridge le presentó en 1993 un título honorífico de Doctor en Ciencia (D.Sc). Fue coronado en la New Year Honours List de 2000. En 2002, volvió al Laboratorio de Informática de la Universidad de Cambridge como profesor emérito.
Se le atribuye a Maurice V. Wilkes la cita: «Puedo recordar el instante exacto en el que me di cuenta de que una gran parte de mi vida a partir de entonces la iba a gastar corrigiendo errores en mis propios programas».

martes, 9 de octubre de 2012

Efeméride 9 octubre 2011 - Muere Dennis Ritchie

Tal día como hoy del año pasado, nos dejó Dennis Ritchie, creador del lenguaje C y sistema UNIX.

Nació en Bronxville (Nueva York) el 9 de septiembre de 1941. Obtuvo dos grados en Harvard, en física y matemática aplicada.
Ken Thompson y Dennis Ritchie, creadores de C
Ritchie es conocido sobre todo por ser el creador del lenguaje de programación C y cocreador, junto con Ken Thompson, del sistema operativo Unix. También fue coautor junto con Brian Kernighan del manual El lenguaje de programación C, que durante años fue el estándar de facto del lenguaje (conocido como K&R C), hasta la aparición del ANSI C.
Estos aportes convirtieron a Ritchie en un importante pionero de la informática moderna. El lenguaje C aún se usa ampliamente hoy día en el desarrollo de aplicaciones y sistemas operativos, y ha sido una gran influencia en otros lenguajes más modernos como el lenguaje de programación Java. Unix también ha sentado las bases de los sistemas operativos modernos, estableciendo conceptos y principios que hoy son ampliamente adoptados.
Recibió el Premio Turing de 1983 por su desarrollo de la teoría de sistemas operativos genéricos y su implementación en la forma del sistema Unix. En 1998 le fue concedida la Medalla Nacional de Tecnología de los Estados Unidos de América. El año 2007 se jubiló, siendo el jefe del departamento de Investigación en software de sistemas de Alcatel-Lucent.

viernes, 28 de septiembre de 2012

Efeméride 28 septiembre 1925 - Nace Seymour Cray


Tal día como hoy en 1925, nace Seymour Cray, creador y empresario de supercomputadoras.
Seymour Cray (28 de septiembre de 1925 – 5 de octubre de 1996) nació en Chippewa Falls, una pequeña población del estado norteamericano de Wisconsin, y se graduó en ingeniería eléctrica y en matemáticas en la Universidad de Minnesota. Durante los años 50 trabajó en ERA -Engineering Research Associates- y en las compañías que la sucedieron, Remington Rand y Sperry Rand, donde fue uno de los principales responsables del diseño del ordenador UNIVAC 1103. En 1957, junto con otros ingenieros -entre ellos William Norris- fundó una nueva compañía denominada Control Data Corporation, en abreviatura CDC, para la cual construyó el CDC 1604, que fue uno de los primeros ordenadores comerciales que utilizaron transistores en lugar de tubos de vacío.
En 1962, Seymour Cray persuadió a William Norris para que CDC creara un laboratorio para investigar cómo diseñar el ordenador más potente de la época, triunfo que consiguió con su equipo de 30 colaboradores en el año 1963, con el CDC 6600, que batió ampliamente en capacidad de cálculo y en coste al ordenador más potente de que disponía IBM en aquella época.
A finales de la década, Control Data, después de haber sacado al mercado el modelo CDC 7600 -para muchos la primera supercomputadora en sentido estricto- comenzó a perder interés en la supercomputación y Cray pensó en establecerse por su cuenta. En el año 1972 fundó Cray Research, con el compromiso de dedicarse a construir exclusivamente supercomputadores y además de uno en uno, por encargo. El primer producto salido de la factoría -CRAY-1, en 1976- tuvo como destino el Laboratorio Nacional Los Álamos, y era único en su diseño ya que incorporaba el primer ejemplo práctico en funcionamiento de procesador vectorial, junto con el procesador escalar más rápido del momento, con una capacidad de 1 millón de palabras de 64 bits y un ciclo de 12,5 nanosegundos. Su coste se situaba en torno a los 10 millones de dólares.
En el plazo de tres años, la compañía había vendido seis ordenadores CRAY-1, pero su fundador no se encontraba satisfecho técnicamente, pues pensaba que el diseño de ese sistema no era suficientemente revolucionario, y se embarcó en el diseño de una nueva máquina, el CRAY-2, entre 6 y 12 veces más rápido que su predecesor. Disponible en 1985, disponía de 256 millones de palabras y 240.000 chips. Su empaquetamiento era tan ajustado que el calor generado por la electrónica podía fundir el ordenador, por lo cual su interior se encontraba inundado con líquido refrigerante, y ello provocó el simpático comentario de que el CRAY-2 era en realidad un computador dentro de un acuario.
La compañía iba de viento en popa, y a mediados de los 80 controlaba el 70% del mercado de la supercomputación. Sin embargo su fundador se encontraba incómodo, pues la problemática empresarial le resultaba escasamente interesante y difícil de soportar. Por ello cedió la presidencia, y dejó la responsabilidad del desarrollo tecnológico de la línea CRAY-2 a un ingeniero lleno de talento, Steve Chen, que concibió y construyó los primeros multiprocesadores de la firma, conocidos como serie X-MP. A su vez Seymour Cray, inició en 1985 el diseño de una nueva serie, CRAY-3, cuyo procesador no se construiría sobre chips de silicio sino de GaAs. Su entrega, inicialmente prevista para el año 1988 sufrió sucesivos retrasos debido a los problemas que causaba la nueva tecnología GaAs, y el proyecto finalmente se canceló.
El inventor se desvinculó entonces de la firma que había fundado años atrás e inició a finales de esa década un nuevo proyecto, pero las condiciones del mercado hacían ya entonces insostenible el esfuerzo inversor necesario para fabricar una supercomputadora que justificase su viabilidad comercial en términos coste/potencia, fundamentalmente debido a los progresos experimentados en las arquitecturas convencionales RISC y CISC. Para sacar al mercado sus nuevas generaciones de ordenadores Cray, invirtió grandes sumas de dinero, lo que le llevó en 1995 a la bancarrota. Su empresa, Cray Research, fue adquirida ese mismo año por Silicon Graphics. En ese último empeño le sobrevino el fin de su vida, a consecuencia de un accidente automovilístico. A los 71 años de edad y todavía activo en los negocios, la investigación y la ingeniería.
En el año 1986, en la cúspide de la gloria de la supercomputación, existían en todo el mundo unos 130 sistemas de este tipo, de los cuales más de 90 llevaban la marca Cray.

jueves, 20 de septiembre de 2012

Efeméride 20 septiembre 1954 - primera ejecución de lenguaje FORTRAN

Tal día como hoy en 1954, por primera vez se ejecuta código en lenguaje FORTRAN.

A finales de 1953, John W. Backus sometió una propuesta a sus superiores en IBM para desarrollar una alternativa más práctica al lenguaje ensamblador para programar el computador central IBM 704.

Un mainframe IBM 704
Contracción del inglés Formula Translating System es un lenguaje de programación alto nivel de propósito general, procedimental imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica.

En los inicios se programaba con tarjetas perforadas.


Algunas versiones:



  • FORTRAN IV
  • FORTRAN 77
  • FORTRAN 90
  • FORTRAN 95
  • FORTRAN 2003
  • FORTRAN 2008
  • FORTRAN 2010


lunes, 17 de septiembre de 2012

Efeméride 17 septiembre 1991 - primera versión de Linux

Tal día como hoy en 1991, se publica en Internet la primera versión de Linux, la 0.01, tenía 10.239 líneas de código. 

En abril de 1991, Linus Torvalds, estudiante de ingeniería del software de 21 años, empezó a trabajar en unas simples ideas para un núcleo de sistema operativo. Comenzó con un intento por obtener un núcleo de sistema operativo gratuito similar a Unix que funcionara con microprocesadores Intel 80386.

El 25 de agosto de 1991, Torvalds escribió en el grupo de noticias comp.os.minix
"Estoy haciendo un sistema operativo (gratuito, sólo un hobby, no será nada grande ni profesional como GNU) para clones AT 386(486). Llevo en ello desde abril y está empezando a estar listo. Me gustaría saber su opinión sobre las cosas que les gustan o disgustan en minix, ya que mi SO tiene algún parecido con él.[...] Actualmente he portado bash(1.08) y gcc(1.40), y parece que las cosas funcionan. Esto implica que tendré algo práctico dentro de unos meses..."

A partir de ahí, muchas personas empiezan a ayudar en el desarrollo del código.

Solo el 2% del código del Linux actual está escrito por Torvalds, pero, además de su paternidad, en su persona sigue descansando la dirección de la gestión del núcleo del sistema operativo.

Hasta mayo de 1996 no adoptaría al pinguino Tux como logo y mascota 
Al día de este artículo, la última versión estable de Linux es la 3.5.4 con más de 13 millones de lineas de código y portable para la mayor parte de las arquitecturas de hardware. Y como en sus inicios, sigue siendo gratuito.