La historia del Software: Denis Ritchie

Dennis MacAlistair Ritchie, o dmr, nació en Bronxville (Nueva York) el 9 de septiembre de 1941. Su padre, Alistair E. Ritchie, trabajaba como investigador en los Laboratorios Bell así que, desde pequeño, Dennis Ritchie creció en un ambiente técnico. Estudió en la Universidad de Hardvard y se diplomó en Ciencias Físicas y Matemática Aplicada y, en 1967, entró a formar parte del Centro de Investigación de Ciencias de la Computación de los Laboratorios Bell, obteniendo en 1968 el título de Doctor por la Universidad de Hardvard.

En los Laboratorios Bell formó parte de un proyecto de bastante envergadura, el Multics (Multiplexed Information and Computing Services), en cooperación con el MIT, General Electric y los Laboratorios Bell donde Ritchie trabajó con alguien muy especial, Ken Thompson. Multics era un proyecto demasiado ambicioso para Bell y requería de un hardware demasiado potente (un mainframe GE-645), así que tanto Ritchie como Thompson volvieron a Bell en 1969.

De vuelta a su centro de trabajo, Thompson siguió trabajando en desarrollos relacionados con la computadora GE-6354 del Multics y programó un juego de nombre Space Travel, sin embargo, dado que la computadora era muy cara, cada partida tenía un coste prorrateado de 75 dólares, algo que desestimaba cualquier explotación comercial. Thompson y Ritchie reescribieron el programa en ensamblador para poder ejecutarla en un PDP-7 y, tras su codificación, ambos se plantearon trabajar en un nuevo sistema operativo para el PDP-7.

Thompson y Ritchie lideraron un grupo de programadores de los Laboratorios Bell para desarrollar tanto el sistema de ficheros como el sistema operativo en sí (al que agregaron un intérprete de comandos y un pequeño grupo de programas). El proyecto, que no contó con respaldo ni financiación por parte de Bell, fue bautizado como UNICS (Uniplexed Information and Computing System) pero como el nombre daba pie a bromas relacionadas con MULTICS (porque consideraban UNICS un MULTICS “capado”), cambiaron el nombre a UNIX. Cuando el equipo decidió utilizar UNIX como sistema operativo de una PDP-11/20, y los responsables de Bell vieron el éxito del proyecto, los Laboratorios Bell apostaron por el proyecto y lo dotaron de financiación. Así nació, en 1970, el sistema operativo UNIX que incluía un editor de texto y un programa para dar formato a textos, de nombre runoff. El 3 de noviembre de 1971 Thomson y Ritchie publicaron un manual de programación de UNIX, UNIX Programmer’s Manual.

Justo después de Unix, Dennis Ritchie abordaría otro de los proyectos que han marcado el mundo de la ingeniería y la computación: el lenguaje C. Este lenguaje de programación, que sigue siendo estudiado en muchas Universidades y titulaciones de índole técnico, fue un proyecto que tuvo como origen otro lenguaje de programación, B, desarrollado por Ken Thompson en 1970. Tras finalizar el proyecto de UNIX, Ritchie vio, que al estar escrito en ensamblador, este sistema operativo no era portable y, por tanto, no se podía llevar a una computadora distinta del PDP-11. Por tanto, se hacía necesario un lenguaje de programación que permitiese al programador abstraerse del hardware y ofrecerle una mayor portabilidad del código.

electronics_1982_10_001

El lenguaje C aportó a B tipos y estructuras de datos que consiguiesen clarificar la programación y obtener un lenguaje mucho más eficiente. Ritchie diseñó, desde 1970 a 1972 junto a Brian Kernighan, un lenguaje que permitía realizar una programación estructurada en la que se podían economizar las expresiones a usar y con el que los desarrolladores podrían contar con un buen conjunto de operadores y tipos de datos para programar tanto en alto como en bajo nivel de manera simultánea.

En 1972, el equipo de Bell decidió reescribir UNIX de nuevo pero, esta vez, en lenguaje C. Gracias a esta decisión, UNIX podría adaptarse fácilmente para funcionar en otras computadoras y abría la puerta a que otros desarrolladores pudiesen introducir cambios y aportaciones al código. En 1973, C era tan potente que la mayor parte del núcleo de Unix estaba ya escrito en este lenguaje. Gracias a C, la velocidad de desarrollo aumentó y dado que Bell no se dedicaba a la venta de computadoras, comenzó a distribuir versiones de Unix y del compilador de C a las universidades. Así, fue como, en los años 70, comenzó a surgir el movimiento a favor de los sistemas abiertos.

