Pesquisa · Mapa mental

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.

Fonte: Wikipédia (pt)Atualizado em 20/07/2026
01

Histórico

Imagem: heipei · BY-SA · Openverse

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.

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.

02

Sintaxe

Imagem: rbieber · BY-NC-ND · Openverse

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.

03

Mensagens

Imagem: kitware · BY-ND · Openverse

O modelo de orientação a objeto do Objective-C é baseado na passagem de mensagens para instâncias de objeto.No Objective-C, não simplesmente se chama um objeto, envia-se uma mensagem. Diferente do modelo de programação estilo Simula usado por C++.A diferença entre estes dois conceitos está na forma como o código referenciado pelo nome de mensagem ou método é executado.Em uma linguagem estilo Simula, o nome do método é na maioria dos casos, ligados a uma seção de código na classe de alvo pelo compilador. Em Smalltalk e Objective-C, o alvo de uma mensagem é resolvido em tempo de execução, com o objetivo de receber-se interpretar a mensagem.Um método é identificado por um seletor ou SEL - uma string terminada em NUL representando o seu nome - e converte-se a um ponteiro de método C , implementando-o: um IMP.Uma consequência disto é que o sistema de transmissão de mensagens não tem nenhuma verificação de tipo. O objeto ao qual a mensagem é dirigida - o receptor - não é garantido que responda a uma mensagem, e se isso não acontecer, ele simplesmente gera uma exceção.

Vídeos recomendados

Fontes consultadas

Continue pesquisando