viernes, octubre 14, 2011

Reflexiones sobre Investigación en Software

Una de las citas más frecuentemente usadas en historia de la ciencia es una de Newton, dice mutatis mutandis:
"Si he visto más lejos, es porque voy en hombros de gigantes".
Es cierto en muchas actividades. Y considero que si uno es computito debería tenerla grabada con fuego en algún lugar de sus circunvoluciones cerebrales.

Al rato regresamos a esa frase.

Hubo un tiempo, lejano a sólo muy pocas décadas, en el que hablar de informática, computación y telecomunicaciones requería diferenciar bien esos tres ámbitos. Ya no es así. Ahora, hablar de informática, computación y telecomunicaciones es hablar de una industria cuyos productos tecnológicos van integrados. Un ejemplo muy claro lo tienen frente a su nariz, en este momento.

Esto que digo y que parece obviedad es para meterles en la cabeza la idea de que la computadora que tienen ante uds ha seguido un proceso de evolución.

Ahora hagamos una analogía. Si imaginamos a esa industria que construyó la computadora que ahora contemplan, como un gran rascacielos (la analogía tiene fallas: cuando se construye un rascacielos este suele tener un tope fijo, pero sirve para que los no-computitos entiendan), Steve Jobs -un señor que influyó en esa industria y que murió recientemente para la consternación histérica de algunos de sus clientes- sería el decorador y el que vende los departamentos. Quizá sobrevaluados pero tan bonitos y "usables" que se hacen filas para adquirirlos.

Jobs iba montado a hombros de gigantes.

Llevemos un poco más lejos la analogía. La estructura de acero que sostiene el rascacielos no se levantó por generación espontánea ni intervención divina. Hubo personas que la construyeron.

También montados a hombros de gigantes.

A esa clase de gente pertenecía el señor Dennis M. Ritchie quien, recientemente, ha muerto.

Recordemos algo de lo que dejó Ritchie.

En 1983, Ritchie recibió el premio A. M. Turing. Aquí va un paréntesis: Turing fue otro montado en hombros de gigantes. En nuestra analogía del rascacielos Turing sería de los que pusieron los cimientos y fuera de la analogía fue un matemático, criptoanalista y científico computacional, tan chinguetas que le echó a perder a los alemanes, durante la 2da Guerra Mundial, su intercambio de mensajes cifrados. Fin de paréntesis. El premio Turing lo otorga la Association for Computing Machinery, y Ritchie lo recibió junto a su colega Ken L. Thompson.

Cuando recibió el premio, Ritchie habló de lo que ocurrió en Bell Laboratories para que él, Thompson y otros desarrollaran e implementaran el sistema operativo UNIX (algo que no les caería mal aprender a apreciar, avezados lectores, si es que son usuarios de Linux, iOS, o MacOS).

El texto de Ritchie se titulaba igual que este post y está disponible para su lectura. Esto que pongo aquí es la parte que hallo más notable.


Tiempo y compromiso al valor a largo plazo de la investigación son ingredientes necesarios, tanto de parte de los investigadores como de la gerencia.

Los laboratorios Bell han cumplido con ese compromiso. Y no sólo eso: han provisto un ambiente de investigación, raro, único y estimulante para mis colegas y para mí. A medida que entra lo que las publicaciones de la compañía llaman "la nueva era competitiva", sus gerentes y trabajadores harán bien en mantener en mente cómo, y bajo qué condiciones, UNIX fue un éxito. Si podemos mantener la suficiente apertura a nuevas ideas, la suficiente libertad de comunicación y la suficiente paciencia para permitir que el novel prospere, continuará siendo posible que un futuro Ken Thompson encuentre una CRAY/I empolvada y confeccione un sistema tan creativo e influyente como UNIX.
Lean ya el texto de Ritchie y aprendan que un ambiente de investigación y desarrollo más colaborativo que competitivo, más solidario que gandalla puede ser cuna de productos asombrosos. Productos que van más allá de "¿y ahora qué le ponemos al siguiente iPhone?"

Y recuerden, compañeros computitos, que al final, todos esos productos sólo son las escaleras para la siguiente generación de los que se suban a hombros de gigantes para ver más lejos.

6 comentarios :

Gndrix dijo...

A huevo, me caga que la muerte de Ritchie haya pasado practicamente inadvertida en comparación con la de Jobs. Nada contra Jobs, pero si mucho a favor de Ritchie.

Ribozyme dijo...

