Mostrando postagens com marcador Programação. Mostrar todas as postagens
Mostrando postagens com marcador Programação. Mostrar todas as postagens

Fim da Programação: 5 mitos sobre o fim da programação de computadores

Com o avanço da Machine Learning, uma pauta e discussão muito comum é: a programação vai ficar obsoleta algum dia?

Será o fim da programação de computadores?

Mito 1:Machine Learning tornará a programação irrelevante”





Inteligência artificial e Machine Learning são dois temas absurdamente interessantes e fascinantes de se estudar, e programar. Porém, eles não criam algo (pelo menos ainda).

São humanos que criam coisas, que são criativos e trazem novos conceitos e utilidades.
Então, não se preocupe: pode estudar programação a vontade, não é um ramo que tão cedo vai deixar de existir.

Muito, mas muitíssimo pelo contrário mesmo: cada vez mais coisas precisam de programação, de código, de automação.

O próprio Google, pioneiro em ambos assuntos, continuar a contratar cada vez mais programadores.
É a profissão do futuro.

Mito 2: "Está cada mais fácil criar um website, por isso não precisamos saber codar".

Certamente você já viu aqueles serviços de criação de sites, onde você coloca sua página no ar sem saber absolutamente nada de codificação, mesmo HTML.






É só clicar, arrastar, posicionar, digitar o texto e pronto, tudo fica bonitinho.
Mas isso tem um custo.

Muita, mas muita coisa mesmo acontece por 'trás das cortinas', para que isso seja possível.
E detalhe: é algo que serve pra todos, ou seja, não é nada específico e voltado para você e seu projeto.

Alguém que sabe programar vai criar algo muito mais enxuto, específico e focado em algo.
Atirar pra todo lado raramente é uma ideia boa em computação.

Ah, e alguém teve que programar esses serviços, para fazerem isso.

Mito 3: “Os desenvolvedores estão sempre reinventando o mesmo aplicativo, resolvendo exatamente os mesmos problemas.”

Não há nada de errado nisso.
Você pode fazer um programa de mil linhas. Vem outra pessoa, estuda, altera e faz ele melhor, mais rápido, mais conciso e mais abrangente com 500 linhas.






Isso é engenharia, e é bom. Estão melhorando e aperfeiçoando cada vez mais as coisas.
Mas não se engane: já existe muita, mas muita coisa pronta e otimizada para uso.

Por exemplo, as bibliotecas padrões de algumas linguagens, já foram testadas por bilhões de pessoas, zilhões de códigos e zilhões de horas de uso. E está tudo pronto, feito e otimizado.

Isso é super saudável, e se alguém descobrir um jeito melhor de fazer algo: isso é bom!
Estude o que já foi feito, aprenda, tente melhorar, isso vai te transformar em um excelente programador.

Mito 4: “Alguém me disse que é possível construir uma rede social em poucas semanas. Logo, Facebook, Instagram...vão todos morrer ”

É provável que tenham um fim, um dia, como MSN ou Orkut.
Mas por um bom motivo: alguém criou algo novo, que interessa mais as pessoas.

E sim, tem serviços para criação de redes sociais. Mas não são nadas originais, nada personalizadas e dificilmente alguma vai emplacar...as pessoas só migram de rede social se tiver alguma vantagem, algo de diferente nessa nova rede.

E por mais que seja possível criar sistemas parecido com outros que já existem, de uma maneira super simples e rápida, jamais ele vai ficar tão otimizado quanto um sistema criado e programado do 0.

Realidade: Na superfície, pode parecer fácil criar aplicativos que parecem com outros aplicativos. Mas em empresas do mundo real, o código e vários sistemas podem se tornar cada vez mais complexos. Na programação, existe um conceito conhecido como Lei das Abstrações Perdidas. Estes são sistemas que fazem muito trabalho, mas escondem um certo nível de detalhe. E para produtos (como o Facebook) que suportam milhões ou até bilhões de usuários, é preciso haver muitas abstrações (basicamente sub-problemas) que podem ser gerenciadas por equipes separadas.

