Executando verificação de segurança...
-1

Código nunca vai ser descartável. Por que eu digo isso? Porque código sempre será necessário para comunicação com a máquina. IA ainda gera o código. Ainda será necessário entender o que isso faz.

O valor não está mais no código.

O valor nunca esteve no código. Não sei qual raciocino tive para chegar nessa conclusão.

Código é só texto. Literalmente somente isso. A diferença é que é um texto usado para especificar instruções para a máquina. Para isso há tantos processos delicados que não pode ser delegado para um LLM.

Metaprogramação existe a bastante tempo. É literalmente o código que escreve outro código. Isso é até rotineiro para quem cria library em Rust.

Hoje temos algo que faz isso de forma mais flexível, rápido, mas com trade-off claros que é a possibilidade de erro (garantido matematicamente) e os custos elevados.

O valor do profissional sempre foi a capacidade de resolver problemas, entender o produto e não só digitar código. Programador NÃO É DIGITADOR DE CÓDIGO. REPITO, PROGRAMADOR NÃO É SOMENTE DIGITADOR DE CÓDIGO. Esses digitadores não tem valor mais hoje em dia. Antes também não tinha, mas havia espaço para trabalho braçal.

Se uma IA consegue construir um sistema inteiro a partir de um conjunto de regras, então o ativo mais importante deixa de ser o código final

Consegue? IA consegue replicar sistemas inteiros sem garantias de fidelidade de funcionamento correto, mas criar? Já parou para pensar o que é de fato criar algo?

Noticias como "IA recriou o compilador de C em Rust" enaltecendo isso é absurdo, por exemplo. Tudo que foi preciso fazer é pegar algo já criado e transformar em outra coisa. Qualquer um faz, a diferença é que IA faz mais rápido e muito rápido.

Porque se o código pode ser recriado a qualquer momento, precisamos de algo que garanta que o sistema continua correto.

Pode mesmo? Imagina os sistemas embarcados de carros e aviões. Não da para simplesmente recriar essas coisas de forma simples. Estamos lidando com vidas. Desenvolvedores tem vidas nas mãos também. IA pode auxiliar aqui, mas delegar, eu duvido aqui.

Existem áreas como Front-end que podem usar IA pesadamente sem se preocupar muito se IA erra ou não na parte de interface. Lidando com regras de negócio é loucura delegar, mas é inteligente usar como auxilio e te impulsionar.

Se os testes passam, o sistema está potencialmente correto.

Apesar dos testes passaram, não é incomum softwares lançarem como brechas de segurança, memory leak e etc... Em jogos é bem como inclusive testes passarem, mas muita coisa quebrar. Isso é tão comum que ninguém cita isso, apenas assume que tem que ter hot-fix assim que lançar.

Isso é para tudo. Confiar somente em testes não é inteligente. É importante sim, pois isso garante algumas coisas no código, mas nem sempre o comportamento esperado.

Testar código assíncrono ainda é complexo demais. Especialmente aqueles que requerem lidar com dados temporais.

Testar é uma habilidade. Não é só escrever assert() é pronto. Testes inclui além dos automatizados. Dependendo do software, é preciso ter uma equipe somente para isso. IA pode escrever testes e tem que escrever mesmo aqueles que são Boilerplate. Agora testes mais específicos? É jogar roleta russa com IA.

Se algo estiver errado, o processo é simples: ajustar as regras, regenerar o código.

Você esta assumindo que IA irá entregar em algum momento o código funcional sem bugs, mas é impossível. Não tem tal como "regenerar". Primeiro que os custos são astronômicos para issso. Segundo que isso só funciona para projetos bem pequenos.

Tente regenerar o compilador o TypeScript para cada problema que der! Mesmo que faça com módulos específicos, é bem provável que dê problema com outras camadas.

"É só ajustar as regras"... Como você sabe como ajustar algo que não entende? Imagina querer consertar o carro sem entender de carro. Imagina querer mudar a si mesmo sem entender você. Não tem como pedir por algo que você nem sabe que existe ou sabe descrever. Artigos técnicos não usam palavras complicadas colocar efeito, e sim para evitar ambiguidade. Isso requer tanto estudo. Agora na IA, as pessoas acham que podem fazer:

crie um sistema para mim 
o sistema tem que ser seguro
divida em modulos e tudo tem que seguir o clean-code 
teste o código antes 
faça o deploy
beijinhos e obrigado. 

Assim como no exemplo do artigo técnico que citei, é preciso especificar muita coisa sem ambiguidade para a IA ter pelo menos a chance de entregar algo funcional. É probabilístico.

Nesse cenário, a IA escreve o código. Os testes dizem se o universo está funcionando. Se algo falha, o código pode simplesmente desaparecer.

Quase como um conto de fadas essa afirmação. Parece os frameworks para JavaScript.

Vamos ser racionais: IA é muito bom mesmo. Ajuda para cacete em um monte de coisas. Porém esta praticamente se criando uma religão em torno disso.

Isso me lembra alguns jogos de fantasias onde o conhecimento arcano na maior parte das vezes é os fundamentos perdidos com a modernidade do mundo. Onde quem sabe os fundamentos são realmente muito fortes. Da mesma forma, é como se estivessem trocando o processo de aprendizado real pelo o falso. Sem IA, do que essas pessoas são capazes?

Carregando publicação patrocinada...