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

imagem9.jpg

Há algumas semanas, analisei o uso do 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, perguntei-me até onde o ChatGPT poderia ir. Seria capaz de programar em uma linguagem dos anos 1950? Seria possível escrever código em uma linguagem que usa seu próprio conjunto de caracteres? Poderia ele escrever código em uma das linguagens que escreveram seu próprio código?

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

E assim, mergulhei. Já utilizei muitas das linguagens que estou destacando aqui, por isso farei uma pequena viagem pela memória e incluirei algumas histórias sobre minha experiência com aquelas que usei.

Embora não tenha executado o código em si, li todos os programas gerados. A maioria parece estar correto e exibe os indicadores apropriados que nos mostram que o idioma apresentado é o idioma que solicitei.

Estou a dizer-te isto porque os cabeçalhos em todos os screenshots estão errados. A maioria está listada como SQL. Por alguma razão, BAL aparece como VBNet e Prolog é listado como Rust. O ChatGPT não cometeu este erro da última vez, mas fez hoje, para todas as linguagens mostradas aqui.

E com isso, vamos mergulhar.

Fortran

Fortran (ou FORTRAN, como era denominado na época) significa Fórmula de Tradução. Foi desenvolvido principalmente para cálculos científicos e de engenharia. Apesar de datar dos anos 1950, era frequentemente a primeira linguagem ensinada aos estudantes de engenharia nas décadas de 1970 e 1980.

Também: Esta nova tecnologia pode deixar para trás o GPT-4 e tudo semelhante a ele

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

Fortran nunca foi um favorito, embora pudesse fazer a maioria dos trabalhos orientados para cálculos. Uma variação do Fortran ainda está em uso hoje em dia, mas é bastante limitada a trabalhos científicos especializados, já que muitas outras linguagens modernas fazem análises ao nível do Fortran e fazem 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 de COBOL na adolescência. Na época, eu não sabia COBOL, mas por volta de 1980 vi um anúncio de emprego para programador de COBOL no Centro de Dados Regional 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 conseguia encontrar.

COBOL foi concebido para processamento orientado a negócios. Hoje em dia, os mesmos tipos de clientes seriam utilizadores de SAP ou Salesforce. Mas COBOL, como pode ver a partir do código COBOL-88 abaixo, era funcional, mas certamente não era elegante.

Como acabou por acontecer, eles queriam um funcionário a tempo inteiro. Mas, como tirei dez no teste deles (aparentemente o meu fim de semana de estudo superou as notas dos profissionais que se candidataram), eles decidiram que eu trabalharia durante o verão. Dizer que houve um desajuste cultural foi um eufemismo. Estávamos nos primeiros dias dos microcomputadores (pense pré-PC) e eu adorava aquilo. Enquanto isso, essas pessoas eram todas sobre fatos e gravatas e centros de dados gigantes. Quase imediatamente, ganhei o apelido de "Trouble". Ei, eu ainda era uma criança.

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

imagem11.jpg

RPG (Report Program Generator)

Não, não é uma granada propulsada por foguete nem 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. RPG II remonta ao final da década de 1950. RPG IV foi atualizado nos anos 1990 e é consideravelmente mais moderno (mas ainda definitivamente datado).

Eu escrevi alguns programas RPG III para o AS/400 como um trabalho secundário enquanto estava na faculdade, mas nunca foi algo que eu segui de perto.

imagem3.jpg

Lisp

Tenho um longo caso de amor com Lisp. Lisp, abreviatura de LISt Processor, às vezes era descrito como Muitos Parênteses Insípidos e Estúpidos. Por alguma razão, esses parênteses fizeram sentido na minha cabeça. Lisp foi a minha porta de entrada para a programação em 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 80, fui gestor de produto de uma implementação Common Lisp baseada em RISC e programei nela por algum tempo. Com base na sintaxe defun greeting e let gerada por ChatGPT, parece que o código abaixo também é Common Lisp, uma variação posterior da implementação Lisp original de John McCarthy no final dos anos 50. 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-chave da programação moderna que estavam ausentes em linguagens populares como Fortran e COBOL, que eram populares na mesma época da introdução do ALGOL.

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

imagem5.jpg

Simula

Simula, como pode imaginar, foi desenvolvido para simulação e modelagem. Assim como ALGOL, Simula também esteve à frente de seu tempo, suportando o uso de objetos e classes. A programação orientada a objetos tornou-se fundamental para muitas das linguagens de programação mais eficientes atualmente.

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

imagem6.jpg

BAL (linguagem assembly IBM 360/370)

BAL, que significa "linguagem de montagem básica", era a linguagem de montagem para os grandes computadores 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 mapeiam para instruções de processador individuais. Em linguagens de alto nível (como a maioria das que usamos hoje), a linguagem é frequentemente distante da arquitetura de máquina subjacente e é projetada mais para eficiência de programação do que para uso eficiente de 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 a sua aula em monotonia, enquanto escrevia incansavelmente no quadro negro. Eu sentava na última fila ao lado de uma menina chamada Laura. Um dia, Laura e eu decidimos escapar pela janela de trás para tomar um café. Uma vez que conseguimos o nosso café, escalamos de volta para a janela. O professor nunca percebeu.

É um milagre que algum de nós tenha passado, mas não é surpresa que praticamente nenhum de nós tenha optado pela programação BAL como nossa arma de escolha no código.

imagem8.jpg

APL

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

Devido à sua sintaxe concisa e à sua capacidade de gerir grandes conjuntos de dados, é utilizado numa quantidade considerável de projetos científicos, financeiros e analíticos.

imagem10.jpg

Prolog

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

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

imagem1.jpg

Smalltalk

O Smalltalk é especial. Foi desenvolvido no Xerox PARC, o mesmo laboratório de pesquisa que influenciou o desenvolvimento do mouse e dos ambientes com janelas. Incorporou algumas das inovações do Simula em 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.

Apenas tive algum contacto com o Smalltalk, principalmente para o conhecer melhor. A viver no Vale do Silício na altura, tive a oportunidade de conhecer os criadores do Smalltalk, que mais tarde criaram a ParcPlace Systems, numa tentativa de comercializar o Smalltalk fora das restrições corporativas da Xerox. Tenho muitas memórias agradáveis de discutir teorias de programação enquanto comia costelas com molho barbecue e salada de repolho num pequeno restaurante degradado em Palo Alto.

Um dos VPs com quem trabalhei na empresa de informática onde estava empregado tentou me convencer a iniciar uma empresa com ele para aplicar o Smalltalk no mercado empresarial, mas naquela época eu ainda não tinha sido contagiado pelo fervor das startups. O Smalltalk nunca se estabeleceu como um mercado. Ainda assim, por mais feliz que esteja com o rumo que minha vida tomou, às vezes me pergunto o que teria acontecido se tivesse aceitado a oferta dele.

imagem2.jpg

Tenho pensamentos

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

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

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

Se decidir incorporar a programação do ChatGPT ao seu fluxo de trabalho, precisará verificar, testar e depurar o código que ele gera, assim como 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!