No mundo real, você precisa de sistemas complexos de código para suportar o tipo de escala maciça que vemos nos principais produtos. Você precisa de engenheiros de software para criar e manter essa infraestrutura, e você precisará deles por muito tempo.

Mito 5: "A programação é tediosa, chata e difícil".

Certamente quem disse isso nunca estou por um de nossos projetos (Java Progressivo, C Progressivo, Python Progressivo, JavaScript Progressivo...)

É muuuuuuuito legal programar, pra quem tem interesse, claro.

Eu mesmo já fiz e conheço pessoas que trabalhavam como programadores o dia inteiro e adivinha o que faziam quando chegavam em casa? Programavam, faziam seus próprios projetos, jogos, aplicativos...

Programação é apaixonante pra muita gente, é viciante.
Pode criar algo, fazer com que o computador faça algo que você mandou, de uma maneira bem orquestrada e eficiente, é das coisas mais interessantes que uma pessoa pode fazer.

Não é por menos que muitas escolas no mundo afora já inseriram a programação de computadores como uma matéria de estudo, de tão importante que é.

O que é Objective-C? O Guia Completo Sobre a Linguagem que Fundamentou a Apple

iPhones, iPads, Macs, Apple Watches... É impossível olhar para o cenário tecnológico global sem reconhecer o impacto avassalador da Apple. A gigante de Cupertino transformou a forma como consumimos software, design e hardware premium. Mas você já parou para pensar no código por trás dessa engenharia de ponta? Nada disso se programa sozinho.

Se você quer entender a fundo como o ecossistema de software da Apple foi construído e por que ele é tão incrivelmente estável, você precisa conhecer a linguagem que Steve Jobs escolheu para pavimentar esse império: o Objective-C. Nesta edição do nosso guia "Comece a Programar", vamos fazer uma imersão profunda na história, na arquitetura e no papel estratégico dessa linguagem no mercado de desenvolvimento.

A Origem de Tudo: O que é a Linguagem Objective-C?

O Objective-C é uma linguagem de programação de uso geral, orientada a objetos, criada no início da década de 1980 por Brad Cox e Tom Love. A proposta central da linguagem era genial e elegante: pegar a robustez, a velocidade e a eficiência em nível de sistema da Linguagem C e fundi-la com o paradigma puro de orientação a objetos e troca de mensagens do Smalltalk.

O resultado dessa fusão foi uma linguagem híbrida ultra-potente. O compilador do Objective-C é, essencialmente, uma extensão do compilador C. Isso significa que qualquer código escrito em C puro é um código Objective-C válido. Se você já tem alguma familiaridade com a lógica do C tradicional ou C++, você já tem meio caminho andado para compreender a estrutura base da engenharia Apple.

A História de Cinema: Steve Jobs, NeXT e a Escolha Estratégica

A ascensão do Objective-C ao topo do mundo da tecnologia parece roteiro de filme. Em 1985, após ser afastado da Apple (a empresa que ele mesmo fundou), Steve Jobs criou uma nova companhia de computadores chamada NeXT. Para equipar as estações de trabalho da NeXT com um sistema operacional revolucionário, Jobs e sua equipe licenciaram o Objective-C como a linguagem principal de desenvolvimento.

Eles criaram o NeXTSTEP, um sistema operacional cujos frameworks de interface e gerenciamento eram totalmente escritos em Objective-C. Em 1996, a Apple enfrentava crises técnicas com seus sistemas operacionais antigos e decidiu comprar a NeXT. Steve Jobs retornou triunfante à liderança da Apple, e a tecnologia da NeXT tornou-se a espinha dorsal do que hoje conhecemos como macOS e iOS.

"Até hoje, quando você programa para sistemas Apple e se depara com prefixos como 'NS' em classes como NSString ou NSArray, você está vendo as iniciais de 'NeXTSTEP'. É a assinatura histórica de Steve Jobs viva dentro do código."

O Cenário Atual: Objective-C e a Transição para o Swift

No desenvolvimento de software, o tempo não para. Embora o Objective-C tenha reinado de forma absoluta por décadas na criação de aplicativos para iPhone e Mac, a Apple introduziu uma nova linguagem em 2014: o Swift. O Swift foi desenhado para ser mais moderno, seguro e rápido de escrever.

