O que é COBOL e por que ele está sendo solicitado?
O COBOL de programação de 60 anos está ressurgindo. Muitos mainframes de sistemas governamentais executam COBOL e têm lutado para lidar com o aumento da demanda. Em particular, o sistema de desemprego do estado de Nova Jersey é administrado por um mainframe COBOL de 40 anos.
Com o aumento do desemprego conectado ao COVID-19, o sistema está lutando para acompanhar. O governador Murphy identificou os programadores COBOL como uma necessidade subestimada.
O que é COBOL?
Em 1959, o Comitê de Linguagens de Sistemas de Dados projetou o COBOL. Eles queriam projetar uma linguagem de programação padrão para rodar em muitos mainframes diferentes.
Naquela época, muitas novas linguagens de programação estavam sendo desenvolvidas e traduzir linguagens de programação para rodar em um novo hardware estava se tornando muito caro. COBOL, ou linguagem comum voltada para os negócios, foi a solução para esse problema.
O COBOL foi baseado na linguagem de programação FLOW-MATIC, criada por Grace Hopper. Foi a primeira linguagem de programação a usar termos em inglês para processamento de dados, em vez de notação matemática. Grace Hopper explicou:
“Eu era professor de matemática. Naquela época, descobri que havia um certo número de alunos que não podiam aprender matemática. Em seguida, fui encarregado de tornar mais fácil para os empresários usar nossos computadores. ” (O desenvolvimento inicial de linguagens de programação pág. 29)
Da mesma forma, o COBOL usa termos em inglês e foi projetado para ser fácil de ler. No entanto, alguns o criticaram por ser muito prolixo. Por exemplo, em C, você pode escrever o seguinte para adicionar dois números:
int result = 1 + number;
O mesmo código em COBOL seria escrito como:
ADD 1 TO number GIVING result
Muito parecido com C, COBOL é uma linguagem de programação procedural. Isso significa simplesmente que os programas COBOL são projetados para seguir etapas sequenciais. COBOL também é uma linguagem de autodocumentação, o que aumenta sua usabilidade. No entanto, o recurso mais conhecido do COBOL é que pode lidar com grandes quantidades de processamento de dados.
O COBOL tornou-se amplamente adotado, principalmente por empresas, governos e instituições financeiras. Tão amplamente adotado que ainda é usado em muitos lugares hoje.
Por que se tornou menos popular?
Apesar da popularidade anterior do COBOL, poucas pessoas conhecem o idioma. Existem mais linguagens de programação hoje centradas em comandos em inglês que têm muito mais recursos do que o COBOL. Poucos programadores criam novos programas em COBOL; seu uso principal é manter programas legados.
Uma crítica ao COBOL é que os programadores têm tendência a escrever código espaguete. Código espaguete é um termo depreciativo para código mal estruturado. O principal culpado de código mal estruturado era o comando GOTO.
Como mencionado anteriormente, o COBOL é procedural, então o computador lê cada linha de código, de cima para baixo na ordem. O comando GOTO permitiu ao programador dizer ao programa para pular para uma linha diferente. O uso inadequado do comando GOTO pode tornar o código COBOL complicado.
Outra razão pela qual o COBOL não é popular é que raramente é ensinado nas universidades. O COBOL foi criado pela comunidade empresarial, não acadêmica. Ele foi projetado para resolver problemas de negócios e é otimizado para questões como processamento de dados. Os acadêmicos costumam se interessar por diferentes questões e, portanto, promovem diferentes linguagens de programação.
No entanto, um dos maiores problemas do COBOL é que, apesar de ter sido projetado para ser uma linguagem comum, não é. À medida que a linguagem evoluiu, muitos dialetos diferentes foram criados – 300 deles!
Isso torna um desafio para os programadores entender o código legado.
Por que o COBOL é importante
Como o COBOL é amplamente usado por empresas e governos, ainda existem muitos sistemas COBOL que precisam ser mantidos. O código legado é notoriamente difícil de manter porque os programas são grandes e complexos. Assim, os programadores com um conhecimento profundo da linguagem são necessários para manter os programas.
Também leva muito tempo para fazer alterações no código, pois é difícil determinar se as alterações afetarão outras partes do programa.
Por exemplo, na década de 90, enfrentamos o bug do ano 2000. Muitas datas de ano foram salvas em computadores usando os dois últimos dígitos do ano em vez do ano inteiro. Portanto, 1997 foi armazenado como 97. Temia-se que, quando o ano mudasse para 2000, o ano 00 não fosse reconhecido como válido, causaria problemas com as sequências de datas e, potencialmente, travaria muitos sistemas.
Os governos e empresas dos Estados Unidos demoraram vários anos e US $ 100 bilhões de dólares para lidar com o bug do ano 2000. É possível mudar os sistemas legados, mas pode levar tempo e custar caro.
Em 2020, COVID-19 criou um novo problema de programação. O sistema de desemprego dos EUA funciona em COBOL e é muito difícil e caro fazer alterações no programa. Por exemplo, o Congresso planejou responder ao aumento do desemprego calculando o pagamento do desemprego com base nos salários perdidos. No entanto, levaria cinco meses para ajustar o programa para implementar o cálculo.
Os sistemas COBOL não podem ser alterados com rapidez suficiente para responder a situações de crise. O problema é agravado porque não há pessoal suficiente treinado em COBOL para ajudar com o aumento da manutenção necessária para dar suporte aos sistemas durante uma crise. Aqueles que são treinados em COBOL, estão aposentados ou em vias de se aposentar.
Onde aprender COBOL
Para ajudar a atender à necessidade crescente de programadores COBOL, a IBM criou um curso COBOL gratuito . O curso consiste em uma série de vídeos, questionários e tarefas de laboratório, leva 16 horas para ser concluído e você receberá um crachá ao final.
Se você já é um programador COBOL experiente, a IBM também oferece um fórum de rede COBOL. Lá, programadores experientes podem ser conectados a organizações e empresas necessitadas.
COBOL não é uma linguagem de programação da moda, como Python, mas é importante. Grande parte do mundo ainda roda em COBOL. Se você está pensando em aprender uma linguagem de programação, mas precisa de um empurrão, considere aprender COBOL.