Por todas estas contribuciones, Dennis Ritchie fue galardonado con múltiples premios y menciones por su trabajo:

  • En 1979, Dennis Ritchie y Ken Thompson recibieron el Premio NEC C&C por su contribución en el campo de los sistema operativos genéricos y el desarrollo del sistema operativo UNIX
  • En 1983, Dennis Ritchie y Ken Thompson recibieron en conjunto el Premio Turing por su desarrollo de la teoría genérica de sistemas operativos y específicamente por la implementación del sistema operativo UNIX
  • En 1988, Dennis Ritchie fue elegido miembro de la National Academy of Engineering por la implementación de UNIX y el desarrollo del lenguaje C.
  • El 21 de abril de 1999, de manos del Presidente Bill Clinton, Thompson y Ritchie recibieron la Medalla Nacional de Tecnología por el desarrollo de UNIX, el lenguaje C y por su impacto en el desarrollo de una industria que realzó el liderazgo de Estados Unidos en la era de la información
  • En este año 2011, Dennis Ritchie y Ken Thompson fueron galardonados con el Premio Japón en el ámbito de la Información y las Comunicaciones por su trabajo pionero en el desarrollo de UNIX.

Dennis Ritchie se jubiló de los Laboratorios Bell (que ahora forman parte de Alcatel-Lucent) en el año 2007 como jefe del departamento de Investigación en software de sistemas de Alcatel-Lucent, dejando tras de sí una intensa carrera en la que contribuyó enormemente a crear el ecosistema tecnológico que disfrutamos a día de hoy.

Plan9-1995

El sábado 8 de octubre, tras sufrir una larga enfermedad y rodeado de los suyos, Dennis Ritchie moría en su casa, sin embargo, la noticia no trascendió hasta ayer jueves cuando su amigo y antiguo compañero, Robert Pike, anunció su muerte a través de su perfil en Google+:

Acabo de enterarme, después de una larga enfermedad, Dennis Ritchie (dmr) ha muerto en su casa este fin de semana. No tengo más información.

Confío en que hay gente aquí que apreciarán el alcance de sus contribuciones y llorarán su muerte apropiadamente.

Era un hombre tranquilo y celoso de su intimidad, pero también era mi amigo, colega y colaborador, y el mundo ha perdido una mente verdaderamente grande

El primer lenguaje de programación que aprendí fue el Lenguaje C y, la primera clase de esa asignatura, nos hablaron de Dennis Ritchie y la historia de C y UNIX.

El mundo ha perdido una mente brillante que nos deja un gran legado. Descansa en paz dmr.

Fuente | bitelia.com

Anuncios

Diseño Ágil con TDD (Desarrollo guiado por pruebas).

disenoAgilConTDD

Fuentes | wiki |.net TDD | TDD | Foro

El compilador GCC soportará el lenguaje Go de Google.

Con este brevísimo mensaje se anunció que el “Steering Committee” del GCC (GNU Compiler Collection) aceptó el frontend gccgo para su inclusión en su versión 4.5 o posterior, el que agregará soporte para el lenguaje de programacón Go de Google en la imprescindible colección de compiladores del proyecto GNU.

Esta noticia llega sólo días después de que en el último el índice de TIOBE, empresa que publica mensualmente un ránking de la popularidad de los lenguajes a nivel mundial, Go apareciera por primera vez en el puesto número 13 convirtiéndose en el escalador más rápido de todos y ubicándose sólo detrás de Objective-C (el del iPhone y Mac OS X) a pesar de haber sido lanzado oficialmente hace menos de 3 meses.

Además de C y C++, GCC incluye actualmente frontends para lenguajes como Ada, Fortran, Java, Objective-C y Objective-C++; otros frontends disponibles pero que todavía no son parte oficial de GCC incluyen a Cobol, D, Pascal y Modula-2/3, entre otros.

  • Artículo completo en LWN.

Aprende a programar en 10 años.

Algunos investigadores (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) han mostrado que toma aproximadamente diez años desarrollar habilidades en cualquiera de una amplia variedad de áreas, incluyendo jugar al ajedrez, componer música, pintar, tocar el piano, operar un telégrafo, nadar, jugar al tenis, u investigar en neurosicología y topología.

La clave es la práctica deliberada: no solo hacerlo una y otra vez, sino desafiarte con una tarea que es un poco más dificil que tu habilidad actual, intentando, analizando tu performance mientras lo hacés y corrigiendo cualquier error. Luego repetir. Y volver a repetir. Parece no haber atajos: incluso a Mozart, prodigio musical a los 4 años, le tomó 13 más empezar a producir música de calidad mundial.

Articulo completo.

Popularidad de los lenguajes de programación en proyectos Open Source.

La Black Duck KnowledgeBase recopila la información de más de 200000 proyectos Open Source con su correspondiente licencia desde el año 2002como parte de los servicios de Black Duck Software de administración y conformidad de licencias. Recientemente esa empresa publicó un análisis donde discrimina esos datos históricos por lenguaje y su cantidad de líneas de código, del cual se revela que los más populares lenguajes de programación en la comunidad del código abierto son:

1.C (40,90%)
2.C++ (14,01%)
3.Java (10,96%)
4.Shell (8,96%)
5.Javascript (5,55%)
6.PHP (4,86%)
7.Perl (3,19%)
8.Python (2,74%)
9.SQL (1,60%)
10.C# (1,24%)

Y comparando esos datos con los de los proyectos que publicaron algún lanzamiento en los últimos 12 meses se puede producir el siguiente gráfico, que demuestra la tendencia en el uso actual de esos lenguajes:

Fuente:

h-online.com