No mercado atual, o Swift é a escolha padrão para novos aplicativos na App Store. No entanto, se engana profundamente quem pensa que o Objective-C morreu ou perdeu sua relevância comercial. Grandes corporações, aplicativos bancários consolidados, engines de jogos antigos e os próprios componentes internos do núcleo do macOS/iOS ainda possuem milhões de linhas de código em Objective-C. Engenheiros de software que compreendem o funcionamento do Objective-C e sabem como integrá-lo com o Swift através de bridging headers são profissionais altamente valorizados e disputados para manutenção de grandes infraestruturas corporativas.

Acesso Vitalício Promocional

Domine a Programação de Verdade: Inscreva-se no Mega Pack do Projeto Progressivo

Não seja apenas mais um digitador de código que depende de inteligência artificial até para criar loops simples. Se o seu objetivo é construir uma carreira sólida e altamente lucrativa, você precisa entender os fundamentos de arquitetura, compiladores, orientação a objetos avançada e gerenciamento de memória.

🔥 O Que Inclui: O acervo completo de todas as nossas apostilas premium de programação (C, C++, Estruturas de Dados, Java, Python, Web) reunidas em um único ecossistema, além de códigos comentados de ponta a ponta.

🚀 Quero o Meu Mega Pack - Começar Agora Garantia de atualização contínua e suporte exclusivo da nossa comunidade de desenvolvedores.
Coleção Completa de Apostilas - Mega Pack Projeto Progressivo Todas as Apostilas do Projeto Progressivo

A Anatomia de um Código Objective-C: Mensagens e Sintaxe

O que realmente assusta ou fascina os novos programadores ao olharem para o Objective-C pela primeira vez é a sua sintaxe exótica baseada em colchetes. Enquanto linguagens tradicionais chamam métodos usando a notação de ponto (ex: objeto.fazerAlgo()), o Objective-C adota estritamente o envio de mensagens do Smalltalk (ex: [objeto fazerAlgo]).

Veja um exemplo clássico de estrutura de código em Objective-C declarando uma classe simples para manipulação de dados:

#import <Foundation/Foundation.h>

// ---- INTERFACE da Classe (Equivalente ao arquivo .h) ----
@interface Programador : NSObject {
    NSString *nome;
    int anosExperiencia;
}
- (void)definirNome:(NSString *)novoNome;
- (void)exibirDados;
@end

// ---- IMPLEMENTAÇÃO da Classe (Equivalente ao arquivo .m) ----
@implementation Programador
- (void)definirNome:(NSString *)novoNome {
    nome = novoNome;
}
- (void)exibirDados {
    NSLog(@"Desenvolvedor: %@ | Focado em Ecossistema Apple.", nome);
}
@end

// ---- FUNÇÃO PRINCIPAL EXECUÇÃO ----
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // Instanciando o objeto enviando mensagens por colchetes
        Programador *dev = [[Programador alloc] init];
        
        [dev definirNome:@"Steve Jobs"];
        [dev exibirDados];
    }
    return 0;
}

Analisando o código acima, percebemos que o fluxo de compilação exige uma separação clara entre a interface (o contrato do que a classe faz) e a implementação (o código que executa a ação). O uso do caractere @ antes de palavras-chave como @interface, @implementation e de strings (@"Texto") é a marca registrada que avisa ao compilador que estamos utilizando as extensões orientadas a objetos da linguagem.

Como Começar a Estudar Objective-C Sem Gastar Nada?

