Eu usei o ChatGPT para escrever a mesma rotina nestas dez linguagens de programação obscuras

imagem9.jpg

Há algumas semanas, dei uma olhada em como usar o ChatGPT para escrever a mesma rotina em uma dúzia das linguagens de programação mais populares. Mas como um aficionado por linguagens de programação, fiquei curioso para saber até onde o ChatGPT poderia ir. Seria possível programar em uma linguagem dos anos 1950? Seria possível programar em uma linguagem que utiliza seu próprio conjunto de caracteres? Seria possível escrever código em uma das linguagens que escreveram o próprio código?

Também: Os melhores chatbots de IA: ChatGPT e alternativas para experimentar

E assim, mergulhei. Usei muitas das linguagens que estou destacando aqui, então farei uma pequena viagem pela memória e incluirei algumas histórias sobre minha experiência com aquelas que utilizei.

Embora eu não tenha executado o código em si, eu li todos os programas gerados. A maioria parece correta e mostra os indicadores apropriados que me informam que o idioma apresentado é o idioma que eu solicitei.

Estou te dizendo isso porque os cabeçalhos em todas as capturas de tela estão errados. A maioria deles está listada como SQL. Por algum motivo, BAL está mostrado como VBNet, e Prolog está listado como Rust. O ChatGPT não cometeu esse erro da última vez, mas cometeu hoje, para todas as linguagens mostradas aqui.

E com isso, vamos começar.

Fortran

Fortran (ou FORTRAN, como era representado naquela época) significa Formula Translation. Foi desenvolvida principalmente para cálculos científicos e de engenharia. Mesmo que tenha sido criada na década de 1950, era frequentemente a primeira linguagem ensinada aos estudantes de engenharia nas décadas de 1970 e 1980.

Também: Essa nova tecnologia poderia superar o GPT-4 e tudo parecido com ele

Para mim, foi a minha quarta linguagem de programação, depois de BASIC, linguagem de montagem PDP-8 e binário PDP-8 (sim, eu escrevia código binário para poder alterná-lo no painel frontal de um minicomputador antigo). Meu pai gentilmente me levou de carro por uma hora até o Newark College of Engineering (agora NJIT) para que eu pudesse fazer o curso de programação do primeiro ano enquanto eu ainda era estudante de segundo grau (Ensino Médio).

Fortran nunca foi um favorito, embora consiga fazer a maioria dos trabalhos orientados para cálculos. Uma variação do Fortran ainda é usada hoje em dia, mas é bem limitada a trabalhos científicos especializados, já que muitas outras linguagens modernas fazem análises ao nível do Fortran, e fazem isso melhor.

Aqui, devido ao uso da palavra-chave implícita, parece que o ChatGPT está retratando código escrito na variante Fortran-77.

imagem7.jpg

COBOL

Eu era um programador COBOL adolescente. Na época, eu não conhecia COBOL, mas por volta de 1980, vi um anúncio de emprego para programador COBOL no Centro de Dados Regional do Nordeste da International Paper em Denville, NJ. Ficava a cerca de 40 minutos da casa dos meus pais, e eu precisava de um emprego de verão. Assim que consegui agendar uma entrevista, corri para a livraria local e passei um fim de semana devorando todo o material de leitura sobre COBOL que encontrei.

COBOL foi projetada para processamento orientado a negócios. Hoje, os mesmos tipos de clientes seriam usuários do SAP ou Salesforce. Mas o COBOL, como você pode ver no código COBOL-88 abaixo, era funcional, mas certamente não era elegante.

Pelo que parece, eles queriam um funcionário em tempo integral. Mas, já que eu fui bem na prova deles (aparentemente meu final de semana de estudo superou as notas dos profissionais que se candidataram), eles decidiram me contratar para o verão. Dizer que houve um desencontro cultural seria um eufemismo. Essa foi a época muito inicial dos microcomputadores (pense pré-PC) e eu me deleitava com isso. Enquanto isso, essas pessoas estavam mais interessadas em ternos e gravatas e centros de dados gigantes. Quase que imediatamente, adquiri o apelido de "Problema". Ei, eu ainda era uma criança.