Yo más bien diría que Ritchie fue el que diseñó las palas mecánicas, revolvedoras de concreto, grúas, etc., y Jobs el arquitecto que, como Calatrava, no sólo produjo un edificio utilitario, sino cómodo, funcional y hermoso. Checa el tributo a Jobs que hace David Pogue del NY Times y Scientific American, no precisamente un ignorante en cuestiones de tecnología: http://pogue.blogs.nytimes.com/2011/10/06/steve-jobs-imitated-never-duplicated/

Lo he preguntado antes y lo vuelvo a preguntar ahora: si lo que Jobs hizo no significa algo en verdad importante ¿Por qué los discípulos de Knuth y Ritchie, que utilizan las herrramientas y principios establecidos por ellos, no pueden desarrollar software, ya no digamos hardware, que sea tan cómodo de usar, carente de fallas, atractivo y versátil como lo que produce Apple? Ni gigantes como Sony o Microssoft han podido, así que no se trata de recursos económicos. 

Rox dijo...

Este mundo está medido por dinero, fama, status quo. Por eso, los logros de Jobs son más notorios. Como ya dije, no considero a Jobs 100% computito y en el negocio de Apple, el software es complemento.

Sin Unix, en cambio, la infraestructura principal de la mayoría de las aplicaciones VITALES, como telecomunicaciones, bancos, etc, no existiría y ESO da mas valor a unas pinches pantallas que responden al tacto. ESPEJITOS, digo yo.

Gran texto, me voy a chutar el link

controlzape dijo...

Ribozyme:

Yo no digo que lo que Jobs hiciera no fuera importante. Fuera de la analogía fue un gran integrador de tecnología. Eso tiene mucho mérito. Pero cada que oigo la frase "es que revolucionó la informática" yo nomás pienso "la informática debe estar cerca del fin el día que meter varios de sus productos en un rectángulo negro sea revolucionario". El resultado es útil, quizá hermoso si uno tiene aprecio por los rectángulos negros, funcional, versátil y muy atractivo. ¿Pero revolucionario? quizá sólo de algún aspecto de la industria. El cómputo móvil, por ejemplo, sí se disparó gracias a los productos de Jobs. ¿Eso revolucionará al mundo o al resto de la industria? No lo creo. Hay en el mundo más computitos que, afortunadamente, no son clones de Steve Jobs, lo que le promete una variedad muy rica a lo que venga.

Respondiendo a la otra parte de tu pregunta. Tu afirmación de que los discípulos de Knuth y Ritchie que no trabajen en Apple no hacen productos cómodos de usar, atractivos y versátiles es errónea (dejo fuera de la lista de criterios el "carente de fallas" que mencionas porque eso es una quimera; no existe algo que sea carente de fallas, a lo mucho se aspira que no sean fallas que impidan permanentemente que se siga usando el producto en lo que llega la siguiente versión).

¿Qué cosa han hecho Microsoft y Sonny que esté al nivel de calidad de Apple? preguntabas, ahí te va la respuesta: consolas de juego, millones de ellas.

Ahora bien, a modo de cierre de revire diré que uno de los efectos de la muerte de Jobs es que ha puesto sobre la mesa la manera en la que nos vemos entre nosotros de acuerdo a lo que usemos.

Ejemplo 1

Ejemplo 2

Ejemplo 3

controlzape dijo...

El artículo que linkeas Ribozyme tiene algunos defectos. Creo que son debido al síndrome de "el muerto que bueno era".

Se nota mucho en frases como esta "Suppose, by some miracle, that some kid in a garage somewhere at this moment possesses the marketing, invention, business and design skills of a Steve Jobs."

El autor, se dejó llevar por el entusiasmo y no se sentó a ver si lo que decía era cierto o ya de perdida plausible. ¿En qué mundo uno nace con esas habilidades? Steve Jobs las adquirió sobre la marcha.

Ya no llegué al final de artículo. Cuando alguien se pone a calcular probabilidades sacadas de la manga, le dejo de poner atención.

Rochy dijo...

Espero no sonar como una fan más, molesta porque insultaste a un ídolo, pero para complementar lo que dice controlzape. Los productos de Apple tienen mucho menos fallas es porque corren en las Mac, desarrolladas en la misma compañia. Como decia un amigo "es muy fácil, cuando controlas el hardware". La razón por la que los productos de Microsoft o el código abierto no corren tan bien es que tienen que correr en computadoras de otras compañias, que no siempre siguen estándares -o simplemente a veces no hay estándares-. Pero por supuesto, separar hardware y software "es cuestión de principios" así que no siempre aplica en la vida real :p.