Embora as ferramentas oficiais de desenvolvimento da Apple (como o ecossistema integrado da IDE Xcode e os SDKs nativos) funcionem perfeitamente em computadores Mac, você não precisa necessariamente investir em um hardware caro da Apple para começar a dar os seus primeiros passos na lógica do Objective-C.

  • Compiladores Online: Plataformas modernas de execução de código em nuvem permitem rodar e testar estruturas em Objective-C diretamente a partir de qualquer navegador em sistemas Windows ou Linux.
  • GNUstep: É um ambiente de desenvolvimento robusto, de código aberto, que implementa as bibliotecas padrão do Cocoa (NeXTSTEP) para plataformas Linux e Windows, permitindo compilar código Objective-C localmente com o compilador GCC ou Clang.
  • Literatura Recomendada: Para quem quer fugir do copia e cola da internet e entender a arquitetura da linguagem a nível de engenheiro de software, o livro de cabeceira obrigatório é o clássico "Programação com Objective-C" de Stephen G. Kochan. É um guia didático e completo focado nos alicerces lógicos da linguagem.

Perguntas Frequentes sobre a Linguagem Objective-C (FAQ)

Vale a pena aprender Objective-C em pleno ano de 2026?

Sim, se o seu foco for atuar como desenvolvedor sênior ou especialista no ecossistema Apple. Embora o Swift domine a criação de novos aplicativos, grandes sistemas e empresas tradicionais possuem bases gigantescas de código legado em Objective-C que demandam manutenção constante e engenheiros qualificados.

Qual a diferença essencial entre Objective-C e a Linguagem C++?

Embora ambas estendam a Linguagem C adicionando suporte a objetos, o C++ adota uma abordagem de vinculação estática focada em performance em tempo de compilação. O Objective-C utiliza vinculação dinâmica baseada no envio de mensagens do Smalltalk, decidindo em tempo de execução (runtime) como tratar as ações.

Eu preciso saber Linguagem C pura antes de estudar Objective-C?

Não é obrigatoriedade estrita, mas ajuda imensamente. Como o Objective-C herda todos os tipos primitivos, gerenciamento de ponteiros e estruturas de controle de fluxo do C, dominar as fundações do C torna o aprendizado do Objective-C e seus colchetes muito mais natural.

Gostou desse conteúdo? Continue evoluindo sua lógica de programação:

  • Entendendo o Paradigma de Orientação a Objetos de forma definitiva
  • O que é Smalltalk e como seu sistema de mensagens moldou o desenvolvimento moderno
  • Introdução Prática à Linguagem C: Variáveis, Ponteiros e Estruturas Condicionais
  • Swift vs Objective-C: Qual linguagem escolher para iniciar no mundo dos aplicativos iOS

Estrutura de Formação no Blog:

Acompanhe a trilha sugerida pela nossa equipe editorial:

  • Passo Atual: Descobrindo a história e o funcionamento da linguagem Objective-C
  • Próximo Passo: Compreendendo como funciona o gerenciamento de memória em linguagens compiladas
  • Passo Avançado: Integrando código legado com aplicações desenvolvidas em linguagens modernas

Livros ou tutoriais – Por onde é melhor estudar ?


É fato que a grande maioria dos programadores e pessoas que lidam com tecnologia são autodidatas, ou seja, costumam aprender tudo, ou quase tudo, sozinhos.

Bateu uma dúvida? Corre no Google, pesquisa, vê como se faz, raciocina e aplica no seu problema. Esse é um procedimento básico para quem é da área.

Mas há aqueles que aprendem somente assim, outros que, além de fazerem isso, recomendam fortemente o estudo por livros. E aí, por onde é melhor estudar? Aquele que aprende por livros universitários é melhor profissional que aquele que aprende por apostilas de 20 páginas da internet?

Vamos discutir sobre as vantagens e desvantagens de cada uma dessas maneiras de aprendizado.

A Linguagem de Programação Mais Importante para Todo Desenvolvedor (Não é Java, Python ou C++)

Qual Linguagem de Programação Estudar Primeiro?

Uma das perguntas mais comuns entre iniciantes é:

"Qual linguagem de programação devo aprender primeiro?"

Java? Python? C? C++? JavaScript? C#? Go? Rust?

A internet está cheia de discussões apaixonadas sobre qual linguagem é melhor, mais rápida, mais elegante ou mais promissora. Em fóruns, redes sociais e grupos de tecnologia, muitos defendem sua linguagem favorita como se fosse time de futebol.

A verdade é que essa discussão geralmente parte de uma premissa errada.

