No sólo Apple IV: La importancia de llamarse Ritchie


Bienvenidos a la nueva sección bisemanal de iPaderos. El leitmotiv de estos artículos será expandir un poco más allá la perspectiva de la temática general del blog, que no deja de ser otra que Apple y su ecosistema, y sobre todo, nuestro querido iPad. Parece como si el resto del mundo no hubiera tenido su propia historia e influencia en el mundo tecnológico, y obviamente, no es así. Apple ha sido, sin duda, un motor que ha impulsado indiscutiblemente la industria, pero tenemos que recordar también a todos a aquellos que, en el pasado o en la actualidad, han dado también parte de su originalidad o inventiva al mundo moderno en el que vivimos. Esta sección aparecerá a las 9:41 am, hora del pacífico, como nuestra sección “One More Jobs” (pulsa aquí para saber por qué).

Hasta ahora hemos hablado de otras empresas que no son Apple en esta sección, y lo vamos a seguir haciendo. Pero recientemente leí un artículo como me hizo pensar en como vemos el mundo de la tecnología y la informática, y de sus pioneros y genios. En una sección que trata de hablar de temas que no son específicamente sobre Apple, hablar de un tema que podríamos denominar “meta-Apple” es cuanto menos un desafío. El personaje del que voy a hablar hoy es Dennis Ritchie.

ritchie

En el artículo que mencionaba antes se hace una declaración de intenciones muy provocadora: sin Dennis Ritchie no habría Steve Jobs. Y esto es verdad en una medida que sólo si nos sumergimos en las profundidades más habitualmente ignoradas de la historia informática podremos llegar a entender. Ritchie y Jobs no podrían ser personajes más desiguales entre si: uno desarrollador de algunos de los más importantes sistemas informáticos de la historia y otro creador de empresas y productos generadores de un hype inmenso. Uno se tiraba literalmente decenas de horas seguidas escribiendo crípticas líneas de código en viejas PDP-8 para desarrollar Unix y el otro presentaba teléfonos de última generación e ideaba interfaces futuristas para usuarios torpes. Uno no salía de su laboratorio en días y el otro hacía presentaciones multitudinarias y era aclamado en todo el mundo. Pero ambos tienen algo en común: cada uno a su manera, los dos han hecho que la informática sea lo que es hoy día. Y si, en cierta medida, sin el trabajo del primero, el segundo no hubiera hecho nada o casi nada de lo que hizo. O lo hubiera hecho de forma totalmente diferente.

Dennis Ritchie destacó como ingeniero de sistemas en AT&T en los años 60 en una época en que la informática era poco menos que un recién nacido que daba sus primeros pasos. Hasta entonces, todo lo que podía entenderse como informática eran grandes aparatos que en realidad sólo sabían hacer una cosa: calcular, y no muy bien. Se estropeaban constantemente y aparte de sacar listados de números y alguna otra cosa, no sabían hacer nada más. Y por supuesto, estaban todos en el ejército y las universidades, y algunos bancos. En los 60, los primeros ordenadores “compactos” como el PDP-7 y el PDP-11 comenzaron a establecerse en los laboratorios y las universidades. Tenían su consola y el operador debía introducir comandos y esperar una respuesta del mismo. En aquella época también comenzó a investigarse la posibilidad de desarrollar un sistema operativo multi-función, que permitiera realizar múltiples operaciones de forma sencilla, y que pudieran ejecutar una multiplicidad de comandos que hasta entonces prácticamente tenían que meterse a mano y en tarjetas perforadas. Se comenzó el desarrollo del llamado MULTICS, un sistema que, literalmente, pretendía hacer de todo. El sistema creció tanto y de forma exponencial que, a efectos prácticos, se volvió inmanejable. El proyecto entró en crisis, y algunos ingenieros, como Thompson y Ritchie a la cabeza, se liaron a intentar justamente lo contrario: un sistema mínimo al que se le pudieran agregar más comandos, que combinados entre si dieran la posibilidad de crear ejecuciones más complejas y de forma más técnica. Y así nació Unix (la X era una “broma” referida al “CS” de MULTICS, como el propio nombre en si mismo). Unix tenía la pretensión de poder instalarse en cualquier sitio de forma mínima y que luego fuera fácilmente (bueno, lo que entendían esos señores por “fácil”) programable con unos cuantos comandos. Por aquel entonces, Unix no tenía ni interfaz de comandos. Los participantes del proyecto lo hacían todo a mano, literalmente.

Entonces, Ritchie tuvo la idea. Realizar un lenguaje tan sencillo y práctico como el propio Unix, y que pudiera portarse a cualquier hardware de forma sencilla. Usando ideas de Thompson con un lenguaje que había desarrollado llamado “B”, Ritchie y su colega Kernighan desarrollaron el que sería el lenguaje universal durante décadas: el “C”. En este lenguaje se han desarrollado durante muchos años la mayoría de los sistemas, protocolos, interfaces y lenguajes del mundo informático, académico y empresarial. Gracias a la rápida adopción de Unix y C, que eran de código abierto, las universidades sobre todo tuvieron una explosión técnica sin precedentes, extendiendo aquellas PDP por todos sitios de una forma que no se podían imaginar. A mediados de los 70, esas máquinas y esos sistemas eran lo único que se usaba en la mayoría de los sitios. Eran los “viejos buenos tiempos” de la informática, cuando ni siquiera podía denominarse como “personal”.

