Objective-C

Origem: Desciclopédia, a enciclopédia livre de conteúdo.
Ir para: navegação, pesquisa


60px-Bouncywikilogo.gif
Para os neo-ateus que preferem acreditar em mentiras, os supostos experts da Wikipédia têm um artigo sobre: Objective-C.

Cquote1.png Minha linguagem preferida. Cquote2.png
Steve Jobs sobre Objective-C
Cquote1.png Objective-C, eu sou seu pai! Cquote2.png
Smalltalk sobre Objective-C
Cquote1.png Experimente também: C#. Cquote2.png
Google sobre Objective-C
Cquote1.png Linguagem C orientada a objetos. Cquote2.png
Capitão Óbvio sobre Objective-C


Objective-C é uma "extensão" da linguagem C, mas que ainda incorpora as coisas mais odiadas por noobs programadores iniciantes em C, como ponteiros e controle de memória na unha. É a linguagem mais usada para se programar num Mac, e mais recentemente, num iPhone/iPod Touch e seu irmão maior, o iPad.


História[editar]

Em meados de 1985, Steve Jobs foi demitido da fábrica de tortas Apple Computer por abusar dos seus poderes hipnóticos não concordar com as políticas da empresa que ele mesmo criou, e resolveu se rebelar da mesma. Abriu uma empresa chamada fábrica de cubos NeXT computer, e não tinha por onde começar. Então, conheceu uma linguagem nova, derivada da odiada tão amada linguagem C, mas que incorpora pedaços de Orientação a Objeto e Orientação à Gambiarras. Maravilhado com as burradas que os programadores fariam possibilidades da linguagem, pediu emprestado e nunca devolveu licensiou a linguagem para uso em seu novo sistema, o NeXTStep. Contando com frameworks incríveis, como o AppKit, ImageKit, SoundKit, GameKit, SteveKit, DesciclopédiaKit, PolishopKit, mais a ferramenta Photoshop para programadores Interface Builder, qualquer um poderia construir um aplicativo que emitisse sons de flatulências diversos quando o usuário apertasse um botão em algumas poucas horas. O problema é que ninguém conhecia o NeXTStep, e por isso tudo isso ficou mofando nos escritórios da NeXT por 312 anos. Por coincidência (ou não), a Apple estava à beira da falência nesse período, então ela resolveu re-admitir Steve Jobs como seu presidente vitalício. O Mac OS, nessa época, travava mais até que o Windows 98, então Jobs resolveu jogar todo o trabalho de anos e anos dos desprogramadores da Apple no lixo, e construir um sistema novo baseado no FreeBSD do zero em cima da sua linguagem-mega-ultra-super-master-blaster, Objective-C. (Isso depois inspirou uma outra certa pessoa a fazer um framework novo para um sistema que não tinha mais jeito ficar mais "moderno". Foi batizado de Visual Basic.NET)

Nos dias atuais[editar]

Hoje em dia, Objective-C é uma linguagem mais ou menos amplamente conhecida principalmente graças ao iPhone, visto que você só pode fazer um App comprando um PC de 8 mil reais Mac, e por isso é a principal fonte de renda a Apple atualmente. Para se fazer um aplicativo, o programador só tem de:

1-Passar 3 semanas lendo a documentação online da Apple, que mais faz propaganda da linguagem do que ensina.
2-Baixar o XCode, a única IDE que presta para Objective-C. O problema é que o XCode pesa 2,4 GB por update, então você é obrigado a esperar alguns minutos para baixar na sua Internet Discadaconexão de fibra ótica.
3-Tentar compreender como usar o Interface Builder.
4-Desistir das interfaces e tentar fazer um programa em linha de comando.

Repita os passos 3 e 4 até que você descubra como a bagaça funciona.

Frameworks[editar]

Uma das diferenças do Objective-C é o seu incontável número de Frameworks desenvolvidos pela Apple, para suprir a carência de coisas que podem ser feitas com C (ou seja: programas em linha de comando). Eis uma lista dos mais conhecidos:

NSObject. Não o esqueça, senão seu código NUNCA compilará.
  • Foundation (apelidado de "Concreto", serve para a base do aplicativo. O problema é que sempre vêm com essência de maçã misturada, o que significa que seu aplicativo sempre acaba lembrando o usuário mais da própria Apple do que do seu aplicativo. Existem jeitos de se contornar isso, porém)
  • Cocoa (como o nome diz, serve para fazer Leite com Chocolate para os escravos programadores cansados de digitar. Também vêm com botões, barrinhas de rolagem, e ícones bonitinhos para que o usuário siga a lei do menor esforço se acostume rapidamente com o seu aplicativo)
  • NSObject (não é um framework, mas assim como em SmallTalk, todos os objetos precisam de uma classe mestra. Essa classe é o NSObject. Você não pode fazer um objeto sem o NSObject. Se você não fizer um objeto que herda do NSObject, Steve Jobs vai corromper o seu Mac e você verá Kernel Panics toda vez que abrir o XCode, como punição por não seguir a documentação da Apple ser um bom programador)
  • Quartz (serve principalmente para acelerar a velocidade do Photochope, para que assim Designers tenham uma desculpa para que seus patrões troquem seus PCs velhos por Macs. Fora isso, é usado para mostrar gráficos e imagens na tela)
  • Quartz Extreme (extensão tunada e nitrada do Quartz, servido para acelerar gráficos ainda mais com a ajuda das placas de vídeo, de som, de rede, do processador do seu iPod, da sua TV, e do seu hamster, quando disponíveis)
  • A família Core (Core Audio, Core Graphics, Core Animation, Core Norris, Core Gambiarra, etc) (filhos dos antigos "Kits"; servem para a mesma coisa: facilitar a vida do progamador folgado, pois tudo o que poderia ser feito com 200 linhas de código macabro/obscuro não-documentado agora pode ser feito com 10 linhas de código que até sua mãe entende, incluindo os comentários. Chamar Chuck Norris para dar um Roudhouse Kick no usuário nunca foi tão fácil!)

Utilidade[editar]

A utilidade mais reconhecida de Objective-C é fazer aplicativos para iPhone, visto que existe mais gente no mundo com iPhones do que com Macs, e todos os programadores com Macs sonham em ficar ricos algum dia através da App Store. E já que o usuário médio de um iPhone é um cidadão de status elevado, que pode pagar um plano mensal de dados de 200 reais, os Apps também tém de acompanhar a tendência, seguindo os rígidos padrões de qualidade Apple. Atualmente, o maior sucesso da App Store se chama iFart (traduzindo: iPum). Logo atrás vem os de sabres de luz, os de botões que não fazem nada, os de 1000 dólares com jóias que giram na tela que não fazem nada, e os de rabiscar desenhar.