20 Anos em Formação, GnuCOBOL Está Pronto para a Indústria
Maturidade e Conformidade com Padrões do GnuCOBOL
- É visto como “pronto” em grande parte por causa da estabilidade e da alta conformidade com COBOL‑85 (~97% dos testes aprovados).
- Comentadores observam que mesmo muitos COBOL proprietários nunca atingem conformidade total com o padrão.
- Usa GNU MP para aritmética para corresponder ao comportamento tradicional de precisão fixa do COBOL, em vez de floats IEEE‑754.
- Não possui recursos mais novos do COBOL, como objetos e mensagens de padrões recentes (por exemplo, COBOL 2022/2023).
O Papel do COBOL nos Sistemas Atuais
- A maior parte do COBOL em produção está em mainframes IBM, fortemente acoplada com JCL, bancos de dados (DB2, IMS, DMS) e monitores de transação (CICS, ACMS).
- Também é comum em plataformas não IBM: OpenVMS, OS2200, vários sabores de Unix e x86/Linux com fornecedores como Micro Focus.
- É amplamente usado em finanças, folha de pagamento, faturamento, ERP e outras cargas de trabalho de back office “chatas, mas críticas”.
Mainframes vs. Nuvem e Confiabilidade
- Mainframes são descritos como projetados para disponibilidade de “cinco noves”, com redundância extrema e tempo de inatividade muito raro.
- As interrupções sofridas por bancos são frequentemente atribuídas à infraestrutura de servidores ao redor, não ao núcleo do mainframe.
- O “cinco noves” da nuvem é criticado como sendo em sua maior parte um SLA de cobrança/crédito, não uma operação realmente contínua.
- Alguns relatam ambientes de mainframe que, na prática, são frágeis, então as alegações de confiabilidade não são universais.
Migração, Ecossistema e JCL
- O GnuCOBOL é visto como apenas metade da história de uma migração: ainda é preciso JCL, monitoramento de transações semelhante ao CICS e bancos de dados no estilo mainframe.
- O JCL é considerado essencial para batch; o REXX é frequentemente usado para gerar JCL em vez de substituí-lo.
- Muitas tentativas de migração (incluindo transliteração de COBOL para C) são descritas como dolorosas ou resultando em sistemas difíceis de manter.
- Reescritas modernas fracassadas ou repetidamente retomadas de sistemas COBOL são citadas como um padrão comum.
Correção Numérica e “Matemática do Dinheiro”
- A aritmética decimal e a precisão fixa do COBOL são fundamentais para sistemas financeiros.
- Portar para linguagens que, por padrão, usam ponto flutuante binário é arriscado; equivalentes corretos (BigDecimal etc.) existem, mas não são idiomáticos e podem ser lentos.
- Esse comportamento matemático é uma das principais razões pelas quais organizações hesitam em sair do COBOL.
Características da Linguagem e Experiência do Desenvolvedor
- COBOL é verboso e orientado à definição de dados, mas muitos o consideram direto para o domínio a que se destina.
- Layouts estáticos fortes de dados (cláusulas PICTURE) evitam estouros de buffer e corrupção de memória; a memória é definida explicitamente, não alocada dinamicamente.
- As partes difíceis têm menos a ver com sintaxe e mais com a complexidade do domínio e com as ferramentas de mainframe.
- Há desenvolvimento novo de COBOL em andamento, embora de nicho, muitas vezes como parte de plataformas maiores de ERP ou legadas.
Por que o COBOL Legado Persiste
- Regras centrais de contabilidade, folha de pagamento e finanças mudam lentamente; os sistemas existentes incorporam décadas de legislação, acordos sindicais e casos extremos.
- Muitas vezes não existe fora do código em execução um conjunto completo de requisitos atuais; o sistema é, na prática, a especificação.
- Mudanças incrementais em COBOL são mais baratas e menos arriscadas do que reescritas completas, especialmente quando ninguém entende totalmente toda a lógica de negócio.
- Muitos sistemas “antigos” são navios de Teseu: fortemente modificados ao longo do tempo, mas nunca substituídos de forma fundamental.
Perspectivas de Adoção e Ceticismo
- Entusiasmo pelo GnuCOBOL como compilador gratuito, orientado a padrões, e potencial ferramenta de migração.
- Ceticismo de que grandes ambientes de mainframe trocarão de plataforma devido a restrições regulatórias, lock-in de ecossistema e aversão a risco.
- Alguns duvidam que muitos projetos greenfield escolheriam COBOL hoje; a maioria espera que ele permaneça uma linguagem de manutenção e mudanças incrementais.