Programação e Ácido Nucleico
Com a popularização da engenharia genética, nos anos 90, uma sigla virou um adjetivo comum: DNA. O Ácido Desoxirribonucleico (ou ADN, como era chamado antes de virar mora) é a qualidade que indica “essência original”, ou seja o fundamento básico no qual um objeto ou ideia foi construído. Exemplos: DNA Tipográfico, DNA de Marca, DNA do Carro, etc.
Geneticamente falando, DNA é a substância que armazena as informações hereditárias, responsáveis pela composição biológica de cada ser vivo. Cada indivíduo tem o seu. O meu é muito semelhante ao seu, mas tem muita diferença entre os dois. E cada espécie possui uma quantidade diferente de agrupamentos de DNA, que são os Cromossomos.
Tudo muito interessante… Mas o que isso tem a ver com Programação?
Da mesma maneira que os cromossomos agrupam os gênes disponíveis para um ser vivo, as Linguagens de Programação padronizam instruções para um computador. Cada comando corresponde a um gene. E assim um programa, site ou arquivo de imagem ou música é formado.
Os genes de DNA são compostos por 4 substâncias básicas: Adenina, Timina, Guanina e Citosina. Enquanto cada Byte de uma programação é composto por um combinação de 8 Bit: (cada bit vale ou 0 ou 1 – nem mais que um, nem menos que um, e nenhum valor fracionado intermediário).
É claro que isso tudo é uma comparação inevitável. Mas, durante minhas férias, estou fazendo alguns vídeos-cursos de web-design. Não se pode construir um site sem conhecer linguagens de programação. E quanto mais com linguagens você aplicar a sua página, mais cromossomos terá o seu “ser”. Só com CSS você não faz um site. Com HTML puro, dá para fazer páginas ber “ortogonais”, mas com muito pouco apelo visual. Com PHP a página ganha interação. Com Javascript acrescenta-se dinamismo. E se tudo isso for ligado a uma Base de Dados MySQL, é possível separar estrutura e conteúdo, e então “o meio ambiente passa a interferir do crescimento e características do indivíduo”.
E repare que as semelhanças entre biologia e informática são realmente grandes:
- Um vírus não possui um cromossomo, apenas alguns genes avulsos de DNA, as vezes de RNA (Ácido Ribonucleico é a “execução do comando genético”). Ao ligar seus gênes ao DNA de uma célula específica, compatível com suas instruções, o Vírus se multiplica, e acaba destruindo sua célula hospedeira.
Se trocarmos “DNA” por “Linguagem”, “genes” por “comandos”, e “células” por “programas” não preciso explicar porque os vírus de computador têm esse nome;
-
Os seres do Reino Monera (bactérias) possuem apenas um cromossomo, são estáticos, as únicas coisas que fazem é se reproduzir e digerem matéria orgânica. Essa digestão produz substâncias que podem ser prejudiciais ou benéficas a outros seres.
Um programa, baseado em apenas uma liguagem, pode ser de extrema utilidade e funcionalidade ao computador, mas certamente não será muito “configurável”, nem algo para ficarmos mexendo a toda hora;
-
Os Protozoários possuem mais cromossomos que os Moneras, o que lhes permite algumas funções mais complexas como locomoção e troca de informações genéticas com indivíduos da mesma espécie. Os protozoários são células que quase demonstram um grau mínimo de inteligência.
Acrescentando linguagens a um programa, ele se torna mais complexo e funcional;
-
Seres pluriceluláres (fungos, vegetais e animais) são “multitarefa”. Embora possua um grupo de cromossomos idêntico em todas as células, elas se desenvolvem de maneira totalmente diferentes, agrupando-se em unidades maiores, os tecidos, que adquirem funções complexas e coordenadas, formando os órgãos. Cada órgão é responsável por uma atividade (interna ou externa) do ser.
Um sistema operacional, por exemplo, reúne diversos aplicativos (“nativos” ou não), arquivos de sistema, que fazem o computador desempnhar diversas funções simultaneamente. Se remover alguns aplicativos, o sistema continua funcionado sem problemas. Mas se rmover um que exerça uma função vital, você “mata” o computador.
Acho que nada resume melhor essa semelhança é o desenvolvimento de inteligência artificial. Não me refiro à Skynet ou a Matrix, nem aos robos “marcianos” Spirit e Oportunit, mas as coisas mais presentes como uma busca no Google ou o acerto automático do relógio do celular.
Não sei se um dia as máquinas dominarão o planeta, mas pelo menos a humanidade elas controlam a muito tempo.