Mosaico de Pensamentos e Textos

sábado, maio 13, 2006

Mãe e Entendendo Computadores


Por anos, atormentei minha mãe com questões sobre se Papai Noel era uma pessoa real ou não. Sua resposta era sempre: "Bem, você pergunta pelos presentes e eles vêm, não vêm?" Eu finalmente entendi o significado total de sua resposta quando ouvi a definição de uma aplicação virtual: "uma entidade de software ou hardware que responde aos comandos de forma indistingüivel de uma aplicação real". Minha mãe dizia que Papai Noel é uma pessoa virtual (simulada por pais amorosos) que responde aos pedidos das crianças de uma maneira indistingüível de um santo real.

Minha mãe também usava a estrutura SE ... ENTÃO ... SENÃO (IF... THEN... ELSE): "Se está nevando, então ponha suas botas antes de ir para escola, senão apenas coloque seus sapatos".

Minha mãe explicou a diferença entre arquivo de lote e processamento de transações: "Nós devemos lavar as roupas brancas quando tivermos bastante delas para fazer uma trouxa, mas devemos lavar essas meias agora à mão porque você vai precisar delas nesta noite".

Mamãe entendia de listas vinculadas. Uma vez, para uma festa de aniversário, ela montou uma caça ao tesouro com dez pistas escondidas, cada uma indicando onde estava a próxima, e a última apontando para o tesouro. Então, ela nos deu a primeira pista.

Mamãe sabia sobre erros de paridade. Quando ela contava meias ao voltar da lavanderia, esperava encontrar sempre o mesmo número e percebia quando só uma meia de um par emergia da máquina de lavar. E ela aplicava os princípios da engenharia de redundância a este problema, ao comprar três pares de meias idênticos a cada vez. Isso aumentava grandemente a chance de encontrar ao menos um par coincidente.

Mamãe reunia todos os nossos escritos infantis, então colocava-os em um único envelope com um único selo. Isso era obviamente uma instância de blocagem de gravações, para economizar dinheiro pela redução do número de operações físicas de entrada/saída (input/output - I/O).

Mamãe usava lembretes (flags) para facilitar o gerenciamento dos trabalhos domésticos. Sempre que ela ligava o fogão, punha um pegador de panelas sobre sua bolsa para se lembrar de desligá-lo andes de sair de casa.

Mamãe entendia de periféricos que emitem um sinal de interrupção para serem usados quando tenham completado alguma operação. Ela tinha uma sibilante chaleira.

Mamãe entendia de ordenamento LIFO (expressão inglesa para "primeiro a entrar, último a sair"): em minha lancheira ela punha a sobremesa embaixo, o sanduíche no meio e o guardanapo em cima, para que ficassem na ordem correta na hora do lanche.

Há uma antiga história de que Deus percebeu que não poderia estar fisicamente presente ao mesmo tempo em cada lugar. Então, para mostrar Seu amor por Suas pessoas, Ele criou mães. Eis a diferença entre processamento centralizado e distribuído. Como qualquer criança que esteja se comportando mal perto de casa vai descobrir, todas as mães nas redondezas falam umas com as outras. Isto é uma rede local de processadores distribuídos que não pode ser vencida.

Mãe, você foi o melhor professor de computação que eu tive.

Feliz Dia das Mães!

(David Martin)