Hoy, 12 de octubre se cumple el segundo aniversario de la muerte de Dennis Ritchie, el hombre que nos ha legado la base de todos los sistemas operativos actuales, el lenguaje C y el sistema operativo Unix (que actualmente perdura de una forma u otra a través de BSD, Linux y Mac OSX). No podíamos dejar pasar la ocasión para recordar todo lo que sus avances han hecho por nosotros, ya que sin ellos probablemente no conoceríamos ningún sistema operativo tal como hoy lo conocemos y los lenguajes de programación actuales serían muy distintos (ya que muchísimos se basan o están influenciados por C).
La creación de Unix es un tanto anecdótica, ya que fue fruto de la experiencia trabajando en Bell Labs con Multics y las ganas de crear un sistema más ligero (Unics) donde poder ejecutar de forma mucho más eficiente el juego Space Travel, que desarrolló Ken Thompson, que también colaboró en el desarrollo de Unix. Por esos entonces cada computadora tenía un lenguajes bastante distinto y había que cambiar el código para cada una, pero con este sistema les resultó fácil portarlo a una computadora mayor, en este momento el proyecto recibió un gran apoyo económico y prosperó. En esta etapa fue también en la que desarrolló el lenguaje C, para aprovechar las cualidades de la computadora PDP-11, ya que no era posible con el lenguaje B.
También es conocido por escribir el libro K&R C (aunque el nombre original era El lenguaje de programación C), junto a Brian Kernighan. Ha sido considerado prácticamente la biblia del lenguaje C durante muchos años, hasta que llegó ANSI C.
Fuente: GENBETA:dev
Autor: Pedro Gutiérrez
Licencia Creative Commons
Esta es una lista de programadores que cambiaron la historia de la tecnología, quizá de la humanidad, o por lo menos su área de influencia poderosamente. Baste decir que por programador hablo de aquella persona que además de dominar algoritmos y estructuras de datos para crear una solución computacional, fueron capaces de dominar las herramientas para llevar esa solución a la práctica, lo que resultó, directa o indirectamente, en un hito técnico y social.
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 tecnologías web, que ahora tienen en el inacabado HTML5 uno de sus retos más importantes.
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.
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.
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, tabletas, así como la importancia de las interfaces de usuario para crear experiencias, sobre todo educativas.
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.
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.
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.
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.
Fuente: ALT1040
Bajo licencia Creative Commons
Como se ha difundido por diversos medios de comunicación, uno de los padres fundadores de UNIX y el creador del lenguaje C, Dennis Ritchie, falleció el ocho de octubre. Aunque creo que muchos en la informática y otros campos relacionados sabía de la importancia de Ritchie para el crecimiento y desarrollo de todo lo relacionado con la informática, creo que es valioso mirar hacia atrás en sus logros y ubicarlo en lo alto en el panteón de las ciencias de la computación, ya poblado por Lovelace, Turing, y (aunque este canto será controvertido, al menos hasta que la historia tenga algo que decir) el recién fallecido Steve Jobs.
UNIX fue uno de los primeros sistemas operativos multiusuario, permitiendo a los científicos e investigadores compartir tiempo de computadora en lo que se ha basado tradicionalmente en el proceso por lotes en las máquinas. El concepto de múltiples usuarios y múltiples tareas fueron de gran interés para los investigadores, simplemente por el tiempo necesario para escribir, ejecutar y recibir los resultados de los programas por lotes. El tiempo en la computadora, en modo batch, era caro, como esta anécdota ilustra:
Aunque reflexionando sobre los problemas de los sistemas operativos en 1969, Ken Thompson [el cocreador de Unix] en su tiempo libre desarrolló un juego de computadora llamado «Viaje Espacial». El juego simula el movimiento de los planetas del sistema solar. Un jugador podía viajar entre los planetas, disfrutar del paisaje, e incluso aterrizar la nave en los planetas y las lunas.
El juego, primeramente escrito en Multics y luego transcrito a Fortran para el sistema operativo GECOS, corrió en un equipo GE 635. La pantalla del juego fue desigual y difícil de controlar debido a que el jugador tenía que teclear comandos para controlar la nave. Además, costaba alrededor de 75 $ en tiempo de CPU en el gran GE 635, un costo elevado.
A los 75 dólares el juego, sobre todo en dólares de 1960, era difícil para un hacker tener diversión.Dennis Ritchie y Thompson trabajaron juntos para construir UNIX como el paraíso de un hacker, un lugar para poner a prueba los programas y compartir los resultados. Él era físico y matemático de formación, pero entró en el mundo emergente del mainframe y la microinformática en el momento justo. Los años 1960 y 1970 fueron una época de grandes cambios en la manera de interactuar con la informática. Considerando que el punto de vista común es que «Estas computadoras malditas va a estropear mi cuenta de teléfono», en realidad las computadoras fueron arruinando el status quo. En unos pocos años, los registros en papel se erosionaron lentamente por el cómputo, centrales telefónicas fueron cambiando de naturaleza, hacia un sistema cuasimecánico de routers y terminales. Los laboratorios Bell estaban a la vanguardia de todo esto, la tarea de conectar el mundo a través del cable de cobre. Lo más importante es lo que estaba haciendo era difícil, algo que se ha olvidado en los días de arrastrar y soltar.
La clave para UNIX fue el concepto de compartir. El sistema operativo se inició en 1969 como una reacción de los Laboratorios Bell de cerrar Thompson y el sistema operativo favorito de Ritchie, Multics. Con la colaboración de varias organizaciones incluyendo el MIT, un grupo de cuatro, programadores de New Jersey Bell Labs comenzaron a trabajar en un equipo olvidado de la máquina PDP-7 en el que se portó el juego de los viajes espaciales y comenzaron a construir un sistema de archivos para guardar los juegos. Poco a poco, crearon una estructura de comandos que cualquiera que esté familiarizado con Linux modernos se entiende por acreción en torno a este sistema de archivos. Poco a poco la palabra UNIX corría fuera de la pequeña camarilla de los usuarios originales y en 1971 los Bell Labs comenzaron a utilizalor para dar formato a los documentos con nroff .
También es importante tener en cuenta que Linus Torvalds nació en 1969, haciendo de él un candidato ideal para aprovechar los beneficios de lo que podríamos denominar la era UNIX. La mayoría de edad en el tumulto de una nueva industria es importante y Gates, Torvalds, y Ritchie todos fueron excelentes ejemplos de esto.
Ritchie llegó a crear una serie de otras mejoras y, en el desarrollo del sistema operativo C, le dio al mundo su primer multimáquina, con el estándar de codificación que cualquier persona, desde un veterano canoso de lenguaje máquina a un joven estudiante en Helsinki , podrían usar y comprender. El código fuente de UNIX pasó de programador a programador, como la «Sagrada Escritura», incluso después AT & T se negó a ponerlo a disposición de las instituciones de educación. Fue escrito en C con algunos de sus componentes básicos escritos en lenguaje máquina para ganar tiempo en los ciclos, y lo más importante, para mantener una elegancia que Ritchie y Thompson han inculcado a través de la polinización cruzada de ideas. Ningún hombre, ni siquiera Ritchie, entiende la complejidad de la bestia que se convirtió en UNIX y que fue por el diseño. El objetivo era la simplicidad de frente y complejidad en el interior, un modelo que todo el mundo de la informática harían bien en emular.
También fue importante el deseo de alcanzar un ideal de oro en la claridad y la elegancia. «La presión de grupo y el simple orgullo de la mano de obra ha causado que montones de código sea reformado o desechado frente a ideas surgidas mejores o más básicas», escribió Doug McIlroy, un miembro del equipo de UNIX. «Rivalidad profesional y la protección eran prácticamente desconocidas: tantas cosas buenas estaban ocurriendo que nadie debía tener la propiedad sobre las innovaciones».
La pregunta es, entonces, ¿qué podemos aprender acerca de la construcción de nuestros propios productos de este gigante de la informática? En primer lugar, Ritchie y Thompson querían divertirse. No hubo impulso inicial de hacer dinero y, de hecho, su objetivo era ahorrar dinero o al menos ocultar su juego para que pase a un equipo menos costoso.
El segundo es la necesidad de trabajar fuera de su zona de confort. Ritchie fue un físico y un matemático. Sin embargo, se convirtió en un programador. Si bien es claro que sus antecedentes le ayudóaron enormemente en la creación de UNIX y C, como Bjarne Stroustrup señaló , Ritchie no tuvo miedo de intentar trabajar en un territorio nuevo y desconocido. «Si Dennis había decidido pasar de esa década en las matemáticas esotéricas, Unix habría muerto», escribe.
Tercero, la importancia de un enfoque de no intervención a la innovación. Ritchie tuvo la suerte de que los Laboratorios Bell tenían el dinero y el personal que le permitía esconderse en las sombras con sus amigos, creando lo que querían en su propia línea de tiempo. Google parece haber capturado el mismo sentido de la experimentación interna, obviamente, con sus proyectos del 20%, así como sus productos de los laboratorios que poco a poco se transforman en herramientas convencionales. Que los fundadores de Google permitan a estos proyectos un 20%, casi inmediatamente después de la creación de la empresa es un testimonio de Thompson y la metodología de Ritchie. Las personas tienden a construir herramientas cuando el capataz está observando y obras de arte cuando se le deja a su suerte.
Por último, tenemos la importancia de compartir. Me divierte sin fin ver una pequeña start-up encubrir sus productos detrás de acuerdos de confidencialidad y el secreto o intentar confundir los empresarios contentos. Cuando esto sucede, está claro que su idea no es nueva ni será un éxito particular, ni su actitud es particularmente propicia para el crecimiento. Yo diría que muchos empresarios actuales, tiene un producto de éxito pero no tienen éxito porque hablan mucho y no saben jugar.
Podría decirse que el proyecto de software más importantes en el mundo de hoy, Linux, es importante porque gloriosamente está disponible y abierto. Hay quienes dirá que no es sinónimo de rentabilidad, pero esas personas son en el mejor de los casos pesimistas y en el peor necios.
Al final, Dennis Ritchie nos enseñó que la informática no era una sociedad secreta, que requiere largos años de servicio y encantamientos especiales para unirse. Su generosidad intelectual es importante sobre todo lo que hacemos en línea actualmente.
No deja ser curioso que habiendo fallecido unos días después de Steve Jobs, la crónica, con retraso, quede resumida en: Dennis Ritchie de 70 años, jubilado desde 2007, su último puesto de trabajo fue el de ingeniero jefe del departamento de Investigación en software de sistemas de Alcatel-Lucent, falleció el pasado fin de semana, víctima de una larga enfermedad. Fue premio Turing en 1983 por la teoría de sistemas operativos genéricos y recibió la Medalla Nacional de Tecnología de EEUU en 1998.
Fuente: TC
Gracias a Dennis Ritchie funcionan dispositivos electrónicos como los iPhones (Apple), nuestras conexiones ADSL o instituciones como el CERN. El pasado fin de semana falleció a los 70 años de edad uno de los más influyentes ingenieros informáticos, capaz de sentar las bases de la informática moderna.