Mostrando entradas con la etiqueta Historia de la tecnología. Mostrar todas las entradas
Mostrando entradas con la etiqueta Historia de la tecnología. Mostrar todas las entradas
jueves, 4 de febrero de 2016
Facebook cierra Parse : El backend como servicio
Recientemente se ha anunciado en el blog de Parse que van a dejar de dar servicio, cerrando por completo sus servidores en el plazo de un año. Es una verdadera lástima, pues en mi opinión era un servicio muy útil y bien estructurado... pero lamentablemente parece que no rentable, a pesar de que Facebook la adquiriese hace tres años por 85 millones de dólares.
Al igual que la creación del App Store de Apple supuso un cambio exponencial en la facilidad para distribuir y monetizar aplicaciones, en mi opinión Parse y su modelo de "backend como servicio" supuso un gran avance en la facilidad para crear aplicaciones para dispositivos móviles sin tenerse que preocupar por la capa de servidor (desarrollo, infraestructura, mantenimiento, etc.).
Tengo que reconocer que no hace mucho tiempo que conocía el servicio (sólo desde que empecé mi master en la UOC hace unos meses), sin embargo me había enganchado a él.
Afortunadamente y a pesar de la noticia, estos chicos hacen las cosas bien... hasta irse lo hacen por la puerta grande. Han desarrollado una completa guía de migración, han creado una herramienta de migración de la base de datos a cualquier base de datos MongoDB, y han liberado como Open Source el código de su servidor.
Actualización: Reacciones y alternativas a parse en este enlace
lunes, 4 de mayo de 2015
Presentación del libro "Cómo creamos Internet" de Andreu Veà
Hace unos días estuve en la presentación del libro "Cómo creamos Internet" de Andreu Veà, realizada en el Senado (me pilló cerca del trabajo :-)
La verdad es que quedé gratamente sorprendido, no sólo por la temática del libro sino también por la presentación y la puesta en escena de Andreu Veà que me parecieron impecables (no faltó de nada, incluso hubo un Drone haciendo una foto de grupo).
Andreu lleva 20 años trabajando en el texto, ha realizado más de 300 entrevistas personales a los "creadores de Internet", en su mayoría personajes anónimos responsables de la creación de muchas de las tecnologías en las que hoy en día se apoya la red de redes (el protocolo TCP/IP, el estándar de nombres de dominios DNS, el código CRC, el protocolo HTTP, el eMail, etc.).
Podéis ver las fotos de la presentación en este enlace, o ver más información sobre el libro en este otro. Tenéis también una breve recomendación del libro por parte de mi compañero en las Cortes Generales Pablo García Mexía.
Acabo de comprar el libro pero todavía no lo he leído. Deseando que llegue para devorarlo, como sabéis me encanta la historia de la tecnología!
viernes, 14 de octubre de 2011
Fallece Dennis Ritchie, padre de Unix y el Lenguaje de Programación C
Cuántos informáticos habremos crecido programando en Lenguaje C, teniendo como biblia el famoso "Kernighan & Ritchie". Yo di mis primeros pasitos en C a los 11 años, todavía recuerdo cuando compilé mi primer "Hello World" basándome en un curso de Borland sobre Turbo C.
El fin de semana pasado ha fallecido uno de los geniales inventores del lenguaje C, y creadores entre otras muchas cosas del sistema operativo Unix: Dennis Ritchie.
No fue tan famoso y mediático como Steve Jobs, pero el legado de este desconocido para muchos está a la altura del de los más grandes del mundo de la tecnología.
Descanse en Paz.
Más información aquí, aquí o aquí.
viernes, 19 de agosto de 2011
Vídeo: La historia de Linux
Para conmemorar el 20 aniversario de Linux, la Linux Foundation ha publicado este vídeo en el que se cuenta su historia desde que en Agosto de 1991 Linus Torvalds comenzase el desarrollo del que se ha convertido en uno de los Sistemas Operativos más utilizados hoy en día.
jueves, 3 de marzo de 2011
Vídeo: Actualizando versiones, desde MS-DOS 5.0 hasta Windows 7
Me ha gustado este vídeo, en el que un tipo se ha entretenido en ir instalando los sistemas operativos de Microsoft desde MS-DOS 5.0 hasta el actual Windows 7 (actualizando el sistema anterior cada vez).
Además, el tipo instaló Doom 2 y Monkey Island en el primer sistema operativo... y en Windows 7 siguen funcionando! No está mal, más de 25 años de "backward compatibility". Casi se me saltan las lágrimas al final del vídeo cuando se muestra el Reversi funcionando en Windows 7.
La lista de sistemas Windows que ha ido instalando sobre MS-DOS:
Visto aquí.
Además, el tipo instaló Doom 2 y Monkey Island en el primer sistema operativo... y en Windows 7 siguen funcionando! No está mal, más de 25 años de "backward compatibility". Casi se me saltan las lágrimas al final del vídeo cuando se muestra el Reversi funcionando en Windows 7.
La lista de sistemas Windows que ha ido instalando sobre MS-DOS:
- 1.01 (1985)
- 2.1 (1988)
- 3.0 (1990)
- 3.1 (1992)
- 95
- 98
- 2000
- XP (2001)
- Vista (2007)
- 7 (2009)
Visto aquí.
miércoles, 7 de abril de 2010
Historia de facebook en una imágen
En ALT1040 descubro esta impresionante imagen que da mucha información sobre la historia de facebook y sus cifras.
La entrada original en Website Monitoring.
Pinchar en la imagen para verla completa.
La entrada original en Website Monitoring.
Pinchar en la imagen para verla completa.
lunes, 8 de febrero de 2010
Historia de la informática: Los virus informáticos
Este es el tercero de una serie de artículos sobre la historia de la informática. Puedes acceder a los otros artículos aquí:
Hoy en día, todo usuario de ordenador que se precie cuenta con un programa antivirus capaz de neutralizar los muchos ataques que sufren los ordenadores, sobre todo aquellos que están conectados a Internet. Asumimos que ese programa antivirus hace bien su trabajo y nos aísla y protege de esos ataques. Pero ¿sabemos realmente qué es un virus informático?, ¿qué peligro supone para nuestro ordenador? ¿cuáles son los orígenes de este tipo de programas dañinos?. Son preguntas que voy a intentar responder en este artículo, utilizando un lenguaje que pueda ser entendido por cualquiera sin demasiados conocimientos técnicos.
¿Qué es un virus informático?
Un virus informático es un programa cuyo objeto es alterar el funcionamiento normal del ordenador, y que es capaz de reproducirse a sí mismo (es decir, “infectar” otros ordenadores). Su nombre se debe a su similitud con los virus biológicos que residen en los seres humanos, y que también son capaces de infectar a otras personas.
Los comienzos: Von Newmann y la máquina que se auto-reproduce
El origen de los virus informáticas se remonta a 1949, cuando uno de los padres de la informática, John Von Neumann, publicó el ensayo titulado “Teoría y Organización de Autómatas Complejos” en el que se hablaba de autómatas autorreplicantes. Fue la primera vez que se trató el concepto de programas capaces de copiarse a sí mismos.
Diez años después, tres jóvenes de los laboratorios Bell (Robert Morris Sr., Victor A. Vyssotsky, y Doug McIlroy) crearon el juego “Core War” inspirado en la teoría de Von Neumann. El juego consistía en hacer programas que luchaban entre sí por un espacio de memoria común, intentando aniquilar al contrario sobrescribiéndolo con su propia copia. Para sobrevivir, los programas utilizaban técnicas de ataque y reproducción similares a las que utilizan los virus actuales.
Creeper: El primer virus dañino
A finales de la década de 1960 el astrofísico Gregory Benford ayudó en la creación y documentación del primer virus informático. En mayo de 1970 publicó un artículo en la revista Venture Magazine en el que se hablaba del concepto de virus informático (y de su vacuna – el actual antivirus).
En 1972, Robert Thomas Morris creó el primer virus considerado dañino, que atacaba los sistemas IBM 360. El virus imprimía por pantalla el texto “I’m a creeper… match me if you can!” (soy una enredadera, atrápame si puedes). Para contrarrestar los efectos de este virus llamado “Creeper” se creó el primer antivirus de la historia, el denominado “Reaper” (segador).
Años después, Keneth Thompson (uno de los creadores del sistema operativo UNIX y el lenguaje de programación B – precursor del C) retomó las teorías de los tres programadores de los laboratorios Bell y demostró la forma de desarrollar virus informáticos en una ceremonia pública en la universidad de Berkeley.
En 1984, Fred Cohen durante un discurso de graduación explicó las pautas para la creación de virus informáticos (que pronto describiría con detalle en su libro “Computer viruses – Theory and Experiments”).
Algunos virus famosos
El primer virus que se contagió masivamente fue “Brain”, en 1987. Fue creado por dos hermanos dueños de una tienda de informática en Pakistán, y contagiaba el sector de arranque de los discos de 5 ¼ pulgadas.
En 1988, apareció el famoso virus “Jerusalem” (también conocido como “Viernes 13”). Se trataba del primer virus residente en memoria, y cada viernes 13 activaba sus efectos dañinos y borraba cualquier programa que tratase de ejecutarse.
Todavía recuerdo la primera infección que sufrió mi IBM Personal System / 2 por un virus informático. Con su nueva disquetera de 3 ½ pulgadas y su tarjeta gráfica VGA de 256 colores, no fue capaz de resistirse a la infección del “Viernes 13”. Años más tarde, tampoco consiguió evitar la infección de uno de los virus de origen Español más famosos de la historia, el virus “Barrotes”. Un 5 de enero se activó y destruyó el sector de arranque de mi disco duro (y el de muchos de mis amigos con los que intercambiaba juegos), recuerdo que lo que más lamenté fue la pérdida del juego de moda del momento, Goody.
El virus “Melissa” hizo su aparición en marzo de 1999 y fue uno de los primeros virus que utilizó técnicas de ingeniería social, ya que se enviaba como un correo electrónico con el asunto: "Aquí está el documento que me pediste, no se lo enseñes a nadie".
En mayo de 2000 el virus “I love you” se convirtió en el de mayor velocidad de propagación de la historia. ¿Quién no recibió el mítico correo electrónico con ese mensaje en su asunto? Si lo abrías, el virus utilizaba la libreta de direcciones de Outlook para reenviarse a todos tus contactos. En pocas horas el virus se propagó por todo el planeta, inflingiendo pérdidas de muchos millones de dólares en grandes multinacionales.
Más actual es el virus “Conficker”. Descubierto por primera vez en noviembre de 2008, en marzo de 2009 ya había contagiado el 6% de todos los ordenadores del mundo. Pronto se difundió la noticia en todos los medios de que Microsoft ofrecía una recompensa de 250.000 dólares a quien entregara información que llevase al arresto de los creadores del virus.
Los programas antivirus
Paralelamente a la creación de los virus se han desarrollado programas capaces de neutralizar sus efectos. Los primeros programas antivirus comerciales emergieron en 1988, y ya en 1990 existían más de 15 productos a tal efecto.
Recuerdo llevar siempre en mi “kit de informático” una versión del mítico ViruScan de McAfee, siempre listo para cuando algún conocido llamaba diciendo que su ordenador “funcionaba raro”. Tampoco faltaba en el kit el “Doctor Solomon’s”, otro de los primeros antivirus del mercado.
En 1990 surgió el “Norton Antivirus” de la mano de Symantec. El capitán Peter Norton fue uno de mis aliados en la lucha contra los virus informáticos, varias veces utilicé su editor hexadecimal para intentar reconstruir manualmente la tabla de particiones o el sector de arranque destruido por algún virus.
También en 1990 surgió el antivirus “Panda” de la mano de Panda Sofware, que actualmente es la primera empresa de desarrollo de software Española (junto con Meta4, fueron las dos únicas españolas en el ranking Truffle 100 Europe 2008).
Los virus en la actualidad
Con la evolución de la tecnología y los sistemas operativos, surjen nuevos virus que tratan de explotar las nuevas vulnerabilidades introducidas. Recientes correos masivos sobre el supuesto suicidio de Bin Laden o el desnudo de la tenista Anna Kournikova aprovecharon agujeros de seguridad para infectar miles de ordenadores.
Los teléfonos móviles tampoco se han librado del ataque de estos programas malintencionados, que cada vez cuentan con más potencia de proceso. En noviembre de 2009 Ashley Towns, un joven de 21 años, ya había creado el primer virus para el iPhone y extendido este virus por multitud de móviles en Australia (un virus que mostraba una foto de Rick Ashley en la pantalla del iPhone).
Los virus también han llegado al mundo de las redes sociales. En diciembre de 2008 el virus “Koobface” se extendió por la red social Facebook. Una vez infectado un usuario, el virus publica comentarios en sus contactos, del estilo “Sales increible en este vídeo”. Al pulsar sobre el enlace al que hace referencia el comentario, se abre una página que indica que para poder ver el vídeo necesitas una actualizacion del software “Flash Player”. Si pulsas sobre “actualizar”, tu ordenador queda infectado con el virus y te conviertes en una víctima más.
Algunas Referencias
Cronología de los Virus Informáticos
How computer viruses work
Virus informático
Gregory Benford
Fred Cohen: “Computer viruses – Theory and Experiments”
El español 'Barrotes', entre los diez virus más peligrosos de los últimos años
Computer virus timeline
The history of computer viruses
Historia de Panda Software
The Facebook Virus Spreads: No Social Network is Safe
Social Networks - Computer Virus Playground
El creador del primer virus de iPhone, contratado para desarrollar 'software'
- Historia de los lenguajes de programación
- Historia de los sistemas operativos
- Historia de los virus informáticos
Hoy en día, todo usuario de ordenador que se precie cuenta con un programa antivirus capaz de neutralizar los muchos ataques que sufren los ordenadores, sobre todo aquellos que están conectados a Internet. Asumimos que ese programa antivirus hace bien su trabajo y nos aísla y protege de esos ataques. Pero ¿sabemos realmente qué es un virus informático?, ¿qué peligro supone para nuestro ordenador? ¿cuáles son los orígenes de este tipo de programas dañinos?. Son preguntas que voy a intentar responder en este artículo, utilizando un lenguaje que pueda ser entendido por cualquiera sin demasiados conocimientos técnicos.
Un virus informático es un programa cuyo objeto es alterar el funcionamiento normal del ordenador, y que es capaz de reproducirse a sí mismo (es decir, “infectar” otros ordenadores). Su nombre se debe a su similitud con los virus biológicos que residen en los seres humanos, y que también son capaces de infectar a otras personas.
Los comienzos: Von Newmann y la máquina que se auto-reproduce
El origen de los virus informáticas se remonta a 1949, cuando uno de los padres de la informática, John Von Neumann, publicó el ensayo titulado “Teoría y Organización de Autómatas Complejos” en el que se hablaba de autómatas autorreplicantes. Fue la primera vez que se trató el concepto de programas capaces de copiarse a sí mismos.
Diez años después, tres jóvenes de los laboratorios Bell (Robert Morris Sr., Victor A. Vyssotsky, y Doug McIlroy) crearon el juego “Core War” inspirado en la teoría de Von Neumann. El juego consistía en hacer programas que luchaban entre sí por un espacio de memoria común, intentando aniquilar al contrario sobrescribiéndolo con su propia copia. Para sobrevivir, los programas utilizaban técnicas de ataque y reproducción similares a las que utilizan los virus actuales.
Creeper: El primer virus dañino
A finales de la década de 1960 el astrofísico Gregory Benford ayudó en la creación y documentación del primer virus informático. En mayo de 1970 publicó un artículo en la revista Venture Magazine en el que se hablaba del concepto de virus informático (y de su vacuna – el actual antivirus).
En 1972, Robert Thomas Morris creó el primer virus considerado dañino, que atacaba los sistemas IBM 360. El virus imprimía por pantalla el texto “I’m a creeper… match me if you can!” (soy una enredadera, atrápame si puedes). Para contrarrestar los efectos de este virus llamado “Creeper” se creó el primer antivirus de la historia, el denominado “Reaper” (segador).
Años después, Keneth Thompson (uno de los creadores del sistema operativo UNIX y el lenguaje de programación B – precursor del C) retomó las teorías de los tres programadores de los laboratorios Bell y demostró la forma de desarrollar virus informáticos en una ceremonia pública en la universidad de Berkeley.
En 1984, Fred Cohen durante un discurso de graduación explicó las pautas para la creación de virus informáticos (que pronto describiría con detalle en su libro “Computer viruses – Theory and Experiments”).
Algunos virus famosos
El primer virus que se contagió masivamente fue “Brain”, en 1987. Fue creado por dos hermanos dueños de una tienda de informática en Pakistán, y contagiaba el sector de arranque de los discos de 5 ¼ pulgadas.
En 1988, apareció el famoso virus “Jerusalem” (también conocido como “Viernes 13”). Se trataba del primer virus residente en memoria, y cada viernes 13 activaba sus efectos dañinos y borraba cualquier programa que tratase de ejecutarse.
Todavía recuerdo la primera infección que sufrió mi IBM Personal System / 2 por un virus informático. Con su nueva disquetera de 3 ½ pulgadas y su tarjeta gráfica VGA de 256 colores, no fue capaz de resistirse a la infección del “Viernes 13”. Años más tarde, tampoco consiguió evitar la infección de uno de los virus de origen Español más famosos de la historia, el virus “Barrotes”. Un 5 de enero se activó y destruyó el sector de arranque de mi disco duro (y el de muchos de mis amigos con los que intercambiaba juegos), recuerdo que lo que más lamenté fue la pérdida del juego de moda del momento, Goody.
El virus Barrotes en acción
El virus “Melissa” hizo su aparición en marzo de 1999 y fue uno de los primeros virus que utilizó técnicas de ingeniería social, ya que se enviaba como un correo electrónico con el asunto: "Aquí está el documento que me pediste, no se lo enseñes a nadie".
En mayo de 2000 el virus “I love you” se convirtió en el de mayor velocidad de propagación de la historia. ¿Quién no recibió el mítico correo electrónico con ese mensaje en su asunto? Si lo abrías, el virus utilizaba la libreta de direcciones de Outlook para reenviarse a todos tus contactos. En pocas horas el virus se propagó por todo el planeta, inflingiendo pérdidas de muchos millones de dólares en grandes multinacionales.
Más actual es el virus “Conficker”. Descubierto por primera vez en noviembre de 2008, en marzo de 2009 ya había contagiado el 6% de todos los ordenadores del mundo. Pronto se difundió la noticia en todos los medios de que Microsoft ofrecía una recompensa de 250.000 dólares a quien entregara información que llevase al arresto de los creadores del virus.
Los programas antivirus
Fuente: http://www.freedigitalphotos.net
Paralelamente a la creación de los virus se han desarrollado programas capaces de neutralizar sus efectos. Los primeros programas antivirus comerciales emergieron en 1988, y ya en 1990 existían más de 15 productos a tal efecto.
Recuerdo llevar siempre en mi “kit de informático” una versión del mítico ViruScan de McAfee, siempre listo para cuando algún conocido llamaba diciendo que su ordenador “funcionaba raro”. Tampoco faltaba en el kit el “Doctor Solomon’s”, otro de los primeros antivirus del mercado.
En 1990 surgió el “Norton Antivirus” de la mano de Symantec. El capitán Peter Norton fue uno de mis aliados en la lucha contra los virus informáticos, varias veces utilicé su editor hexadecimal para intentar reconstruir manualmente la tabla de particiones o el sector de arranque destruido por algún virus.
También en 1990 surgió el antivirus “Panda” de la mano de Panda Sofware, que actualmente es la primera empresa de desarrollo de software Española (junto con Meta4, fueron las dos únicas españolas en el ranking Truffle 100 Europe 2008).
Los virus en la actualidad
Con la evolución de la tecnología y los sistemas operativos, surjen nuevos virus que tratan de explotar las nuevas vulnerabilidades introducidas. Recientes correos masivos sobre el supuesto suicidio de Bin Laden o el desnudo de la tenista Anna Kournikova aprovecharon agujeros de seguridad para infectar miles de ordenadores.
Los teléfonos móviles tampoco se han librado del ataque de estos programas malintencionados, que cada vez cuentan con más potencia de proceso. En noviembre de 2009 Ashley Towns, un joven de 21 años, ya había creado el primer virus para el iPhone y extendido este virus por multitud de móviles en Australia (un virus que mostraba una foto de Rick Ashley en la pantalla del iPhone).
Los virus también han llegado al mundo de las redes sociales. En diciembre de 2008 el virus “Koobface” se extendió por la red social Facebook. Una vez infectado un usuario, el virus publica comentarios en sus contactos, del estilo “Sales increible en este vídeo”. Al pulsar sobre el enlace al que hace referencia el comentario, se abre una página que indica que para poder ver el vídeo necesitas una actualizacion del software “Flash Player”. Si pulsas sobre “actualizar”, tu ordenador queda infectado con el virus y te conviertes en una víctima más.
Algunas Referencias
Cronología de los Virus Informáticos
How computer viruses work
Virus informático
Gregory Benford
Fred Cohen: “Computer viruses – Theory and Experiments”
El español 'Barrotes', entre los diez virus más peligrosos de los últimos años
Computer virus timeline
The history of computer viruses
Historia de Panda Software
The Facebook Virus Spreads: No Social Network is Safe
Social Networks - Computer Virus Playground
El creador del primer virus de iPhone, contratado para desarrollar 'software'
sábado, 26 de diciembre de 2009
Planos originales de la torre Eiffel escaneados
En el sitio oficial de la Torre Eiffel, podemos encontar escaneados los planos originales de ésta, realizados por Mr. Eiffel en el año 1900.
miércoles, 25 de noviembre de 2009
Los 10 mayores logros en la historia de la programación de ordenadores
Reflexionando sobre los 10 mayores fracasos en la historia de la informática y los 10 momentos más influyentes de la década en internet, me he decidido a publicar mi propio listado sobre los que para mi son los diez mayores logros o inventos en la historia de la programación de ordenadores. Incluyo entre ellos los avances que a mi entender han revolucionado de una u otra manera el mundo del desarrollo de software.
- La creación del lenguaje de programación C: Supuso un antes y un después en la historia de la programación. En mi opinión, el lenguaje C ha sido el lenguaje de más repercusión en la historia de los ordenadores, y su sintaxis ha servido como punto de partida para muchos de los lenguajes de programación actuales como Java, C++ o C#. Hoy en día sigue siendo muy utilizado en multitud de aplicaciones, incluido el sistema operativo Linux, cuyo núcleo está escrito en su mayor parte en lenguaje C.
- La creación del paradigma de programación orientada a objetos, con sus primeros representantes puros como smalltalk.
- La invención de los repositorios de código compartido (como cvs , subversion, o los más modernos distribuidos como Git), que permiten colaborar a multitud de programadores sobre el mismo código.
- El movimiento
Open SourceSoftware Libre con Richard Stallman a la cabeza (incluidas la cantidad de aplicaciones de código abierto que existen actualmente). - La creación de los lenguajes realmente independientes de la plataforma, como el lenguaje Java.
- El compilador gcc, migrado a infinidad de plataformas, incluido Linux ya que se utiliza para compilar su kernel.
- El entorno de desarrollo Visual Studio, espina dorsal del desarrollo sobre plataformas Windows.
- La creación del entorno de desarrollo Eclipse, y su liberación por parte de IBM al mundo del código abierto.
- La refactorización de código, y el impulso dado por Martin Fowler a su evolución.
- La invención de las pruebas unitarias de código, y herramientas para automatizarlas como jUnit.
¿Piensas que alguno de estos logros no se merece estar en esta lista?
¿Incluirías tú algún otro?
Los 10 mayores fracasos en la historia de las tecnologías de la información
A través del boletín Enter del instituto de empresa llego a este artículo sobre los 10 mayores fracasos en la historia de las tecnologías de la información.
El autor destaca los siguientes grandes fracasos:
Personalmente no habría incluido al MP3 ni a WordPerfect, y en cambio habría metido algunos otros:
El autor destaca los siguientes grandes fracasos:
- Windows Vista
- NeXT
- BeOS
- Cobalt Qube
- El efecto 2000
- El MP3 (los problemas de licencias que ha dado)
- Richard Stallman
- WordPerfect
Personalmente no habría incluido al MP3 ni a WordPerfect, y en cambio habría metido algunos otros:
- La realidad virtual y el bombo que se le dio en los 90
- Las herramientas visuales de desarrollo que iban a permitir programar sin escribir ni una línea de código
- El intento de hacer el lenguaje C multiplataforma sin necesidad de modificar el código
- Windows ME (Millenium Edition)
- Las grandes metodologías de desarrollo que acaban haciéndolas insufribles
- Las normas ISO9000 para el desarrollo de software, como la panacea para garantizar la calidad del sw.
¿Estás tú de acuerdo con los que propone el autor o cambiarías alguno?
lunes, 26 de octubre de 2009
Historia de la informática: Los Sistemas Operativos
Este es el segundo de una serie de artículos sobre la historia de la informática que estoy escribiendo como colaborador para la revista de la Agencia de Informática de la Comunidad de Madrid (ICM).
La serie está compuesta en principio por los artículos:
La serie está compuesta en principio por los artículos:
- Historia de los lenguajes de programación
- Historia de los sistemas operativos
- Historia de los virus informáticos
HISTORIA DE LA INFORMÁTICA: LOS SISTEMAS OPERATIVOS
¿Qué es un sistema operativo?
Imagina que eres un programador de ordenadores, y quieres realizar un programa muy simple que muestre “Hola” por la pantalla del ordenador. Imagina entonces que para hacerlo tuvieses que conocer todos los modelos de monitor que existen en el mercado, y escribir tu programa teniendo en cuenta los detalles de cada uno de ellos (las pantallas que tienen más o menos resolución, los colores, etc.). Tendrías entonces que escribir punto a punto (píxel a píxel) las letras que componen la palabra “Hola” en la pantalla. A simple vista parece bastante ineficiente el que cada programa tenga que encargarse de los detalles de cómo utilizar un determinado dispositivo (el monitor, una impresora, el disco duro, etc.). Para aislar a los programas que se ejecutan en un ordenador de todos esos detalles, existe un programa encargado de gestionar los recursos de la máquina, se trata del sistema operativo. Gestionando los recursos ofrece un entorno en el que los programas puedan ejecutarse, y permite ponerlos de acuerdo en el uso de estos recursos: ¿qué pasa si varios programas quieren imprimir por una impresora a la vez? ¿quién decide el que lo hace primero y obliga a los demás a esperar su turno? Este papel de mediador también es desempeñado por el sistema operativo.
Desde la invención de los primeros ordenadores - en los que los programas tenían que lidiar directamente con el hardware - hasta la actualidad, los sistemas operativos han evolucionado hasta proporcionar mucho más que la mera gestión de los recursos de la máquina. La historia de los sistemas operativos está muy ligada a la evolución del hardware, ya que la inclusión de nuevas tecnologías en la fabricación del hardware y el consiguiente el incremento en la capacidad de cómputo han generado la necesidad de un software más potente que sea capaz de controlar las máquinas y administrar de manera óptima las capacidades que ofrecen.
No pretendo que este artículo sea una guía de referencia sobre sistemas operativos (hay muchos de ellos que no menciono), sino una lectura amena para cualquiera sin necesidad de conocimientos técnicos.
Los comienzos: la década de 1940
En 1946 se presentó en público el ENIAC, la primera computadora de propósito general utilizada por el ejército de los Estados Unidos, que utilizaba la tecnología de válvulas electrónicas o tubos de vacío. En esta época los ordenadores no disponían de sistema operativo. Todas las instrucciones de los programas eran codificados a mano a través de interruptores, y más tarde utilizando tarjetas perforadas de forma totalmente manual.
Tarjeta perforada para FORTRAN
Fuente: Wikimedia, noviembre 2006
Los sistemas de trabajo por lotes
Hasta la década de 1950 era una persona (el operador) el que se encargaba de cambiar físicamente entre los trabajos que ejecutaba el ordenador. Se perdía un tiempo considerable entre trabajo y trabajo debido a que esta labor se hacía manualmente, así que se pensó en realizar la labor del cambio de tareas de manera automática. Fue entonces cuando surgieron los primeros sistemas operativos (llamados así porque sustituyeron en parte el trabajo del operador) con la intención de acelerar y automatizar la transición entre trabajos. Se agrupaban los trabajos en grupos llamados lotes, de manera que cuando una tarea terminaba, el sistema operativo se encargaba de leer e iniciar el siguiente trabajo dentro del lote. La introducción de los primeros sistemas operativos, y el uso de transistores que sustituyeron a los tubos de vacío hizo que la velocidad de proceso de las máquinas aumentase considerablemente.
El primer sistema operativo de la historia es el GM-NAA I/O (Sistema de Entrada/Salida de General Motors y North American Aviation), que fue diseñado en 1956 para ejecutarse en un ordenador IBM 704. Entre los primeros sistemas operativos cabe también destacar el Fortran Monitor Sistem (FMS) y el IBSYS.
Ordenador IBM 704 ejecutando GM-NAA I/O
Fuente: Computer History Museum, septiembre 2005
Los sistemas multitarea
A comienzos de la década de 1960 surgen los sistemas de tiempo compartido, en los que varios programas se encuentran en memoria, y parece que se estén ejecutando de manera simultánea, ya que el ordenador va alternando entre ellos rápidamente asignando pequeñas franjas de tiempo de ejecución a cada uno. De esta época cabe destacar sistemas operativos como CTSS (Sistema de Tiempo Compartido Compatible) y su sucesor MULTICS, precursor de los actuales sistemas UNIX.
En 1964 IBM lanzó la familia de ordenadores Sistemas/360, que utilizaban circuitos integrados como tecnología principal, y el OS/360 como sistema operativo. El sistema fué evolucionando para poder servir a múltiples usuarios simultáneamente, soportando entornos de proceso por lotes multiusuario con tiempo compartido y multiprocesamiento, y que dio muchos quebraderos de cabeza a sus creadores y usuarios debido a su complejidad y enorme tamaño.
Los sistemas para ordenadores personales
La tecnología de los circuitos integrados a gran escala (LSI) que permitía incluir miles de transistores por centímetro cuadrado, hizo que a principios de la década de 1980 comenzasen a proliferar los primeros ordenadores personales y sistemas operativos para ellos. Entre los muchos sistemas de esta época destacan el CP/M, el MS/DOS (precursor de los actuales sistemas de Microsoft), el OS/2 (inicialmente una iniciativa conjunta de Microsoft e IBM) y el Sistema 1 (precursor de Mac OS).
Los sistemas UNIX, y Linux
El desarrollo del sistema operativo MULTICS fue un enorme proyecto que acabó discontinuándose. Sin embargo una de las personas que había intervenido en su desarrollo, Ken Thompson, junto con Dennis Ritchie (uno de los creadores del lenguaje de programación C), decidieron desarrollar por su cuenta un sistema operativo que cumpliese con las premisas originales del proyecto Multics, pero que corriese en un ordenador más pequeño. El proyecto nació con el nombre de UNICS, y posteriormente se renombró a UNIX. Muchas son las versiones de UNIX que han evolucionado hasta la actualidad, entre ellas se encuentra LINUX, desarrollado inicialmente por Linus Torvalds y liberado como código abierto por primera vez en 1991. Actualmente existen multitud de distribuciones (versiones independientes) de Linux, que se ha convertido en uno de los sistemas operativos más utilizados en la actualidad debido a su robustez. Red Hat es una de las distribuciones más utilizadas en entornos de servidor, mientras que en los entornos de escritorio se abren paso otras como Ubuntu, cuyo eslogan es “Linux para seres humanos”.
Genealogía de Unix
Fuente: Wikipedia, 2007
Mac OS
Mac OS es el sistema operativo de Apple para sus ordenadores Macintosh. Sus primeras versiones (como el Sistema 1, liberado en 1984) fueron las precursoras de los actuales interfaces gráficos, ya contaban con ventanas y menús manejados a través del ratón.
Al sistema 1 le sucedieron nuevas versiones, hasta que en el 2001 se lanzó Mac OS X, la primera versión del sistema operativo basada en un núcleo de UNIX.
MS-DOS y la familia Windows
Tim Paterson escribió en tan sólo seis semanas y basándose en un manual de CP/M un sistema operativo que denominó QDOS (Quick and Dirty Operating System). En 1981 Bill Gates a la cabeza de Microsoft compra QDOS a su autor por tan sólo 50.000$, introduce algunas pequeñas modificaciones, y libera su primera versión del sistema operativo MS-DOS para los ordenadores de la familia x86 de IBM.
MS-DOS estaba basado en un interfaz de línea de comandos, no disponía de interfaz gráfico. Para paliar esta deficiencia, en 1983 Bill Gates decide crear una interfaz gráfica para la ejecución de programas bajo MS-DOS. Fue el nacimiento de Windows 1.0. A esta primera versión le sucedieron otras muchas, hasta que en 1995 se lanzó Windows 95, que era un sistema operativo en sí mismo, no un entorno de ventanas que se ejecutase bajo MS-DOS. En 1998 se liberó Windows 98 como evolución de la versión 95.
Microsoft tenía una rama de desarrollo paralela a Windows 95, que pretendía ser más robusta que éste. En 1997 se lanzó así Windows NT como primer sistema operativo de esta nueva línea de desarrollo, con Windows 2000 como siguiente versión. En el año 2001 se lanzó definitivamente Windows XP, que fue la primera versión que unió definitivamente las dos líneas de desarrollo en un único producto. La siguiente gran versión del sistema operativo, Windows Vista, fue liberada a finales del 2006, y ha sido muy criticada por su inestabilidad.
Cronología de Windows
Fuente: Wikipedia, 2009
Los sistemas operativos más utilizados
Muchos son los sistemas operativos utilizados actualmente a nivel mundial, pero en los entornos de escritorio el más utilizado es Windows XP con casi el 70% del mercado. El siguiente en cuanto a uso es Windows Vista, con más del 22% del total, seguido por Mac OS con un 4,59%, y Linux en sus distintas distribuciones con un 0,95% del mercado.
En el gráfico siguiente se muestran los datos del uso de los sistemas operativos de escritorio en Septiembre de 2009, tomando una media de las estadísticas de varios sitios dedicados a su contabilización:
Distribución de los sistemas operativos en ordenadores de escritorio
Fuente: Wikipedia, septiembre 2009
El Futuro
Los sistemas operativos, al igual que la tecnología en general, evolucionan rápidamente. Los avances en el campo de la virtualización han hecho que múltiples sistemas operativos se ejecuten simultáneamente en la misma máquina bajo entornos independientes. También están surgiendo plataformas que cubren el papel del sistema operativo para la “computación en la nube”, como Microsoft Azure.
El pasado 22 de Octubre, Microsoft lanzó a bombo y platillo su nuevo sistema operativo Windows 7, que pretende convertirse en el nuevo estándar para sistemas de escritorio, paliando las deficiencias que tan mala fama han dado a su predecesor, Windows Vista. Microsoft seleccionó la pequeña localidad de Sietes en Asturias (de apenas 40 habitantes) para rodar el spot promocional de Windows 7, con la intención de destacar la facilidad de uso de la que el producto hace gala. En paralelo a la línea de desarrollo de Windows, Microsoft sigue realizando investigaciones en el campo de los sistemas operativos, con productos como Singularity, Midori o Barrelfish.
Por su parte el gigante de la tecnología Google, anunció el pasado 7 de Julio un proyecto que está llevando a cabo para desarrollar un sistema operativo basado en web, denominado Google Chrome OS. El sistema operativo utilizará internamente un núcleo de Linux y un sistema de ventanas propio. Google ha declarado que pretende liberar el código del sistema operativo a finales de 2009.
Algunas Referencias
martes, 22 de septiembre de 2009
Historia de la informática: Los Lenguajes de Programación
Comienzo con este una serie de artículos sobre la historia de la informática que estoy escribiendo como colaborador para la revista de la Agencia de Informática de la Comunidad de Madrid (ICM).
A lo largo de estos meses quiero escribir sobre los siguientes aspectos de la historia de la informática:
- Historia de los lenguajes de programación
- Historia de los sistemas operativos
- Historia de los virus informáticos
Están dirigidos al público general, no es necesario tener conocimientos de informática para leerlos, ya que no pretenden ser artículos rigurosos que traten de dar toda la información posible (con fechas exáctas, etc.), la intención es tratar de introducir de manera amena algunos conceptos y eventos clave sobre la historia de la informática.
Y sin más dilación, vamos con el primero de los artículos de la serie.
HISTORIA DE LA INFORMÁTICA: LOS LENGUAJES DE PROGRAMACIÓN
¿Qué es un lenguaje de programación?
Al igual que las personas nos comunicamos entre nosotras utilizando un lenguaje (por ejemplo Español o Inglés), un lenguaje de programación permite a las personas comunicarse con los ordenadores para indicarles lo que tienen que hacer. Una persona que quiere que el ordenador realice una determinada tarea escribe un programa en un lenguaje de programación determinado, y el ordenador (utilizando ciertos traductores llamados compiladores e intérpretes) es capaz de realizar dicha tarea.
Desde la invención de las primeras máquinas de calcular hasta la actualidad, la evolución de los ordenadores ha ido acompañada del desarrollo de nuevos lenguajes de programación que permitan aprovechar la potencia de éstos de manera eficiente.
En este artículo pretendo dar una pequeña idea sobre la evolución de los lenguajes de programación, desde los primeros como FORTRAN o COBOL, hasta los más difundidos en la actualidad como C, Java o C#. No pretendo mencionar todos los lenguajes de programación - actualmente existen más de 2.500 - sino centrarme en los que considero que han sido más relevantes e influyentes en el mundo del desarrollo de software.
Los primeros lenguajes
En la década de los 40 empezaron a surgir los primeros lenguajes de programación de ordenadores. Estos primeros lenguajes (llamados lenguajes Ensamblador) estaban basados en símbolos o nemónicos que se correspondían directamente con instrucciones de código máquina (el código que es capaz de interpretar un ordenador sin necesidad de un intérprete o traductor).
En 1957 aparece el lenguaje Fortran (siglas de FORmula TRANslator), el primer lenguaje de alto nivel ampliamente difundido y utilizado a nivel mundial. El primer compilador de Fortran fue desarrollado por un equipo de IBM liderado por John W. Backus. Inicialmente Fortran fue muy utilizado en el mundo científico y en alplicaciones militares, y se escribieron multitud de librerías matemáticas para cálculo numérico, algunas de las cuales siguen utilizándose hoy en día.
Ya en 1960 aparece LISP, un lenguaje idóneo para crear programas de inteligencia artificial porque utilizaba conceptos de programación funcional y recursividad. Aunque no es muy utilizado para el desarrollo de aplicaciones empresariales, LISP sigue siendo utilizado hoy en día en entornos docentes (yo mismo lo utilizo en una asignatura en la que se enseñan diversos paradigmas de programación).
También en 1960 aparece COBOL, un lenguaje preparado para procesar grandes cantidades de información. Esto hizo que fuese ampliamente adoptado en bancos y grandes organizaciones que siguen utilizándolo hoy en día.
En 1964 se crea el lenguaje BASIC (Beginner's All-purpose Symbolic Instruction Code), especialmente diseñado para enseñar a programar a principiantes. BASIC es el lenguaje que muchos (entre los que me incluyo) utilizamos para hacer nuestros primeros pinitos en el mundo de la programación, cuando desterramos nuestros viejos ordenadores Comodore-64 sustituyéndolos por el recién aparecido Amstrad CPC 464 y su flamante unidad de cinta (que después de leer un par de veces cada cinta era incapaz de volver a hacerlo… qué tiempos aquellos!). Ya en las primeras versiones de MS-DOS (el primer sistema operativo de Microsoft) se incluía un intérprete de BASIC.
Los lenguajes C y Pascal
El lenguaje Pascal aparece por primera vez en 1971, diseñado por el profesor Niklaus Wirth con el objetivo de facilitar el aprendizaje de la programación a sus alumnos. Pascal fue muy utilizado en la década de los 80 y los 90, y es el precursor de lenguajes como Delphi.
En 1972, Kenneth L. Thompson y Dennis M. Ritchie crean el lenguaje C en los laboratorios Bell. Se llama lenguaje C porque proviene de uno anterior llamado lenguaje B, que a su vez provenía del lenguaje BCPL. En mi opinión, el lenguaje C ha sido el lenguaje de más
repercusión en la historia de los ordenadores, y su sintaxis ha servido como punto de partida para muchos de los lenguajes de programación actuales como Java, C++ o C#. Hoy en día sigue siendo muy utilizado en multitud de aplicaciones, incluido el sistema operativo Linux, cuyo núcleo está escrito en su mayor parte en lenguaje C.
Los lenguajes Orientados a Objetos
A finales de la década de los 80 se popularizó un nuevo paradigma de programación denominado Programación Orientada a Objetos. Se trataba de una nueva forma de programar que hacía más fácil escribir y mantener código, porque se asemejaba más con la forma de pensar del cerebro humano. Pronto los lenguajes evolucionaron a sus respectivas versiones orientadas a
objetos. Así nació en 1986 el lenguaje C++ de manos de Bjarne Stroustrup, que partía del lenguaje C y le añadía la posibilidad de trabajar con objetos. Nace también en 1986 el lenguaje Delphi (en sus principios denominado Object Pascal), como una evolución de Pascal para incluirle características de orientación a objetos.
El lenguaje Java
He dedicado un apartado de este artículo al lenguaje de programación Java por la importancia que tiene actualmente en el mundo del desarrollo de software en general.
Java es un lenguaje orientado a objetos diseñado en 1990 por James Gosling y Patrick Naughton, de la empresa Sun Microsystems. El origen del nombre “Java” es bastante curioso, se rumorea que sus creadores discutían sobre cómo llamar al lenguaje mientras tomaban café, y al final les
gustó el nombre de la marca del café que tomaban, el café “Java”. Su desarrollo se realizó siempre con un concepto en mente: “Write Once, Run Anywhere”. Esto significa que Java se diseñó pensando en que un programa escrito en este lenguaje pudiese ser ejecutado en cualquier máquina, no sólo ordenadores, sino también cualquier dispositivo electrónico como calculadoras, dispositivos móviles, portátiles, etc. Esta idea de un len
guaje universal ya había sido abordada por el lenguaje C y su estandarización ANSI, pero la realidad es que no se consiguió hasta la llegada de Java.
En la actualidad el uso de Java ha sido muy impulsado por la amplia influencia de Internet, debido a la universalidad de Java por la capacidad de sus programas para ser ejecutados en cualquier tipo de máquina.

Evolución de los Lenguajes de Programación.
Fuente: Wikipedia
Los lenguajes más utilizados actualmente
En la actualidad varios son los lenguajes de programación más utilizados. A pesar de su antigüedad, el lenguaje C sigue siendo muy utilizado, sobre todo en aplicaciones relacionadas muy directamente con el hardware (software industrial, etc.). El propio sistema operativo Linux está escrito en su mayor parte en lenguaje C. El lenguaje C++ también sigue siendo muy utilizado, sobre todo en aplicaciones de escritorio orientadas al sistema operativo Windows.
El lenguaje COBOL también se utiliza mucho, sobre todo en entidades bancarias y grandes empresas con sistemas mainframes para las que la fiabilidad del sistema es un factor clave, y los costes y riesgos de migración a otros lenguajes son hoy por hoy inasumibles. Al contrario de las creencias populares que afirman que se trata de un lenguaje obsoleto y no utilizado, algunos lo plantean como una buena alternativa para aquellos que buscan empleo.
Para consultas a bases de datos relacionales, el lenguaje SQL es el estándar indiscutible. Toda base de datos relacional que se precie debe permitir realizar consultas en este lenguaje.
Para el desarrollo de aplicaciones orientadas a Internet, el lenguaje Java y los lenguajes de la plataforma .Net de Microsoft (incluidos Visual Basic.Net y C#) se reparten la mayoría del mercado.
Existen otros lenguajes que cada vez cobran más importancia, tales como Ruby, Perl, Phyton o PHP. Asimismo, el lenguaje Javascript (no confundir con Java) también está jugando un papel importante en el desarrollo de aplicaciones, impulsado por la amplia difusión de Internet y tecnologías emergentes como Ajax para la creación de interfaces ricas de usuario (RIA: Rich Application Interface).
Según www.langpop.com, sitio especializado en la medida de la popularidad y el uso de los lenguajes de programación, el siguiente gráfico muestra los lenguajes más populares en la actualidad:

Distribución de lenguajes de programación según su popularidad
Fuente: http://langpop.com/
El Futuro
Es indiscutible que la universalización del acceso a la información que ha permitido Internet está cambiando la mayoría de las cosas, incluida la forma en la que los seres humanos interaccionamos entre nosotros y con nuestro medio. Los lenguajes de programación de ordenadores no son una excepción, y se verán directamente influidos por la evolución de la Web, y de las grandes empresas que están consolidándose como los líderes en el mercado de la tecnología de la información. Tecnologías emergentes como el cloud computing, los entornos virtuales, los lenguajes visuales que permiten programar sin escribir ni una línea de código, o las tendencias en la mejora de la experiencia de usuario en aplicaciones web con tecnologías como Ajax, afectarán también de manera importante a la forma en la que los seres humanos trasmitimos a los ordenadores lo que queremos que hagan.
El 20 de Abril de 2009 se anunció la compra de Sun Microsystems por parte de Oracle. Muchos afirman que esta compra transformará la industria de las Tecnologías de la Información, por lo que es probable que el futuro de los lenguajes de programación (incluido por supuesto Java, propiedad de Sun Microsystems) se vea también, de algún modo, afectado por este evento.
Referencias
Suscribirse a:
Entradas (Atom)











.png)

