APRESENTAÇÃO

Nos últimos anos, o interesse pela Orientação a Objetos (O-O) de um modo geral cresceu de forma acentuada, especialmente em Banco de Dados, Sistemas Operacionais e Análise e Projeto de aplicações, havendo já um consenso de que o paradigma será dominante nos próximos anos.

A utilização de Smalltalk como linguagem base para esse curso decorre do fato de Smalltalk ser uma linguagem uniformemente orientada a objetos, e não uma linguagem híbrida, como C++ e Object Pascal. Dessa forma, o aluno é levado a se concentrar somente em mecanismos voltados para o paradigma, evitando a ilusão de estar programando de forma O-O, quando na realidade está apenas utilizando uma linguagem que pode também ser programada de forma O-O. Além disso, Smalltalk é a linguagem mais tradicional no campo, tendo sido pioneira na introdução dos principais conceitos relacionados com a programação O-O, como métodos, mensagens, polimorfismo, encapsulamento, além de re-introduzir o conceito de classes e hierarquia de classes, originários da linguagem Simula.

O aprendizado de linguagens O-O é mais demorado que o das chamadas linguagens algorítmicas convencionais, em parte porque é necessário dominar uma quantidade muito maior de conhecimento para fazer uso efetivo do paradigma. Isso porque uma das idéias centrais é a re-utilização maciça de código, através da utilização direta de classes pré-fabricadas, ou de sua especialização através da criação de sub-classes para adaptá-las a situações específicas. Existe aqui um contraste significativo com a tradição da programação convencional, onde as linguagens são restritas a alguns poucos tipos e comandos elementares, de rápida absorção, e o programador procura principalmente criar programas próprios para resolver cada situação particular, com baixo índice de re-utilização de soluções para sub-problemas específicos.

Esse texto procura apenas apresentar algumas das características de uma linguagem O-O, sem a pretensão de oferecer um quadro completo, e muito menos a de formar programadores. Destina-se a um curso de aproximadamente 8 horas de duração, e seu objetivo é essencialmente o de introduzir conceitos. O leitor interessado deve procurar as referências no final do texto para se aprofundar no assunto.

Rio de Janeiro, julho de 1994.

Miguel Jonathan