Executando verificação de segurança...
6

Interessante reflexão! Realmente, a IA está transformando o panorama da programação, mas não da forma que muitos imaginam. A questão não é que a IA vai "substituir" o programador, mas que ela vai transformar as ferramentas e linguagens que usamos.

Se pensarmos no passado, substituímos a programação em assembly por linguagens de alto nível como JS e Python, mas isso não acabou com a necessidade de programadores — apenas mudou a forma como trabalhamos. Hoje, escrevemos em Python para abstrair a complexidade de linguagens mais baixas, mas ainda temos que entender o problema e moldar a solução.

O mesmo vai acontecer com a IA: ela vai nos dar uma "linguagem de programação" mais poderosa, possivelmente em linguagem natural, onde ao invés de escrever cada detalhe, diremos à máquina o que queremos que aconteça.

Hoje, trabalhamos com linguagens como Python e JavaScript, que nos permitem estruturar e detalhar o que o sistema deve fazer, linha por linha, função por função. Mas, no futuro, essas linguagens de script serão substituídas por uma nova geração de ambientes onde diremos ao sistema o que queremos alcançar, e ele será capaz de descobrir o "como fazer" de forma independente. Em vez de criarmos prompts para gerar códigos intermediários, o próprio runtime será um ambiente que entende intenções em linguagem natural e gera instruções diretamente para o hardware.

No final, essa evolução apenas muda a nossa forma de expressar o código, mas a essência de "codificar" e resolver problemas complexos continua sendo nossa.

Porém, essa mudança não elimina a necessidade de programadores. Mesmo com um ambiente declarativo poderoso, o verdadeiro trabalho de mapear problemas complexos do mundo real para um conjunto de intenções que a máquina possa compreender continuará sendo essencial. Isso exige habilidades de lógica, entendimento de sistemas e visão estratégica — exatamente o que define um bom programador. Em outras palavras, a linguagem pode mudar, mas a complexidade de transformar problemas em soluções continuará exigindo a experiência humana.

O que vamos substituir são as linguagens de programação, não o programador.

Carregando publicação patrocinada...
2

Muito interessante sua visão de futuro!

Mas tem um ponto-chave que talvez tenha sido desconsiderado... entre assembly e Python, ambas linguagens são determinísticas - escrevendo o mesmo if-else, aquele if-else sempre seguirá a mesma lógica.

Mas usando linguagem natural para codificar, nós não conseguimos garantir que o output será sempre o mesmo, mesmo se escrevermos exatamente o mesmo prompt em linguagem natural.
Qualquer bug que acontecer e a IA não conseguir resolver, nós precisaríamos olhar o código-fonte gerado pela IA (assim como é feito hoje, e mantendo a necessidade dos devs).
Isso significa que nós não conseguiremos deixar de aprender linguagens de programação como são usadas hoje para usar somente a linguagem natural.

Por outro lado, a abstração do Python ou JavaScript faz com que a gente não precise saber programar em assembly para debugar o nosso código.

Então eu tendo mais a acreditar que a IA não conseguiria substituir nem as linguagens de programação, pois não segue as mesmas premissas da substituição das linguagens de baixo nível pelas de alto nível. Acredito que a IA conseguiria alterar somente o nosso workflow. Para bons profissionais (e você é um deles, pelos seus posts e comentários que já li por aí) a IA generativa é uma ferramenta auxiliar a mais, no meio de várias outras, assim como Linters, IntelliSense, SonarQube, Google, StackOverflow, etc.

3

Concordo que atualmente o código gerado por IA tem uma natureza estocástica e a falta de previsibilidade é uma limitação real. Mas há um detalhe importante aqui: estamos vendo o início da IA generativa aplicada à programação. Os modelos de linguagem, como os que usamos hoje, estão em sua infância.

Assim como os compiladores no início também não eram totalmente confiáveis, e sim, os programadores precisavam verificar se o compilador não estava cometendo erros, superamos completamente esta fase com a evolução natural da tecnologia.

A próxima (atual estado da arte) geração de IAs é capaz de executar e validar o próprio código, rodando testes automáticos, verificando saídas e depurando a execução, o que permitirá que elas gerem soluções totalmente confiáveis e determinísticas.

Bom pelo menos é o que penso..

2

Mas usando linguagem natural para codificar, nós não conseguimos garantir que o output será sempre o mesmo, mesmo se escrevermos exatamente o mesmo prompt em linguagem natural.

Exatamente, o problema é a grande variação de saida. Eu uso muito, parei de usar Google, Stackoverflow, e uso quase 100% o GPT para tirar duvidas, criar codigos iniciais e assim por diante, e dessa forma tem sido produtivo.