Não existe uma linguagem perfeita para tudo. Existem linguagens mais adequadas para determinados tipos de problemas.

  • Python é excelente para automação, ciência de dados e IA.
  • Java continua fortíssimo no mercado corporativo.
  • C e C++ dominam áreas onde desempenho é fundamental.
  • JavaScript é indispensável no desenvolvimento web.
  • Go ganhou espaço em infraestrutura e sistemas distribuídos.
  • Rust cresce em aplicações que exigem segurança e performance.

Ou seja, não existe uma vencedora absoluta.

Mas existe uma habilidade que todo programador deveria desenvolver o quanto antes.

A Linguagem Mais Importante da Programação

A linguagem mais importante para um desenvolvedor não é Java, Python, C++, JavaScript ou qualquer outra tecnologia.

É o inglês.

Pode parecer uma resposta inesperada, mas basta observar como a indústria de software funciona.

A maior parte da documentação oficial das linguagens, frameworks e ferramentas é escrita em inglês.

Quando surge um erro raro, uma dúvida específica ou uma tecnologia nova, as melhores respostas normalmente aparecem primeiro em inglês.

Quem domina inglês tem acesso imediato ao conhecimento produzido por milhões de desenvolvedores ao redor do mundo.

Quem depende exclusivamente de conteúdo traduzido sempre chega depois.

Por Que o Inglês é Tão Importante para Programadores?

Mesmo que você trabalhe apenas para empresas brasileiras, o inglês estará presente diariamente.

  • Documentações oficiais
  • Artigos técnicos
  • Livros especializados
  • Projetos open source
  • Comentários de código
  • Issues no GitHub
  • Tutoriais avançados
  • Vídeos e conferências internacionais

Além disso, praticamente todas as linguagens utilizam palavras em inglês para representar comandos, funções, classes e estruturas.

Veja alguns exemplos:

  • if
  • else
  • while
  • for
  • return
  • class
  • public
  • private
  • function

Quanto mais familiar você estiver com o idioma, mais natural será entender código e documentação.

O Inglês Multiplica Sua Capacidade de Aprender

Imagine que você está estudando uma tecnologia nova.

Pesquisando em português, você encontra dezenas de resultados.

Pesquisando em inglês, encontra milhares.

Não é apenas uma questão de quantidade.

Muitas vezes os materiais mais completos, mais atualizados e mais profundos simplesmente não possuem tradução.

Por isso, aprender inglês não é apenas aprender um idioma.

É aumentar drasticamente a quantidade de conhecimento disponível para você.

Preciso Ser Fluente?

Não.

A maioria dos desenvolvedores começa lendo documentação com auxílio de tradutores e dicionários.

Com o tempo, termos técnicos começam a se repetir e a leitura fica cada vez mais natural.

Você não precisa esperar atingir fluência para começar a utilizar conteúdos em inglês.

Na verdade, é justamente o contato diário com documentação, artigos e código-fonte que acelera o aprendizado.

Como Aprender Inglês Sendo Programador?

Uma das formas mais eficientes é incorporar o idioma à sua rotina de estudos.

  • Ler documentações oficiais
  • Assistir vídeos técnicos em inglês
  • Ler artigos internacionais
  • Acompanhar projetos open source
  • Pesquisar erros em inglês
  • Ler README's no GitHub

Não tente decorar milhares de palavras isoladamente.

Aprenda o idioma dentro do contexto da programação.

Com o passar do tempo, você perceberá que muitas expressões técnicas aparecem repetidamente e acabam sendo assimiladas naturalmente.

Conclusão

Não existe uma única linguagem de programação capaz de resolver todos os problemas.

Ao longo da carreira você provavelmente aprenderá várias tecnologias diferentes.

Mas existe uma habilidade que potencializa todas elas: o inglês.

Quanto antes você desenvolver sua capacidade de ler conteúdos técnicos em inglês, mais rápido aprenderá novas linguagens, frameworks e ferramentas.

Portanto, se você está começando agora e quer investir em algo que realmente fará diferença ao longo de toda a sua carreira, comece a tratar o inglês como uma das tecnologias mais importantes do seu arsenal profissional.