Objective-C
Objective-C, denominado frequentemente de ObjC ou mais raramente de Objective C ou Obj-C, é uma linguagem de programação reflexiva orientada a objecto que adiciona transmissão de mensagens no estilo Smalltalk para o C.
Hoje em dia, é utilizada principalmente no Mac OS X e GNUstep, dois ambientes baseados no padrão OpenStep e é a principal linguagem utilizada nos aplicativos estruturais NeXTSTEP, OPENSTEP e Cocoa. Programas genéricos em Objective-C que não façam uso destas bibliotecas também podem ser compilados por qualquer sistema suportado pelo gcc, que inclui um compilador Objective-C.
Índice |
[editar] Histórico
O ObjC foi criado principalmente por Brad Cox e Tom Love no início da década de 1980 na empresa deles, a Stepstone. Brad havia tido seu interesse despertado por problemas de reusabilidade em projecto de software e programação. Para demonstrar que progresso real podia ser feito, Cox provou que componentes de software necessitavam apenas de umas poucas mudanças práticas nas ferramentas existentes. Especificamente, eles precisavam dar suporte a objetos de modo flexível, possuir um conjunto de bibliotecas funcionais e permitir que fossem empacotados num único formato multiplataforma.
A principal descrição do Objective-C em sua forma original foi publicada no livro de Cox, Object-Oriented Programming, An Evolutionary Approach, de 1986. O autor teve o cuidado de ressaltar que o problema é mais da reusabilidade do que da linguagem, embora, apesar disso, o sistema freqüentemente seja comparado numa base característica-por-característica com outras linguagens.
[editar] Popularização através do NeXT
Em 1988, a NeXT de Steve Jobs licenciou o Objective-C da StepStone (a dona da marca registrada Objective-C) e liberou sua própria versão do compilador e das bibliotecas da linguagem nas quais a interface do usuário e da estrutura NeXTstep eram baseadas. O sucesso das ferramentas e a qualidade do sistema operativo resultante ajudaram a NeXT a ocupar um nicho de provedor de workstations bastante popular.
O projeto GNU começou a trabalhar em seu clone livre do NeXTStep baseado no padrão OpenStep, o GNUstep. Dennis Glatting escreveu o primeiro runtime do gnu-objc em 1992, e Richard Stallman criou o segundo pouco depois. O runtime do GNU Objective-C que tem estado em uso desde 1993 é aquele desenvolvido por Kresten Krab Thorup, quando ele era estudante universitário na Dinamarca. Kresten também trabalhou para a NeXT por algum tempo.
Depois de adquirir a NeXT em 1996, a Apple usou o OPENSTEP como base para seu principal sistema operativo, o Mac OS X. Isto inclui o Objective-C e a ferramenta de desenvolvimento NeXT's Objective-C, o Project Builder (mais tarde substituído pelo Xcode), bem como sua ferramenta de projeto de interface, Interface Builder.
A maior parte da presente API Cocoa da Apple está baseada na interface de objetos OpenStep, e este é o mais significativo ambiente Objective-C sendo usado para desenvolvimento ativo.
[editar] Sintaxe
O Objective-C é uma camada muito fina construída sobre a linguagem C e constitui-se num superconjunto estrito de C. Ou seja, é possível compilar qualquer programa C com um compilador Objective-C. O Objective-C deriva sua sintaxe tanto do C quanto do Smalltalk. A maior parte de sua sintaxe (incluindo pré-processamento, expressões, declaração e chamadas de funções) foi herdada da linguagem C, enquanto a sintaxe para os aspectos orientados a objetos foi criada para habilitar passagem de mensagens no estilo Smalltalk.