| Core War |
|
homepage |
|
Em 1949, surgiam as raízes dos modernos virus de computadores, ao ser publicado o artigo "Theory and Organization of Complicated Automata", por John von Neumann, mostrando como um programa de computador poderia se reproduzir. "Core War" é um tipo de programação com esta característica, onde os programas são "organismos" que rodam simultaneamente em um computador, como predadores, com o objetivo de destruir outros programas da memória e evitar serem destruidos. Neste sentido, o propósito do Core War é mais alto do que as outras linguagens: é o propósito da sobrevivência. Core War se tornou popular e evoluiu em sofisticados jogos com estratégias e contra-estratégias. Os programas podem se multiplicar, sofrer mutação, criar mini-programas auxiliares, se auto-reparar quando atingidos por um inimigo, observar o comportamento dos outros programas, saber como fugir de ataques, etc. Para realizar suas funções, os programas habitam um ambiente ("arena") que é na verdade uma área da memória do computador. Quando os programas são lançados na arena e começam a ser executados, a tela do computador pode mostrar o estado da memória do computador, com cores diferentes para cada um dos programas. A cada ciclo de processamento, o computador executa uma instrução de cada programa. Assim, é possível ver a evolução dos programas (onde eles estão se posicionando, se duplicando, atacando etc.) através do tempo. Para rodar um programa escrito em Redcode, é preciso utilizar um programa simulador chamado MARS (Memory Array Redcode Simulator). Os programas Core War trocados pela Internet ou, antigamente, através das BBS's e são utilizados em torneios. O criador de um programa não costuma conhecer previamente o comportamento do programa inimigo. Vírus de computadores possuem semelhanças com programas Core War, porém utilizam não uma região reservada na memória e sim a região usual de trabalho. Além disso os virus costumam ser muito mais complexos em funções que não são apenas de replicação e ataque a outros programas. A linguagem para criar um programa Core War é chamada de "Redcode" e é um tipo de dialeto da linguagem assembler. Alguns exemplos de programas bem pequenos escritos em Redcode estão abaixo, mostrando seu código (genótipo) e o comportamento (fenótipo):
|
| Rodrigo A. Siqueira |