O momento que marcou para mim foi quando um dos programadores mais experientes da empresa me chamou de lado para explicar, e cito, "COBOL é vida." Levei essa mensagem a sério e decidi que não queria que minha vida fosse sobre COBOL. Aquela foi a última vez que programei qualquer coisa em COBOL naquele verão.

imagem11.jpg

RPG (Relatório Programa Gerador)

Não, isso não é uma granada propelida por foguete ou um jogo de interpretação de papéis. RPG era um programa para criar relatórios. Você pode ver a evolução na linguagem (e no pensamento da linguagem de computador, em geral) entre as duas versões mostradas abaixo. O RPG II remonta ao final da década de 1950. O RPG IV foi atualizado na década de 1990 e é consideravelmente mais moderno (mas ainda definitivamente datado).

Eu cheguei a escrever alguns programas em RPG III para o AS/400 como um trabalho paralelo enquanto estava na faculdade, mas nunca foi algo que eu acompanhei de perto.

imagem3.jpg

Lisp

Tenho um longo caso de amor com Lisp. Lisp, nomeado em homenagem ao Processador de LIStas, às vezes era descrito como Lotes de Parênteses Estúpidos e Insípidos. Por alguma razão, esses parênteses faziam sentido para mim. Lisp foi minha porta de entrada para a programação de IA, e como aprendemos com o processamento de linguagem do ChatGPT, o conhecimento pode ser representado como sequências de palavras, ou listas.

Nos anos 1980, eu era um gerente de produto para uma implementação Common Lisp baseada em RISC e codifiquei nisso por um tempo. Com base na sintaxe defun saudacao e let gerada pelo ChatGPT, parece que o código abaixo também é Common Lisp, uma variação posterior da implementação original do Lisp de John McCarthy do final dos anos 1950. McCarthy foi um dos pais fundadores da pesquisa em IA, então é apenas adequado que uma IA escreva em sua linguagem.

imagem4.jpg

Algol

ALGOL (ALGOritmo lógico) estava à frente de seu tempo. Ele permitia a passagem de funções como parâmetros e permitia o uso de recursão. Esses são dois componentes essenciais da programação moderna que estavam ausentes de linguagens populares como Fortran e COBOL, que eram populares na mesma época da introdução do ALGOL.

Se Fortran, BASIC e linguagem de montagem me ensinaram programação top-down, ALGOL me ensinou como estruturar meu código. Foi uma linguagem fundamental que preparou o terreno para o meu uso de C, Pascal, Java, JavaScript e a maioria das linguagens estruturadas modernas que usamos hoje em dia.

imagem5.jpg

Simula

Simula, como você pode imaginar, foi desenvolvida para simulação e modelagem. Assim como ALGOL, Simula também estava à frente de seu tempo, suportando o uso de objetos e classes. A programação orientada a objetos desde então se tornou fundamental para muitas das linguagens de programação mais eficazes de hoje.

O uso da palavra-chave OUTFIX me diz que provavelmente o ChatGPT escreveu o seguinte código em Simula-67.

imagem6.jpg

BAL (linguagem de montagem IBM 360/370)

BAL, que significa "linguagem de montagem básica", era a linguagem de montagem para os grandes mainframes da IBM nas décadas de 1970 e 1980. A linguagem de montagem é considerada mais "baixo nível" do que "linguagens de alto nível", o que significa que instruções e palavras-chave individuais são mapeadas para instruções do processador individuais. Em linguagens de alto nível (como a maioria das usadas hoje em dia), a linguagem muitas vezes está distante da arquitetura subjacente da máquina e é projetada mais para eficiência de programação do que para uso eficiente do hardware.

Eu fiz um semestre de BAL na faculdade. Foi difícil. O professor passava a maioria dos dias de costas para os alunos, murmurando sua palestra em um tom monótono, enquanto escrevia sem parar na lousa. Eu sentava na última fileira ao lado de uma garota chamada Laura. Um dia, Laura e eu decidimos sair pela janela dos fundos para tomar café. Assim que pegamos nosso café, escalamos de volta pela janela. O professor nunca percebeu.