Left to right Kenneth L. Thompson, Dennis M. Ritchie
Thompson y Ritchie recibidos por el presidente Clinton

También a mediados de los 70, muchos entusiastas de la informática se hacían sus cacharros caseros y los presentaban en las reuniones “homebrew”, donde los fans de los chips compartían sus inventos y hacían disertaciones. En aquel entonces, sólo unas pocas empresas como MITS se atrevían a sacar al mercado pequeños kits de montaje que permitían juntar piezas unas con otras y, con suerte, montar algo que podía, lejanamente, parecerse a un ordenador, o hacer como que lo hacía. Algo sólo un poco más elaborado que un Arduino, vamos (y mucho menos potente). En 1975 MITS sacó al mercado el Altair, una caja con palancas y luces que… Básicamente no hacía nada. Montaba un Intel 8008 y tenía que programarse con las palancas una a una. Vamos, equivocarse después de cientos de pulsaciones tenía que ser maravilloso. Dos muchachos de Harvard, con una PDP-10 de la universidad, se atrevieron a realizar un Basic sencillo para la nueva máquina ya que Ed Roberts, uno de los propietarios de MITS, lo había solicitado en la revista Popular Electronics. El resto es historia, propiamente dicho, y supuso la fundación de una de las empresas más potentes que jamás han existido: Microsoft. Por primera vez, parecía posible que alguien, fuera de una universidad o un banco, pudiera hacer algo real con un ordenador, o algo parecido. Por aquella época, otros dos muchachos de California estaban montando placas y chips para, junto con un monitor y un teclado, tener algo que se podía parecer a un PDP pequeñito y tosco, y que iban presentado de reunión en reunión de “homebrew” a la espera de que a alguien le hiciera tilín. Se llamaba Apple I, y sí, también esto es algo que ha hecho historia.

No fue hasta la llegada del Apple II y el Macintosh que la gente no pudo ver en sus casas un ordenador que pudiera hacer algo útil. Por otro lado IBM había sacado su PC o Personal Computer, una versión reducida de un PDP que llevaba su propio sistema operativo particular, el DOS de Microsoft. Tanto unos como otros estaban desarrollados, en efecto, en C. Tomaban ideas de Unix, cada uno adaptándolas como mejor sabía, como la consola de comandos, el sistema de archivos y otras lindezas que por entonces eran ciencia ficción. Los primeros ordenadores personales (Mac incluido) que pudieron conectarse a la Internet embrionaria que por entonces empezaba a funcionar, lo hacían con protocolos desarrollados a nivel de software también en C, y durante muchos años, C era prácticamente el sistema de programación imprescindible para hacer cualquier cosa “seria”. Años más tarde, cuando Jobs fundó Next, desarrollaron un lenguaje basado en C pero orientado a objetos, Objective-C (basado en uno previo desarrollado por uno de sus ingenieros, Brad Cox), más o menos por la misma época que otro señor no debidamente bien ponderado, Bjarne Stroustrup, diseño un lenguaje que también se haría legendario, el C++, por supuesto orientado a objetos. La diferencia es que el C++ fue desarrollado en los laboratorios Bell y eso le dio una popularidad mucho mayor. Pero ambos beben de la misma fuente, y siendo estrictos, Objective-C es más parecido a C y bebe más directamente de sus recursos primarios, mientras que C++ tiene muchas más alteraciones estructurales y conceptuales. El primer servidor web fue desarrollado en C en un Next y prácticamente todo el software Apple desde el regreso de Jobs en 1997 fue desarrollado en Objective-C, ya que Apple había comprado un año antes Next. Por otro lado, Windows ha sido desarrollado en C y C++ prácticamente por completo, así como todos los Unix y GNU/Linux. Sí, como podéis ver, con las mismas herramientas se pueden hacer las cosas tan bien y tal mal al mismo tiempo.

Ellos lo hicieron; él lo vendió
Ellos lo hicieron; él lo vendió

Desde luego, aquellos pioneros no han sido tan famosos como Jobs o Gates, pero su contribución ha sido tan importante y relevante como que sin ellos, lo que hoy día entendemos por informática no existiría, al menos tal y como la conocemos a día de hoy. Seguramente, las cosas hubieran salido de otra manera, los paradigmas hubieran sido distintos y aunque muchas cosas hubieran sido iguales, otras hubieran resultado totalmente diferentes. Otros genios como Douglas Engelbart desarrollaron el ratón como lo conocemos, y las interfaces de ventana. Pero si hay una cosa cierta en todo esto: hay un poco de ese señor con barba llamado Dennis Ritchie en todo lo que podemos llamar tecnología informática. La venda Apple, Microsoft o IBM. Esté en un Mac, unas Windows o un Linux. Supongo que es una forma bastante curiosa y sencilla de pasar a la historia…

PD: por cierto, Ritchie y Jobs fallecieron el mismo año, una de esas coincidencias para los que les guste pensar que existen…

Anterior 10 aplicaciones gratuitas por tiempo limitado (26-octubre-15)
Siguiente Usuarios demandan a Apple por la función "Wi-Fi Assistant"

Sin comentarios

Contestar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *