2006-07-29 07:17:46
tags: 

O Zen e a arte cavalheiresca da programação orientada a objeto (Parte 1)

(Para ver todas as partes desta série clique aqui)

Um grande abraço a todos que (ainda) acompanham o digitalminds! Já faz algum tempo, não? Estive ocupado com outras coisas não menos importantes e me faltou a combinação certa de assuntos e disposição para escrever por aqui. Finalmente acho que o momento de escrever chegou.

Nos últimos meses, além de me dedicar ao meu trabalho na 32Bits™ e ao Wasabi, me interessei profundamente por dois assuntos aparentemente desconexos: a prática do zazen, ou meditação zen sentada, e programação orientada a objeto, também conhecida como OOP (do inglês Object Oriented Programming). O que poderia ser comum a uma tradição milenar como o budismo zen e a um paradigma de programação criado no século XX? A explicação vai ser um pouco longa, me perdoem, mas garanto que a história é divertida!

Vamos começar voltando ao ano de 1985, quando fiz meu primeiro curso de programação. Naquela época, alguns de vocês hão de lembrar, a microinformática ainda estava dando seus primeiros passos, e os microcomputadores apenas começavam a chegar nas casas das famílias de classe média. Um belo dia, depois de uma viagem de uma tia aos Estados Unidos, me vi diante do meu primeiro computador: um legítimo Commodore Vic-20, novínho em folha.

Pra ser muito franco, dizer que era o "meu" computador é um certo exagero, já que a razão principal da compra do aparelho era a paixão do meu pai por xadrez. De fato, como o computador tinha apenas 8k de memória, não dispunha de disco rígido (disco rígido?) e nem mesmo tinha um adaptador para gravador cassete, sua única utilidade prática era rodar o programa que estava no cartucho "Sargon II Chess".

Essa estranha combinação de fatores trouxe uma consequência muito interessante: quando eu retirava o tal cartucho, o prompt característico do CBM Basic V2 aparecia, mostrando a enorme memória livre de 3583 bytes e fazendo a minha imaginação criar todo tipo de programas que se possa imaginar. Aquele cursor, piscando ali na tela, era quase uma provocação.

Direto do manual, em inglês, fiz meu primeiro programa:

10 print "*"
20 goto 10

Uau. Um novo universo estava se abrindo diante dos meus olhos. Segundos depois, o desespero: "Mas como é que eu paro isso", pensei. A tela cheia de asteriscos, cadê o cursor? Estava claro que precisava entender melhor aquilo tudo.

(Continua)