Eu me deparei com este belo texto (sob o corte) no livro de Vernor Wing " Profundidade no céu ". O fragmento me impressionou tanto que decidi compartilhar meus pensamentos com o público. Você não vê frequentemente um estudo semelhante sobre o assunto na ficção. Em alguns lugares, o texto parece um pouco ... protético, mas talvez seja o resultado de uma boa tradução. De fato, o texto é bastante atencioso.Ao ler, lembrei-me de Edsger Dijkstra com sua famosa frase: "Oro dia e noite para que o maior número possível de colegas de programa possa encontrar uma maneira de quebrar a maldição da compatibilidade"(“Oro diariamente para que mais de meus colegas programadores possam encontrar meios de se libertar da maldição da compatibilidade”) do livro The Humble Programmer (1972 sic !!!). E mais tarde, Eric Raymond, com sua Cathedral and Bazaar (1997). Mas o texto de Vinge não é apenas sobre a maldição da compatibilidade, toda uma camada de perguntas foi levantada (e geralmente deixada sem resposta) em três páginas:- O problema da compatibilidade em um sentido amplo;
- O problema de suportar código antigo;
- O problema da dependência da vida humana "de robôs insensíveis" (c), para o qual estamos nos aproximando rapidamente;
- O problema de mineração de dados em geral e encontrar uma solução pronta no barril sem fundo de receitas em particular (github, stack overflow?);
- O problema de "reescrever" o código antigo (ruim e bom) - só quero reler este momento :);
- -. , , . ( ) , ;
- , , . , , backdoor` , .
- … :)
Ficamos com a impressão de que isso foi escrito por uma pessoa que, em sua própria pele, sentiu esses mesmos problemas.Quero observar que “Profundidade no céu” foi escrito em 1999, quando grande parte do que Ving escreve não era um problema, ou simplesmente apareceu no horizonte.Como crítica, gostaria de observar que Vinj passou na IA (forte e fraca, correu de todo, nem tocou nas redes neurais) e reduziu as vantagens da TI à produtividade. Além disso, a presença de megacorporações não é sentida no texto (embora, obviamente, “Profundidade no céu” não se aplique ao cyberpunk), exceto o Keng-Ho como tal. Não há guerras de patentes, a questão dos direitos autorais e o problema de desenvolvimentos proprietários fechados, cujos códigos-fonte não foram publicados, não são afetados.Não sobre programação, mas sobre padrões. ? . , , . , , ? , ..? ( ?) . . , , , . , . , ?
. , . ?
Abaixo está a passagem mais interessante do texto. O romance ainda tem muitas coisas interessantes que não estão relacionadas à programação, e não foi à toa que ele ganhou vários prêmios. Por isso, recomendo a leitura e, no original, a tradução que recebi não é muito boa.Gostar de ler :)"Bret, de quais especialidades precisamos mais?"Trinley deu de ombros."Você quer dizer quais nos darão a maior renda?" Obviamente. Programador-arqueólogo.A questão era: uma criança selvagem como Fam Nuven pode se tornar uma? Agora o garoto conseguiu usar quase qualquer interface padrão. Ele já imaginou como seria um programador, talvez até um capitão de navio. Usando interfaces padrão, ele pode controlar o voo Reprise, entrar em órbitas planetárias, suportar caixões de animação suspensos ...- E o que está quase errado, e você é um homem morto, um homem morto, um homem morto! - Então Sura terminou a lista de bravura Fam. "Rapaz, você precisa entender uma coisa." Aqui, crianças civilizadas também são frequentemente enganadas. Computadores e programas existem desde o início da civilização, mesmo antes das viagens espaciais. Mas eles podem apenas o que podem. Eles não serão capazes de encontrar uma saída para dificuldades imprevistas ou mesmo fazer algo verdadeiramente criativo."Bem, eu sei que isso não é verdade." Eu brinquei com carros. Se eu definir um nível alto, nunca ganho.- Porque os computadores fazem coisas simples muito rapidamente. É por isso que eles desempenham um papel tão importante. Eles contêm programas por muitos milhares de anos e quase todos podem ser executados. De certa forma, eles se lembram de todos os truques que a humanidade já criou.- E todo lixo - Bret Trinley bufou.Sura deu de ombros:- Claro, dela. Pense sobre isso: quantas equipes temos - quando estamos no sistema e tudo está em pé?"Mil e vinte e três", respondeu Pham. Por um longo tempo, ele já conhecia todos os parâmetros do Reprise e desse voo.- Boa. Agora imagine que você veio de todas as civilizações por muitos anos-luz ...- O que imaginar é verdade - interrompeu Trinley."... e algo vai mal." Para construir uma nave estelar, você precisa de milhares de dez especialidades humanas, e isso é uma base industrial de capital. É impossível para a tripulação do navio saber tudo o que é necessário para analisar espectros estelares, criar uma vacina contra cepas selvagens na bactéria, entender qualquer doença de deficiência metabólica que possamos encontrar.- Exatamente! - exclamou Fam. "É por isso que temos programas e computadores.""É por isso que não podemos sobreviver sem eles." Por milhares de anos, a memória da máquina foi preenchida com programas que podem ser úteis. Mas, como Bret disse, muitos desses programas são mentiras, muitos contêm erros e apenas programas de nível superior atendem exatamente às nossas necessidades. - ela parou e olhou para Fam significativamente. - E você precisa de uma pessoa inteligente e muito educada para assistir ao que está disponível, selecionar e modificar os programas necessários e interpretar corretamente os resultados.Fam ficou em silêncio por um minuto, lembrando-se dos momentos em que os carros não faziam o que ele realmente queria. E nem sempre foi culpa da Fam. Programas que tentaram traduzir de canberiano para Niz acabaram sendo lixo."Então ... você quer que eu aprenda a programar um pouco melhor."Sura sorriu e Bret mal reprimiu uma risadinha.- Ficaremos felizes se você se tornar um bom programador e aprender a usar o que já está lá.Fam Nyuven passou vários anos aprendendo a programar e pesquisar. A programação remonta ao início dos tempos. Como aquele dunghill atrás do castelo do meu pai. Quando foi lavada por um riacho de dez metros de profundidade, foram descobertas as carroçarias retorcidas - carros voadores, como disseram os camponeses, daqueles grandes dias da colonização de Canberra. Mas esse imbecil era limpo e fresco em comparação com o que estava na rede local Reprise. Havia programas escritos cinco mil anos atrás, quando a humanidade ainda não havia deixado a Terra. E o mais maravilhoso (o mais terrível, como disse Sura) foi que, diferentemente dos destroços inúteis do passado de Canberra, esses programas ainda funcionavam! E através de um milhão de milhões de fios de herança emaranhados, muitos dos programas mais antigos ainda estavam em execução no sistema Keng Ho. Por exemplo,métodos de rastreamento de tempo para os comerciantes. As emendas foram incrivelmente difíceis - mas, no fundo, havia um pequeno programa que controlava o balcão. O sistema Keng Ho contava segundo a segundo a partir do momento em que o pé de um homem pisava na Lua da Terra Velha. Mas se você olhar mais de perto ... o momento inicial foi milhões de segundos depois; momento “zero” de um dos primeiros sistemas operacionais de computador da humanidade.Isso significa que, em todas as interfaces de nível superior, há níveis de suporte, uma camada em uma camada. Alguns desses programas foram criados para situações completamente diferentes. De vez em quando, a incompatibilidade dava origem a incidentes fatais. Apesar do romance dos vôos espaciais, na maioria das vezes as catástrofes foram causadas por antigos programas esquecidos que conseguiram se vingar."Temos que reescrever tudo isso", disse Fam."Eles já fizeram isso", respondeu Sura, sem levantar os olhos. Ela estava se preparando para sair do turno e, nos últimos quatro dias, estava tentando encontrar um problema encontrado na automação da animação suspensa."Eles tentaram fazer isso", Bret a corrigiu, parada nos congeladores. - Mas a quantidade de código apenas nos sistemas navais do nível superior é incrível. Plante você e mais mil pessoas para reproduzi-lo e você trabalhará um século inteiro. Trinley sorriu ameaçadoramente. "E sabe de uma coisa?" Mesmo se o fizer, no final, você terá suas incompatibilidades. E ainda não haverá compatibilidade com todos os aplicativos que precisamos de vez em quando.Sura deixou os programas de depuração por um minuto."Você sabe como tudo se chama?" "Ambiente de programação maduro." Quando o equipamento já está operando em seu limite final e os programadores escrevem código há muitos séculos, você chega ao ponto em que há mais código significativo do que qualquer um pode ler. Então, a melhor coisa que você pode fazer é entender a estrutura geral dos níveis e como procurar remédios exóticos que possam ser convenientes - como na situação que tenho aqui. Ela cutucou a mão no gráfico de dependência em que estava trabalhando. - Temos escassez de refrigerante para caixões. Como um milhão de outras coisas, a boa e velha Canberra não podia ser comprada. Bem, a solução óbvia é mover os caixões para a carcaça da popa e deixá-los esfriar por radiação direta.Para apoiar tal decisão, não temos o equipamento necessário - e, portanto, venho fazendo arqueologia recentemente. Parece que quinhentos anos atrás isso aconteceu depois da guerra no sistema Torma. Eles então cegaram exatamente o pacote de controle de temperatura que precisamos."Quase o mesmo", Bret sorriu novamente. - Com mudanças mínimas."Sim, com o qual quase contribuí." - ela olhou para Fam, viu a expressão no rosto dele. - Sim. Eu pensei que você preferiria morrer a mentir em um caixão.Fam sorriu timidamente, lembrando-se daquele garoto seis anos atrás.- Não, eu vou deitar no caixão. Algum dia.Este dia chegou depois de cinco anos da vida de Fam. Foram anos ocupados. Bret e Sura estavam do lado de fora da Patrulha, e Fam não se aproximou. Esses quatro tocavam instrumentos musicais - manualmente, como menestréis na corte! No final, eles tocaram quilosegundos inteiros seguidos; parecia que eles, tocando juntos, alcançaram algum tipo de união mental-social. A música deles de alguma forma incompreensivelmente agia no Fam, mas essas pessoas trabalhavam muito para obter resultados muito comuns. Fam não teria paciência nem mesmo nos primeiros passos nesse caminho, e ele foi embora. Ficar sozinha - ele sabia muito bem. Ele tinha muito que aprender.Quanto mais ele estudava, mais ele entendia o que Sura Vinh queria dizer com "ambiente de programação maduro". Comparado aos membros da tripulação que ele conhecia, o Fam se tornou um excelente programador. "Gênio flamejante" - então ele descreveu Sura Vinh, pensando que não ouve. Ele poderia codificar tudo, mas a vida é curta e quase todos os sistemas essenciais são enormes. E assim, Pham aprendeu a encontrar maneiras de contornar esses leviatãs do passado. Ele sabia como acessar códigos de armas de Eldritch Fury com a ajuda de planejadores de tempo cônicos fixos antes da exploração espacial. Igualmente importante: ele sabia como procurar aplicativos potencialmente adequados ocultos na rede do navio.... E ele aprendeu sobre ambientes de programação maduros que Sura, em geral, não disse. Quando os sistemas dependem dos sistemas abaixo, e eles dependem ainda dos mais antigos ... torna-se impossível saber tudo o que esses sistemas são capazes. Em algum lugar na parte de trás da automação da frota, pode haver - deve haver - um labirinto de manobras e armadilhas. Quase todos os autores estão mortos há milhares de anos; as abordagens ocultas foram perdidas para sempre. Outras armadilhas foram criadas por empresas ou governos que esperavam sobreviver à passagem do tempo. Sura, Bret e talvez alguns outros, conheciam os sistemas Reprise de tal maneira que recebiam um poder especial.O príncipe medieval na alma de Fam Nuven ficou impressionado com esta descoberta. Se uma dessas armadilhas estiver no fundo de algum sistema popular universal ... Se uma nova camada for usada em todos os lugares, o dono dos movimentos e armadilhas será como um rei.Vernor Winge, trecho do romance "Profundidade no céu", 1999