2006-11-18 03:25:25
tags: 

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

Olá pessoal, depois de mais um longo e tenebroso outono(?!) de muito, muito trabalho estamos de volta. Muito obrigado por todos os comentários e emails, mesmo estando totalmente atolado de trabalho na 32Bits™ eu tento ler todos e respondê-los o mais rapidamente possível. Pra quem tá chegando agora no blog, meu email é danilo[arroba]digitalminds.com.br e você pode ver todos os artigos dessa série clicando no título deste post, ok?

Bom, muitos escreveram perguntando sobre os gnomos. Quando eles vão aparecer nessa tão complexa trama? Qual é sua verdadeira identidade? O máximo que posso dizer é que eles tem contrato para 7 temporadas, e que talvez as respostas ainda demorem um pouco a vir... (funciona pro Lost, não? ;-)

Mas voltando ao que realmente interessa, OOP, ou object-oriented programming, hoje quero preparar o terreno para os próximos episódios. Agora que os conceitos principais já foram apresentados a vocês (se você ainda não sabe o que são classes, subclasses, interfaces, etc, talvez seja bom dar uma olhadinha nos artigos anteriores) gostaria de começar a parte Zen de nossa série. Como nossa marca registrada é gastar metade do artigo falando sobre coisas que são apenas marginalmente relacionadas ao assunto principal, vou tentar explicar o que é Zen em apenas uma palavra, sem nenhum compromisso de conseguir. Vamos lá:

Prática.

Talvez seja mais simples enumerar tudo o que o Zen não é. Zen não significa calma. A frase "Fulaninho é Zen, não se irrita com nada" basicamente não significa nada. Zen não é um conceito esotérico. Zen não é magia, tampouco feitiçaria.

Prática. Contar diariamente de um até dez. Koan. Tornar-se um com o arco. Concentração. Mente de principiante. Buda. E por aí vai.

E o que tudo isso tem a ver com OOP? Bem, caros leitores, a experiência de programação em oop só pode ser totalmente vivida na prática diária. Ler sobre oop é ótimo, mas é como olhar para o dedo que aponta para a Lua, e não olhar a Lua propriamente dita. Como verdadeiramente aprender estes conceitos? Vivendo-os. Como quebrar os Koans das classes, interfaces e patterns?

Recebi alguns emails pedindo que desse exemplos do uso da OOP em situações do dia-a-dia. Muito bem, então vamos começar uma nova etapa dessa série: Digitalminds 2.0.

Já faz tempo que quero refazer o Digitalminds Blogging Engine, que mesmo tendo esse nome bastante pomposo é um script muito furreca, todo remendado, escrito na correria entre trabalhos. Então, vamos nessa? Vamos refazer juntos o DBE, usando os conceitos que falamos, e, ao final do projeto, lançamos o DBE como um produto open source para livre download?

Acho que é uma idéia legal. Tudo bem que já existe o WordPress, etc e tal, mas... se a gente for por aí, TUDO já existe. A idéia é aprender e curtir o processo. Quem se habilita?

Até a próxima. Não percam o próximo artigo, vamos listar nossas premissas para o projeto e quero as opiniões de vocês. Abraço.

23 Comentários:

[Nelson]  Finalmente apareceu :), eu me habilito.  [REPLY]

[Tarcísio Sassara]  Oh! Essa vai ser boa. Estarei acompanhando de perto.  [REPLY]

[Diego]  Muito boa essa série... Cheguei aqui pelo RSS do Bruno Torres... Gostei muito dos artigos ... A parte de OOP sempre foi meio obscura para mim... E seus artigos esclareceram bem o conceito!!! Vou continuar acompanhando...   [LINK]  [REPLY]

[Filipe]  Tô nessa, tb!!!  [LINK]  [REPLY]

[Edi Eco]  Muito bom o artigo. Há algum tempo estou tentando melhorar minha codificação, com certeza essa série irá ser de grande ajuda no meu caminho. Também comecei a programar há muitos anos, em um TK85 usando as antigas revistas Inputs como referência, e depois de todos esses anos vejo que está na hora de evoluir. Obrigado e Abraços.  [REPLY]

[danilo]  Valeu Nelson! Grande Abraço  [REPLY]

[danilo]  Obrigado Tarcísio! Até lá.  [REPLY]

[danilo]  Muito obrigado Diogo, o Bruno é chapa faz tempo! Abração.  [REPLY]

[danilo]  Valeu Filipi!

[danilo]  Muito obrigado, Edi. Vamos nessa!  [REPLY]

[Sérgio]  Beleza de artigo, Danilo! Muito divertido e explanatório como poucos conseguem. Vim também pelo rss do Bruno Torres e agora vou voltar sempre. []´s  [REPLY]

[Cristóferson Bueno]  Opa Danilo, sumido cara. O DM só não tá mais parado que o ConversaDeBar rsrs... To pra te falar que apesar de já existir WordPress, Typo e afins eu topo ajudar nesse projeto, to querendo mudar o CdB também, talvez esse seja o momento :) Abração até mais.  [REPLY]

[Leandro]  Olá Danilo, até que enfim :) ... Achei muito boa a idéia, to engatinhando no OO, e estou querendo ajudar no que for possível. Ainda não tenho nenhum site porque sempre quis fazer o meu sem utilizar alguma coisa pronta como o wordpress e acho que essa é a hora. Até mais...  [REPLY]

[tigo]  não tenho o nível da galera aqui mas se der eu ajudo.  [REPLY]

[Tiagomac]  Opa, vamos nessa, eu já to presente :)!  [REPLY]

[danilo]  Valeu Sérgio, vamos lá!

[danilo]  É isso aí Leandro. Espero que curta.   [REPLY]

[danilo]  Cristóferson! Até que enfim apareceu! Grande Abraço.  [REPLY]

[Cristóferson Bueno]  Pois é cara, to sumido mesmo, as coisas andam meio agitadas pro meu lado, to estudando pro mestrado e desenvolvendo um framework web em C# para a empresa que trabalhando atualmente. Isso tá me consumindo tempo de mais : ) Mas to querendo me organizar e voltar a ter uma vida ativa na web tbm rsrs... nem meus feeds tenho lido ultimamente! Os artigos de OO estão legais, vou escrever alguns sobre Design Patterns, assim aproveito o que eu já tenho estudado e trabalhado ;) Um abraço Danilo!  [REPLY]

[Négris]  Excelente post cara!!! Adorei mesmo... Se quiser mais uma cabeça pensante no upgrade do DigitalMinds pode contar comigo!!  [LINK]  [REPLY]

[danilo]  Valeu Négris! Conto com você!  [REPLY]

[Emiliano ESB]  Opa! tamos aê! Me hablite!  [REPLY]

[Junio]  Estou curtindo muito seus artigos, lendo, relendo-os e digitando linha por linha vou aprendendo contigo.Um forte abraço e sucessos par ti!  [REPLY]