Smalltalk é o nome da mais popular linguagem orientada
para objetos existente. A expressão "orientada para objetos"
contrasta com as linguagens de programação convencionais, que são orientadas para programas e dados. A primeira linguagem a incorporar facilidades para definir classes de objetos genéricos na forma de uma hierarquia de classes e sub-classes foi a linguagem Simula [Dahl66], [Birtwistle et al.73]. Simula foi idealizada em 1966, na Noruega, como uma extensão da linguagem ALGOL 60.
Uma classe em Simula é um módulo englobando a definição da
estrutura e do comportamento comuns a todas as suas instâncias (objetos). Como o nome indica, é uma linguagem adequada à programação de Simulações de sistemas que podem ser modelados pela interação de um grande número de objetos distintos. As idéias de Simula serviram de base para as propostas de utilização de Tipos Abstratos de Dados [Liskov e Ziller 74], e também para Smalltalk. Smalltalk foi desenvolvida no Centro de Pesquisas da Xerox durante a década de 70 [Goldberg83], e incorporou, além das idéias de Simula, um outro conceito importante, devido a Alan Kay, um de seus idealizadores: o princípio de objetos ativos, prontos a "reagir" a "mensagens" que ativam "comportamentos" específicos do objeto. Ou seja, os objetos em Smalltalk deixam de ser meros "dados" manipulados por "programas", e passam a ser encarados como "processadores idealizados" individuais e independentes, aos quais podem ser transmitidos comandos em forma de "mensagens". Outras linguagens orientadas para objetos tem sido desenvolvidas, notadamente C++ [Stroustrup 86], uma extensão de C, Objective-C, outra extensão de C, menos popular que a anterior [Cox86], Pascal orientado a objetos [Borland92], Eiffel [Meyer88] e mais recentemente, no Brasil, TOOL [TOOL94], [Carvalho 93].
Além da Xerox, que criou a ParcPlace Systems especialmente para comercializar Smalltalk-80 e seus sucedâneos (ObjectWorks), a Digitalk lançou em 1986 uma versão de Smalltalk para ambiente DOS, e mais recentemente a versão para Windows, o que contribuiu para uma maior difusão da linguagem [Digitalk].
Smalltalk, assim como outras linguagens orientadas para objetos, tem sido usada em aplicações variadas onde a ênfase está na Simulação de modêlos de sistemas, como automação de escritórios, animação gráfica, informática educativa, instrumentos virtuais, editores de texto e bancos de dados genéricos, etc. Tais aplicações diferem substancialmente daquelas em que a ênfase está na resolução de problemas através de algorítmos, tais como problemas de busca, otimização e resolução numérica de equações. Para essas aplicações, é mais adequado o uso de linguagens algorítmicas convencionais, como Pascal, Algol e Fortran.
Clique na seta para voltar à página principal