Princípios Herméticos da Computação
Introdução
Foi na Antiguidade que se revelou pela primeira vez a substância que habita por trás do visível. Há muito busca-se desvendar a engrenagem ulterior do universo, o fundamento do real, a redução indivisível da aparência. Não é, como querem crer muitos contemporâneos, energia; nem matéria, como supuseram os mestres mecanicistas; tampouco a vibração, como aventam as teorias mais recentes. O material que percorre a nervura das veias do universo é o Número.
Assim deduziram os antigos pitagóricos, a seita mais conhecida e que já dominava completamente os Preceitos Originais. A verdade ardeu também proferida pelos geômetras do Egito e os cabalistas, que em solos sagrados decifraram a configuração do universo. O Conhecimento Original foi protegido e propagado pelos mestres da Álgebra e da Lógica ao longo dos séculos. O ensino dos Preceitos, dotados de uma potência generativa infinita, foi rigorosamente restrito a seletos grupos de aprendizes incorruptíveis, que faziam de suas vidas pontes para a posteridade. O estudo sagrado das Artes Matemáticas finalmente redundou no último elemento da Sagrada Tríade: a Computação. Pois o objetivo último da História Oculta não é meramente descrever este universo, mas tornar cada aprendiz um demiurgo capaz de criar os seus próprios mundos.
Não existe regra ou princípio na infinita seara de documentos, guias e manuscritos que não possa ser derivada dos Preceitos Herméticos da Computação. Hoje, os aprendizes das artes computacionais estudam um extenso leque de assuntos: descrevem as minúcias de algoritmos, percorrem os caminhos dos grafos, se incursionam nas topologias das redes, e até mesmo emulam supostas inteligências. E, no entanto, emaranhado nas tecnicidades do saber comum, o leigo percorre um círculo sem jamais vislumbrar seu centro: os Princípios Fundamentais, dos quais hoje não se vê senão ecos e sombras.
Platão nos diz que “é preferível a ignorância absoluta ao conhecimento em mãos inadequadas”. Temendo a corrupção dos princípios originais, alguns pretensos conhecedores das verdades ocultas transmutaram seus preceitos em um conjunto de regras e prescrições. Simplificaram a verdade oculta em dogmas arbitrários. Assim, dizem-nos que “uma função não deve ter mais do que 5 linhas”. Apresentam-nos dezenas de “design patterns” que escondem a essência dos problemas. Estes falsos profetas, cegos pelo fanatismo, fecham-se em seitas e exigem devoção absoluta. Assim são os Purificadores Funcionais e os Objetistas. Deste modo, substituíram o entendimento pela obediência cega.
E, no entanto, tão logo o discípulo dessas seitas exercita sua prática, ele se depara com alguma contradição: se segue um princípio, viola outro. Ora, essas aparentes contradições só são superadas pelo conhecimento profundo das Verdades Arcanas. Os Preceitos Herméticos da Computação reconciliam todos os paradoxos, harmonizam os contrários e dissolvem as diferenças.
O princípio da correspondência
O princípio da correspondência foi primeiro enunciado por Hermes Trismegisto, três vezes grande, que é o autor da Filosofia Hermética. Assim estipula o preceito: “o que está em cima é como o que está embaixo.”. Seu significado é a equivalência das Leis Universais em todos os planos. Cabe explicar quais planos são esses.
O primeiro é o plano material. Nele reside o código que será efetivamente compilado e executado, os arquivos de configuração, a arqueologia dos repositórios e os instrumentos que os discípulos manejam para conjurar comandos arcanos. Este é o plano mais imediatamente acessível aos sentidos, pois sua materialidade é evidente aos olhos. Por isso, os incautos cometem o erro secular de confundi-lo com a própria realidade. O aprendiz supõe que deste plano nascem as infinitas bifurcações do tempo e da história. Assim, inverte causa e efeito: pois o plano material nada mais é do que a concretização e consequência dos planos superiores.
O plano seguinte é o arquitetural. Nele habitam e se relacionam os sistemas que se comunicam através de mensagens e eventos. O discípulo que ultrapassa o plano material compreende que para além do concreto existe Forma. Ninguém pode capturar a arquitetura de um edifício de frente a suas paredes: é necessário distanciamento. Da mesma forma, o plano arquitetural só é acessível ao iniciado que se eleva. É preciso perseverança aos aprendizes que almejam esta escalada mental, pois a atração do plano inferior é potente. Inúmeros incautos negam a realidade dos planos superiores. Supõem que aquilo que não pode ser tocado, manipulado e movido não existe. Ora, o plano arquitetural não é menos real do que o plano inferior - ao contrário, ele determina e organiza a matéria.
O terceiro plano é o organizacional. Compreende o arranjo das associações, grupos e formações de pessoas. Mesmo o mais sábio alquimista não pode exercer seu ofício completamente só. Onde quer que haja trabalho, logo se molda uma teia invisível de relações entre pessoas e grupos. Bastam dois iniciados para que haja hierarquia e organização. Isto é tão certo quanto a matéria.
Munido do conhecimento dos planos, recapitulemos o axioma hermético: “o que está em cima é como o que está embaixo”. Pois cada plano é regido pelas mesmas regras. Assim, o que funciona no plano material também é eficaz no plano arquitetural; similarmente, a simetria mais perfeita do plano arquitetural é idêntica à disposição ótima do plano organizacional.
Assim, até os mais neófitos reconhecem que uma função, para ser facilmente compreendida e reutilizada, deve desconhecer o máximo possível de seu entorno. Agnóstica a como ela será utilizada, torna-se mais flexível. Para tanto, é sabido que há uma multitude de técnicas: reduzir o número de parâmetros e os efeitos colaterais, por exemplo. Da mesma maneira, quanto menos dependências um web service emprega, mais facilmente ele pode ser apreendido, e mais suave sua evolução se dará face aos imprevistos inevitáveis. E não pode haver distinção na organização social: as equipes de aprendizes autossuficientes e autônomas produzem artefatos de imensa beleza. São como guildas de alquimistas que dispõem de todo o material a ser transmutado. Neste exemplo, como em inesgotáveis outros, está demonstrada a equivalência dos planos.
Assim, a feitura da mais minúscula das funções contém todos os enigmas, mistérios e segredos que habitam os planos superiores.
Qualquer mago já se deparou com o princípio da correspondência em alguma de suas infinitas bifurcações. Lei de Conway: “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure” Aqueles que não têm consciência dos princípios herméticos ficam deslumbrados com esta máxima e supõem estarem diante de uma revelação inédita. Por outro lado, os que dedicam suas almas aos estudos sabem que esta lei não é senão uma corruptela do Princípio da Correspondência: Apenas aqueles que são cientes do Oculto reconhecem a eterna redescoberta das Verdades Fundamentais.
O Princípio da Identidade
Mudança e permanência disputam a natureza da história. São conhecidos seus proponentes pioneiros: Heráclito e Parmênides. No fundo, versam sobre a imemorial questão da identidade. Pois aquilo que é deve sê-lo através do tempo e do espaço. E, no entanto, os iniciados sabem que tudo é fluxo na computação: A própria matéria-prima que fundamenta suas cidadelas artificiais é imaterial. Quem quer que queira sorver dos estudos herméticos e alquímicos deve conciliar esses dois polos.
Assim enuncia o Princípio da Identidade: “Aquilo que é deve sê-lo através do tempo e do espaço”.
Ainda que um código nasça perfeito, o futuro lhe predestina a ação do Grande Alquimista: o Tempo. Mudam as dependências, mudam os autores, os requisitos mudam, e parece não haver nada imune à mudança. Falso: o Tempo mutila o impermanente, mas aquilo que É persiste.
O que respeita o Princípio da Identidade resiste através dos séculos. Este preceito está expresso em diversos planos, conforme o Princípio da Correspondência.
A imutabilidade de variáveis pode ser considerada sua expressão mais primitiva. A mutação é a raiz do Mal, pois confere a coisas distintas o mesmo nome. Quando uma variável mantém seu valor pela eternidade, ela pode ser compreendida em isolamento. Por outro lado, quando seu valor é modificado, é preciso compreender sua história: está invocada a dimensão do Tempo, o Grande Ilusionista.
O mesmo pode ser dito das funções puras: Se uma função tem saída idêntica em termos das mesmas entradas, então ela escapou ao tempo. Deste modo, a identidade do Nome é respeitada: Pois o que escapa ao tempo pode ser invocado incontáveis vezes sem jamais perturbar seu entorno.
Não diferentes são os mecanismos dos planos superiores.
O versionamento de bibliotecas ilustra como este princípio ainda é constantemente violado.
O problema fundamental do versionamento é gerenciar breaking changes:
A biblioteca X expõe a função foo
na versão 1.
Contudo, a mesma biblioteca X altera o comportamento de foo
na versão 2.
Os clientes de foo
agora precisam descobrir se foo
vem da versão 1 ou 2, dado que o contrato foi rompido.
Assim se faz presente o Tempo.
As bibliotecas que resistirão aos dias estão livres do Tempo.
Não mudam o significado dos nomes.
Se necessário, recorrem a novos símbolos para expor interfaces modificadas.
Este princípio, como se vê, já se consolida em alguns planos. Em outros, ainda germina. O mestre hermético sabe que as Leis são universais: Cabe extrapolar as Leis para todos os planos, pois disto decorre a evolução da Prática.
O Princípio da Resposta
O princípio da resposta diz que “Todo estímulo tem uma resposta cujo tempo pode ser manipulado”. Esta máxima já foi redescoberta e exposta em infindas variações. Sua arcaica origem remonta a Aristóteles, que racionalizou que todo efeito provém de uma causa. Expressões mais recentes incluem Newton, na consagrada lei da ação e reação, e a obra cibernética de Wiener. Estas leis, contendo o fundamento dos princípios ocultos, já não incluem parte crucial do axioma hermético: que o tempo de resposta pode ser manipulado. Isto será compreendido em breve.
Não há decisão que seja episódica na alquimia computacional. Todo modelo será um dia confrontado com a própria realidade. Quanto mais demorada for a percepção do erro, mais penosa será a correção. Por isso é preciso falhar com barulho, falhar cedo, e falhar com frequência.
Falhar com barulho é o oposto de falhar silenciosamente, que é um dos erros mais fatais. Falhar silenciosamente é a violação mais básica do Princípio da Resposta: Pois nesta situação a resposta está ausente, e da ausência segue a inação, e da inação continuam os enganos, e dos enganos nasce o caos. No caos, a causalidade está envolta de neblina. Já não se revela a complexa cronologia dos fatos que eventualmente redundaram na percepção do erro.
Os iniciados nas artes herméticas não temem o erro, mas seu desconhecimento. Por isso, preferem que um código falhe escandalosamente a que prossiga com premissas duvidosas num silêncio farsante. Cuidam para que as entradas que alimentam um algoritmo sejam milimetricamente validadas. Mesmo o desconhecido, que por vezes tem de ser tratado, é especificado com rigor e cautela. Expelem qualquer traço de ambiguidade em seus desenhos, forçam para que tudo seja explícito e evidente.
Este princípio se faz presente dos níveis mais subterrâneos às abstrações mais altas. Quando se digita um caractere de código que seja, um linter pode acusar uma convenção descumprida. Nisto já se faz presente o Princípio da Resposta. Quando um código existente é alterado, testes unitários ou de integração podem falhar. Mais uma vez existe aí o Princípio da Resposta. Quando este mesmo código é submetido para revisão, os pares podem criticá-lo. Ali há também o Princípio, cuja natureza é tão humana o quanto técnica. E não raro todas estas etapas são satisfeitas, mas a execução do código produz erros. Se algum mecanismo de detecção e alerta, eis o Princípio da Resposta aplicado.
Os iniciados devem cuidar para que não se apeguem por demasiado a qualquer técnica específica do Princípio da Resposta. Pois é comum incautos travarem guerras defendendo, por exemplo, static typing, sem notarem que esta tática pode muitas vezes ser substituída por outras sem prejuízo ao Princípio, que é a verdade fundamental e primordial. O iniciado que alcança os céus mais elevados deve estar livre do apego, senão aos próprios princípios.