07/07/2009

Nascidos no mundo OO

Primeiramente gostaria de agradecer pelo convide para postar no blog da umaideia. Acreditem, estou entusiasmado por participar deste grupo tão especial.

Pretendo contribuir abordando assuntos relativos à Engenharia de Software e desenvolvimento, e sempre com textos altamente "hipertextualizados". Mas vamos ao que interessa:

Assim como observamos novas gerações na era da informação que não vivem sem ferramentas como o e-mail desde o nascimento, encontramos um cenário análogo na área de desenvolvimento: novas gerações de programadores Orientados a Objetos. Parecerá estranho caso você seja um deles, mas acredite, existem outros mundos.

Na verdade esta tendência é bem antiga, sendo forte desde o início da década de 90 (antiga "se" considerarmos a curta vida da área). Um exemplo deste processo foi a adequação de algumas linguagens de script que, após serem criadas sob o paradigma procedural, adequaram sua estrutura ou são adequadas durante o desenvolvimento através de recursos escusos (vide POG) na busca de um projeto que comporte o paradigma OO.

Mas como explicar este fenômeno? As respostas são diversas: o paradigma OO se aproxima da forma como descrevemos e entendemos o mundo. Ou seja, é natural e intuitivo estruturarmos o problema em dados e operações através de analogias com entidades do mundo (real?), como por exemplo um carro. Sendo assim, mapeamos suas características (cor, tamanho, modelo...) em campos (ou atributos), e suas ações em métodos (acelerar, frear, abrir porta...). Se perdeu ou quer continuar? Clique aqui.

Além destas, existem inúmeras outras razões para a ascenção do paradigma OO, tais como a facilitação de aspectos como modularidade, reuso, baixo acoplamento... Mas vou parando pois a lista é longa. Finalmente, vale lembrar que este paradigma de longe não resolve todos os problemas, mas isto fica para um outro post.

Está usando ou quer usar OO?

Pressman, R. S.; Engenharia de Software, McGraw-Hill, 2006

Fowler, M., UML Essencial: Um breve guia para a linguagem-padrão de modelagem de objetos, Bookman, 2005

Jacobson, I. Et all; Object-Oriented Software Engineering: A Use Case Driven Approach, Addison- Wesley, 1995

3 comentários:

Ricardo Souza disse...

Cara, você explicou melhor que o meu professor da Faculdade. rs. Parabéns pelo post. Já era fã do blog, agora ficou melhor ainda. Abç.

Rafaela disse...

Seja bem vindo Wagner Schau. Parabéns pelo post e esperamos o próximo.

Anônimo disse...

É legal a ideia de posts meio universitários. Se existisse o seu post 1 mês atrás eu teria tirado uma nota melhor no meu trabalho de Teoria de Sistemas da Informação.