Os encantos subjetivos do Objective-C

Internacional


Os objetos do Objective-C, enquanto isso, foram adornados com todos os prefixos do Caps que orgulhosamente identificaram seu criador. Alguns nomes domésticos debrutores, como o botão para fazer login em outro serviço com a sua conta de titular (TwtrLoginButton), ou os amigos do Facebook pop -up (FBFriendPickerviewController). Quando aprendi o Objective-C, o próximo não existia há mais de 15 anos, mas o código de seu próximo sistema operacional estava tão arraigado nos produtos da Apple que seu prefixo apareceu em dezenas de objetos e funções que eu usava todos os dias-Nsdictionary, nsarray, nstring, nslolog.

O Objective-C é prolixo-excessivamente excessivamente excessivamente-e essa propensão logo se transformou em minha própria perspectiva. Como um engenheiro poderia dizer a um computador exatamente o que fazer sem usar muitas palavras? Como um idioma poderia ser universalmente expressivo sem ser maximamente específico? A loquilidade do Objective-C não estava desatualizada-era um ethos que vale a pena lutar, por mais que machuque meus pulsos.

O gigante envelhecido

O primeiro e único trabalho de engenharia de software que eu tinha (antes de eventualmente sair para o mundo mais mole da política de tecnologia) estava desenvolvendo aplicativos para iPhone para um gigante envelhecido do Vale do Silício. A empresa estava em branco logo após a era da Internet, mas perdeu vários booms de tecnologia desde então e em 2013, estava determinado a não perder a última mania: aplicativos móveis.

O aplicativo em que trabalhei tinha apenas alguns anos, mas sua base de código já contou toda a história da empresa com honestidade inabalável em linhas de linhas de Objective-C. Prefixos distintos deram qual código havia sido herdado de startups adquiridas e revelou um conflito amargo sobre a troca de plataformas de análise. Nomes de funções ornamentados sobre os pivôs do produto e as telas pop -up extintas que deixaram para trás.

Mas quanto mais tempo gastei escrevendo Objective-C, mais eu sentia que isso se escondia do que revelado. Os nomes de funções longos e semelhantes a frases enterraram as informações mais pertinentes sob uma névoa de cláusulas dependentes. Pequenos recursos exigiam solicitações de tração longa, facilitando os engenheiros durante as revisões e os insetos. O excesso de palavras do Objective-C, multiplicado em milhares de arquivos e milhões de linhas de código, criado para uma base de código exaustiva.

Logo, meu carinho pela teoria da auto-expressão “mais é mais” do Objective-C desapareceu completamente. À medida que a base de código se expandia, sua rede de objetos se transformou em um bosque emaranhado de relacionamentos complicados que criaram superbactérias misteriosas e não rastreáveis. O burburinho das mensagens entre objetos subiu para uma cacofonia, e a maior parte do meu trabalho tornou -se descobrindo qual objeto enviando qual mensagem para quem fez o aplicativo travar ou a tela Configurações da maldição pareceu tão feia.

Quase um ano e meio de escrever objetivos-C profissionalmente, eu já estava tendo uma crise de fé. Tornei -me um engenheiro de software para perseguir o poder emocionante de transformar palavras em imagens em uma tela, mas essas palavras foram de empoderamento a onerosas. Mesmo os prefixos do Objective-C, que eu me senti uma história encantadora, me senti decadente-por que eu tive que digitar “NS” centenas de vezes por dia para prestar homenagem à startup de Steve Job? Eu não estava sozinho: os desenvolvedores de Mac e iPhone em todos os lugares ficaram frustrados por serem forçados a usar essa linguagem antiga e praticante. A Apple, como se vê, também estava pronta para a mudança. Eu, no entanto, não era.

Morte e renascimento

Leibniz escreveu pela primeira vez sobre Características Universal Em sua tese de doutorado, quando ele tinha 19 anos e trabalhou nela por quase 50 anos até pouco antes de sua morte aos 68 anos. Ele reimaginou a idéia de um “alfabeto do pensamento humano” inúmeras vezes, inspirando -se em matemática, lógica simbólica, hieróglifos, notas musicais, sinais astronômicos e quatro elementos (terra, ar, incêndios e incêndios). À medida que seu conhecimento dos mundos físicos e metafísicos crescia, Leibniz teve que reconceituar continuamente o que significava construir um sistema que refletia perfeitamente o universo.

Os programadores, na busca de um código cada vez mais expressivo e eficiente, passam por renascimento semelhante. Quando as deficiências de uma linguagem de codificação específica se tornam claras, uma nova linguagem reacionária hiper-fixa na solução desses problemas aumenta, até que também se torne hegemônica e o ciclo continue. Os princípios aceitos do que contribuem para o código expressivo evoluem e mudam juntamente com os avanços tecnológicos, levando os programadores a se tornarem nômades linguísticos.



Source link

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *