Me topé con este hermoso texto (debajo del corte) en el libro de Vernor Wing " Profundidad en el cielo ". El fragmento me impresionó tanto que decidí compartir mis pensamientos con el público. No suele ver un estudio similar del tema en la ficción. En algunos lugares, el texto parece un poco ... protésico, pero quizás este sea el resultado de una mala traducción. De hecho, el texto es bastante reflexivo.Mientras leía, recordé a Edsger Dijkstra con su famosa frase: "Rezo día y noche para que tantos de mis compañeros programadores como sea posible puedan encontrar una manera de romper la maldición de compatibilidad".("Rezo a diario para que más de mis compañeros programadores encuentren los medios para liberarse de la maldición de la compatibilidad") del libro The Humble Programmer (1972 sic !!!). Y más tarde, Eric Raymond con su Catedral y Bazar (1997). Pero el texto de Vinge no es solo sobre la maldición de la compatibilidad, sino que se ha planteado una capa completa de preguntas (y generalmente no se ha respondido) en tres páginas:- El problema de la compatibilidad en un sentido amplio;
- El problema de soportar código antiguo;
- El problema de la dependencia de la vida humana "de los robots insensibles" (c), a los que nos estamos acercando rápidamente;
- El problema de la minería de datos en general y de encontrar una solución preparada en el barril de recetas sin fondo en particular (github, stack overflow?);
- El problema de "reescribir" el código antiguo (tanto malo como bueno): solo quiero volver a leer este momento :);
- -. , , . ( ) , ;
- , , . , , backdoor` , .
- … :)
Uno tiene la impresión de que esto fue escrito por una persona que, en su propia piel, sintió estos mismos problemas.Quiero señalar que "Profundidad en el cielo" se escribió en 1999, cuando gran parte de lo que Vinge estaba escribiendo no era un problema, o incluso apareció en el horizonte.Como crítica, me gustaría señalar que Vinj pasó la IA (tanto fuerte como débil, generalmente pasó, ni siquiera tocó las redes neuronales) y redujo las ventajas de TI a la productividad. Además, la presencia de megacorporaciones no se siente en el texto (aunque, por supuesto, "Profundidad en el cielo" no se aplica al cyberpunk), a excepción de Keng-Ho como tal. No hay guerras de patentes, la cuestión de los derechos de autor y el problema de los desarrollos de propiedad cerrados, cuyos códigos fuente no han sido publicados, no se ven afectados.No se trata de programación, sino de estándares. ? . , , . , , ? , ..? ( ?) . . , , , . , . , ?
. , . ?
A continuación se muestra el pasaje más interesante del texto. La novela todavía tiene muchas cosas interesantes que no están relacionadas con la programación, y no en vano recolectó varios premios. Por eso recomiendo leerlo, y en el original, la traducción que obtuve no es muy buena.Disfruta leyendo :)"Bret, ¿qué especialidades necesitamos más?"Trinley se encogió de hombros."¿Quieres decir cuáles nos darán el mayor ingreso?" Obviamente. Programador-arqueólogo.La pregunta era: ¿puede un niño salvaje como Fam Nuven convertirse en uno? Ahora el niño podía usar casi cualquier interfaz estándar. Ya se imaginaba cómo sería un programador, tal vez incluso un capitán de barco. Usando interfaces estándar, puede controlar el vuelo Reprise, ingresar en órbitas planetarias, soportar ataúdes de animación suspendidos ...- Y lo que está casi mal, ¡y tú eres un hombre muerto, un hombre muerto, un hombre muerto! - Entonces Sura terminó la lista de valor Fam. "Chico, tienes que entender una cosa". Aquí, los niños civilizados también a menudo se equivocan. Las computadoras y los programas existen desde el comienzo de la civilización, incluso antes de los viajes espaciales. Pero solo pueden lo que pueden. No podrán encontrar una salida a dificultades imprevistas o incluso hacer algo realmente creativo."Bueno, sé que esto no es cierto". Jugué juegos con autos. Si establezco un nivel alto, nunca gano.- Porque las computadoras simplemente hacen cosas simples muy rápido. Por eso juegan un papel tan importante. Contienen programas durante miles de años y casi todos pueden ejecutarse. En cierto modo, recuerdan cada truco que la humanidad ha inventado.– , – .
:
– , . : – ?
– , – . «» .
– . , …
– , , – .
– … - . , , . , , , , .
- Exactamente! - exclamó Fam. "Por eso tenemos programas y computadoras"."Por eso no podemos sobrevivir sin ellos". Durante miles de años, la memoria de la máquina se ha llenado de programas que pueden ser útiles. Pero, como Bret acaba de decir, muchos de estos programas son mentiras, muchos contienen errores y solo los programas de nivel superior se ajustan exactamente a nuestras necesidades. - Se detuvo y miró a Fam significativamente. - Y necesita una persona inteligente y muy educada para ver lo que está disponible, para seleccionar y modificar los programas que necesita e interpretar correctamente los resultados.Fam guardó silencio por un minuto, recordando los momentos en que los autos no hacían lo que él realmente quería que hicieran. Y no siempre fue culpa de Fam. Los programas que intentaron traducir de Canberian a Niz resultaron ser basura."Entonces ... quieres que aprenda a programar un poco mejor".Sura sonrió y Bret apenas reprimió una risita.- Estaremos felices si te conviertes en un buen programador y luego aprendes a usar lo que ya está allí.Fam Nyuven pasó varios años aprendiendo a programar e investigar. La programación se remonta al comienzo de los tiempos. Como ese basurero detrás del castillo de mi padre. Cuando fue arrastrado por una corriente de diez metros de profundidad, se descubrió el cuerpo retorcido de automóviles, máquinas voladoras, como decían los campesinos, de aquellos grandes días de la colonización de Canberra. Pero ese dunghill estaba limpio y fresco en comparación con lo que había en la red local de Reprise. Hubo programas escritos hace cinco mil años, cuando la humanidad aún no había abandonado la Tierra. Y lo más maravilloso (lo más terrible, como dijo Sura) fue que, a diferencia de los escombros inútiles del pasado de Canberra, ¡estos programas todavía funcionaban! Y a través de un millón de millones de hilos de herencia enredados, muchos de los programas más antiguos todavía se ejecutaban dentro del sistema Keng Ho. Por ejemplo,métodos de seguimiento de tiempo para comerciantes. Las correcciones fueron increíblemente difíciles, pero en el fondo yacía un pequeño programa que manejaba el mostrador. El sistema de Keng Ho contó segundo a segundo desde el momento en que el pie de un hombre pisó la Luna de la Vieja Tierra. Pero si miras más de cerca ... el momento inicial fue millones cien segundos después; momento "cero" de uno de los primeros sistemas operativos de computadora de la humanidad.Esto significa que debajo de todas las interfaces de nivel superior hay niveles de soporte, una capa en una capa. Algunos de estos programas fueron creados para situaciones completamente diferentes. De vez en cuando, la falta de coincidencia dio lugar a incidentes fatales. A pesar del romance de los vuelos espaciales, la mayoría de las veces las catástrofes fueron causadas por antiguos programas olvidados que lograron vengarse."Tenemos que reescribir todo esto", dijo Fam."Ya han hecho esto", respondió Sura, sin levantar los ojos. Se estaba preparando para abandonar el turno y durante los últimos cuatro días estuvo tratando de detectar un problema encontrado en la automatización de la animación suspendida."Intentaron hacerlo", la corrigió Bret, de pie frente a los congeladores. - Pero la cantidad de código solo en los sistemas navales del nivel superior es increíble. Plantéate a ti y a otras mil personas para reproducirlo y trabajarás un siglo entero. Trinley sonrió siniestramente. "¿Y sabes qué?" Incluso si lo hace, al final tendrá sus desajustes. Y aún así no habrá compatibilidad con todas las aplicaciones que necesitamos de vez en cuando.Sura dejó los programas de depuración por un minuto."¿Sabes cómo se llama todo esto?" "Entorno de programación maduro". Cuando el equipo ya está operando en su límite final, y los programadores han estado escribiendo código durante muchos siglos, se llega al punto en que hay un código más significativo del que cualquiera puede leer. Entonces, lo mejor que puede hacer es comprender la estructura general de los niveles y comprender cómo buscar remedios exóticos que puedan ser convenientes, como en la situación que tengo aquí. Metió la mano en el cuadro de dependencia en el que estaba trabajando. - Tenemos escasez de refrigerante para ataúdes. Como un millón de otras cosas, el viejo Canberra no se podía comprar. Bueno, la solución obvia es mover los ataúdes a la carcasa de popa y dejarlos enfriar por radiación directa.Para respaldar tal decisión, no contamos con el equipo necesario y, por lo tanto, he estado haciendo arqueología últimamente. Parece que hace quinientos años esto sucedió después de la guerra en el sistema Torma. Luego cegaron exactamente el paquete de control de temperatura que necesitamos."Casi lo mismo", Bret sonrió de nuevo. - Con cambios mínimos."Sí, que casi he contribuido". - Miró a Fam, vio la expresión en su rostro. - Si. Pensé que preferirías morir antes que mentir en un ataúd.Fam sonrió tímidamente, recordando a ese chico hace seis años.- No, yaceré en el ataúd. Algún día.Este día llegó después de cinco años de la vida de Fam. Estos fueron años ocupados. Tanto Bret como Sura estaban fuera de la Guardia, y Fam no se acercó a su reemplazo. Estos cuatro tocaron instrumentos musicales, ¡manualmente, como juglares en la corte! Al final, jugaron kilosegundos enteros seguidos; Parecía que ellos, jugando juntos, alcanzaron algún tipo de unión mental-social. Su música de alguna manera incomprensiblemente actuó en Fam, pero estas personas trabajaron muy duro para lograr resultados muy comunes. Fam no tendría la paciencia ni siquiera para los primeros pasos en este camino, y se fue. Estar solo, sabía muy bien. Tenía mucho que aprender.Cuanto más estudiaba, más entendía lo que Sura Vinh quería decir con "entorno de programación maduro". En comparación con los miembros de la tripulación que conocía, Fam se ha convertido en un destacado programador. "Genio llameante", así que una vez describió a Sura Vinh, pensando que no oía. Podría codificarlo todo, pero la vida es corta y casi todos los sistemas esenciales son enormes. Y así, Pham aprendió a encontrar formas de evitar estos leviatanes del pasado. Sabía cómo acceder a los códigos de armas de Eldritch Fury con la ayuda de planificadores de tiempo cónicos fijos antes de la exploración espacial. Igualmente importante: sabía cómo buscar aplicaciones potencialmente adecuadas ocultas en la red del barco.... Y aprendió sobre entornos de programación maduros que Sura, en general, no dijo. Cuando los sistemas dependen de los sistemas a continuación, y dependen de los más antiguos ... se hace imposible saber todo de lo que son capaces estos sistemas. En algún lugar en la parte posterior de la automatización de la flota, puede haber, debe haber, un laberinto de movimientos y trampas. Casi todos los autores han estado muertos durante miles de años; los enfoques que han ocultado se han perdido para siempre. Otras trampas fueron establecidas por empresas o gobiernos que esperaban sobrevivir al paso del tiempo. Sura, Bret, y quizás algunos otros, conocían los sistemas Reprise de tal manera que se les dio un poder especial.El príncipe medieval en el alma de Fam Nuven quedó impresionado por este descubrimiento. Si una de esas trampas se encuentra en la parte inferior de algún sistema popular universal ... Si se usa una capa tan nueva en todas partes, el dueño de los movimientos y trampas será como un rey.Vernor Winge, extracto de la novela "Profundidad en el cielo", 1999