É uma maravilha que qualquer um de nós tenha passado, mas não é de admirar que praticamente nenhum de nós tenha escolhido a programação BAL como nossa arma de codificação preferida.

imagem8.jpg

APL

APL, ou A Programming Language, é outra linguagem de programação. Um dos aspectos mais marcantes do APL é que ele utiliza um conjunto de caracteres não padrão para alguns de seus operadores e codificações. Você pode ver isso na imagem abaixo. Os pequenos glifos são o que o ChatGPT conseguiu obter da fonte que estava usando, mas o APL é projetado para utilizar a fonte Unicode APL385, que é exclusiva para programação em APL.

Devido à sua sintaxe concisa e capacidade de gerenciar grandes conjuntos de dados, é usado em um bom número de projetos científicos, financeiros e analíticos.

imagem10.jpg

Prólogo

Prolog (que é derivado da frase Programação em Lógica) é outra linguagem focada em IA. Prolog é uma linguagem declarativa, listando regras e condições, e em seguida, executando consultas sobre essas declarações. De acordo com o ChatGPT:

Prolog é uma das linguagens de programação utilizadas no desenvolvimento do ChatGPT, especificamente para a geração de texto. Ela é usada no módulo Prolog-para-Inglês, que traduz formas lógicas em Prolog para frases em linguagem natural.

imagem1.jpg

Smalltalk

Smalltalk é especial. Foi desenvolvido no Xerox PARC, o mesmo laboratório de pesquisa que influenciou o desenvolvimento do mouse e ambientes com janelas. Ele incorporou algumas inovações da Simula na programação orientada a objetos e foi além. Também foi uma das primeiras linguagens a fazer uso ativo de um ambiente de programação interativo baseado em GUI. Muitas das principais linguagens de hoje, incluindo Java, Python e Ruby, foram altamente influenciadas pelo Smalltalk.

Eu apenas me aventurei no Smalltalk, principalmente para conhecê-lo. Morando no Vale do Silício na época, conheci os designers do Smaltalk, que mais tarde se separaram da ParcPlace Systems, na tentativa de comercializar o Smalltalk fora do conservadorismo corporativo da Xerox. Tenho muitas lembranças afetuosas de discutir teoria de programação enquanto comia costelas e salada de repolho em um pequeno e desgastado restaurante de churrasco em Palo Alto.

Um dos VPs com quem trabalhei na empresa de informática onde fui empregado tentou me convencer a criar uma empresa com ele para aplicar o Smalltalk ao mercado corporativo, mas ainda não havia sido picado pelo inseto das startups. O Smalltalk nunca se tornou um mercado. Ainda assim, por mais feliz que esteja com o caminho que minha vida tomou, às vezes me pergunto o que teria acontecido se tivesse aceitado a proposta dele.

imagem2.jpg

Tenho pensamentos

Não executei este código e, como não estou tão familiarizado com essas linguagens quanto estou com o PHP e o JavaScript, não posso garantir que minha revisão visual garanta que o código mostrado acima seja executado com sucesso. Como vimos no início desta semana, durante a exploração das novas habilidades de programação do Bard, é possível escrever código sem que ele funcione.

Também: Pedi ao ChatGPT para escrever um plugin do WordPress que eu precisava. Ele fez isso em menos de 5 minutos

Sabemos que há pelo menos um erro em cada exemplo: os cabeçalhos estão errados. Portanto, embora a capacidade da IA de gerar código em várias linguagens relativamente obscuras seja incrível, não assuma que ela está fazendo todo o trabalho corretamente.

Se você decidir incorporar a programação do ChatGPT ao seu fluxo de trabalho, será necessário verificar, testar e depurar o código que ele gera, da mesma forma que você faria se contratasse alguém para escrever algumas rotinas básicas para você.

Artigos Relacionados

Ver mais >>

Desbloqueie o poder da IA com HIX.AI!