COBOL (sigla de COmmon Business Oriented Language) - Linguagem Comum Orientada para os Negócios, é uma linguagem de programação orientada para o processamento de banco de dados comerciais.Márcia Regina Sawaya. Dicionario De Informatica & Internet. NBL Editora; 1999. . p. 83. É a linguagem de programação inteira mais usada, produto do Departamento de Defesa norte-americano sob a direção da contra-almirante Grace Murray Hopper.
A linguagem ainda é amplamente utilizada em sistemas legados armazenados em mainframes. Entretanto, devido à sua baixa popularidade e à aposentadoria dos programadores experientes, muitos dos sistemas estão sendo migrados para novas plataformas e reescritos em linguagens mais modernas. Atualmente, a maior parte do código em COBOL existe essencialmente para manter aplicações existentes.
As especificações do COBOL 2002 incluem suporte à programação orientada a objetos e outras características das linguagens modernas.Rui Bivar De Oliveira. The Power of Cobol: For Systems Developers of the 21st Century. Booksurge Llc; 30 May 2006. .
História e especificação O COBOL foi criado por um comitê de investigadores de várias instituições civis e governamentais durante o segundo semestre de 1959. As especificações eram em grande parte inspiradas na linguagem de programação FLOW-MATIC inventada pela Grace Hopper - referida como "a mãe da língua COBOL."
A linguagem de programação da IBM COMTRAN inventada por Bob Bemer também foi utilizada, mas a especificação da FACT da Honeywell tinha sido distribuída até tarde aos membros do comitê do processo, e teve relativamente pouco impacto.
O uso corrente e o estudo do FLOW-MATIC como a única linguagem do grupo de estudo que efetivamente tinha sido utilizada numa situação real, fez com que fosse bastante atractiva ao comitê.Jean_Sammet, The Early History of COBOL, p.121–161, ACM SIGPLAN Notices, Association for Computing Machinery, Inc., 1978
Em 8 de abril de 1959, na CODASYL (Conference on Data Systems Language) destinada a usuários e pessoas da universidade, no centro de computação da Universidade da Pensilvânia, o Departamento de Defesa dos Estados Unidos, posteriormente, concordou em patrocinar e supervisionar as próximas atividades. A reunião presidida por Charles A. Phillips foi realizada no Pentágono em 28/29 de maio de 1959 (exatamente um ano após a reunião em Zurique do ALGOL 58), não foi decidido definir de três comissões: de curto, médio e longo alcance (a última nunca foi realmente formada).
Foi o Comitê de Curto Prazo, presidido por Joseph Wegstein do National Bureau of Standards (NBS) que durante os meses seguintes criou uma descrição da primeira versão do COBOL.
O Comitê de Curto Prazo foi constituído por membros representantes de seis fabricantes de computadores e três órgãos governamentais, a saber: Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, Sylvania Electric Products, a Força Aérea dos Estados Unidos, o David Taylor Model Basin (DTMB) e o NBS. Este comitê foi presidido por um membro do NBS.
Um comitê de Médio Prazo e outro de Longo Prazo foram também propostos na reunião do Pentágono. Entretanto, embora tenha sido formado, o Comitê de Médio Prazo nunca chegou a funcionar; e o Comitê de Longo Prazo nem chegou a ser formado. Por fim, um subcomitê do Comitê de Curto Prazo desenvolveu as especificações da linguagem COBOL. Este subcomitê era formado por seis pessoas:
William Selden e Gertrude Tierney da IBM Howard Bromberg e Howard Discount da RCA Vernon Reeves e Jean E. Sammet da Sylvania Electric Products
A decisão de usar o nome "COBOL" foi feita em uma reunião do comitê realizada em 18 de setembro de 1959. O subcomitê completou as especificações para o COBOL em dezembro de 1959.
O primeiro compilador para COBOL foi posteriormente implementado em 1960 e em 6/7 de dezembro, essencialmente o mesmo programa COBOL funcionou em dois computadores diferentes, um computador RCA e uma Remington-Rand Univac, demonstrando que a compatibilidade pode ser alcançada.
ANS COBOL 1968 Depois de 1959 o COBOL-1968 sofreu várias modificações e melhorias. Na tentativa de superar o problema da incompatibilidade entre diferentes versões de COBOL, o American National Standards Institute (ANSI) desenvolveu uma forma padrão de língua, em 1968, após o lançamento da versão COBOL-61 que se tornou a pedra angular para mais versões. Esta versão ficou conhecida como American National Standard (ANS) COBOL.
COBOL 1974 Em 1974, a ANSI publicou uma versão revista do COBOL-1968, que continha uma série de recursos que não estavam na versão 1968.Atul Kahate. Object Oriented Analysis & Design. Tata McGraw-Hill Education; . p. 420.
COBOL 1985 Em 1985, a ANSI publicou ainda uma outra versão revista do COBOL-1985 que tinha novas funcionalidades que não apareciam no padrão 1974, como construções de linguagem mais notavelmente estruturadas ("terminadores de escopo"), incluindo END-IF, END-PERFORM, END-READ, etc.
História de normas COBOL As especificações aprovadas por todo o Comitê de Curto Prazo foram aprovadas pelo Comitê Executivo em 3 de janeiro de 1960, e enviadas para a gráfica do governo que editou e imprimiu essas especificações como COBOL 60.
O American National Standards Institute (ANSI) produziu várias revisões do padrão COBOL, incluindo:
COBOL-1968 COBOL-1974 COBOL-1985 Intrinsic Functions Amendment - 1989 Corrections Amendment - 1991
Após as alterações de 1985 o padrão ANSI (que era adotado pela ISO), o desenvolvimento e a apropriação foi assumida pela ISO. As seguintes edições e TRs (Relatórios Técnicos) foram emitidas pelo padrão ISO (e adotados como ANSI):
COBOL 2002 Finalizer Technical Report - 2003 Native XML syntax Technical Report - 2006 Bibliotecas de coleção de classes orientadas a objeto - aprovação pendente
Desde 2002, o padrão ISO também está disponível para o público codificado como ISO / IEC 1989.
O trabalho progride na próxima revisão integral da norma COBOL. A aprovação e disponibilidade era esperado primeiros em 2010. Para obter informações sobre esta revisão, ver o mais recente projeto desta revisão, ou para ver o que as outro trabalhos em progresso no padrão COBOL, consulte o site de normas do COBOL.
COBOL Orientado a Objetos A linguagem de programação de computadores COBOL continua a evoluir até hoje. No início de 1990, decidiu-se acrescentar a orientação a objetos na próxima revisão completa do COBOL. A estimativa inicial era ter esta revisão concluída em 1997 e um ISO CD (Committee Draft, rascunho do comitê) disponível até 1997.
Assim como a C++ e a Java, os compiladores COBOL estão disponíveis enquanto a linguagem se move em direção à padronização.
Alguns fornecedores (incluindo a Micro Focus, a Fujitsu, a Hitachi, a Veryant e a IBM) introduziram a sintaxe orientada a objetos, com base nos rascunhos de 1997 ou outro da revisão completa.
A Fujitsu, a Micro Focus e a Raincode PL/1 atualmente suportam os compiladores COBOL orientados a objetos visando o .NET.NetCOBOL for .NET supports COBOL migration and software development in the .NET environment
ISO COBOL 2002 A versão ISO COBOL 2002, é uma versão do COBOL que foi criado no padrão ISO (adotado como um padrão ANSI por INCITS)As grandes mudanças do ISO COBOL 2002 que foi aprovada e disponibilizada em 2002, e foi projetado para ser utilizado em servidor mainframe, como por exemplo: IBM,COBOL 2002 – The Good, the Bad, and the UGLY Session 8204 (August 25, 2005) HITACHI,The COBOL2002 Family - HITACHI etc.
O ISO COBOL 2002 incluiu diversos recursos extras, além da orientação a objetos, (mas não estão limitados a):
Suporte a idiomas (incluindo, mas não limitado a suporte ao Unicode) Processamento baseado em Locale Funções amigáveis ao usuário CALL (e função) protótipos (para a verificação de parâmetro em tempo de compilação) Ponteiros e sintaxe para a obtenção/liberação de armazenagem Convenções de chamada de e para línguas não-COBOL, como a linguagem C Suporte para execução em ambientes estruturas como .NET e Java (incluindo COBOL instanciado como Enterprise JavaBeans) Suporte a Bit e Bool Suporte a "True", até esta melhoria itens binários eram truncados (pela especificação de base-10) dentro da DATA DIVISION. Suporte a ponto flutuante Resultados aritméticos padrão (ou portáteis) Geração e parsing de XML
Microsoft COBOL O Microsoft COBOL é uma versão de COBOL orientado a objetos que é utilizado dentro do Microsoft Visual Studio. O Cobol é uma linguagem de alto nível projetada para uso em negócios, e que usa comandos com sintaxe em inglês. A Microsoft começou cedo produzindo produtos de idiomas como este. Seus outros produtos de idiomas antigos incluíam Microsoft Fortran, Microsoft Pascal, Microsoft Visual Basic e Macro Assembler. Este produto também foi licenciado para a IBM como IBM Cobol Compiler. Atualmente o Microsoft COBOL está na versão 5.0 disponível para download.Usando COBOL na plataforma Microsoft.NET - Visual Studio .NET
Micro Focus Visual COBOL A empresa Micro Focus produz o software Micro Focus Visual COBOL que é uma versão do COBOL orientado a objetos, projetado para uso em sistema operacional Windows, com suporte para execução em ambiente .NET.
GnuCOBOL O compilador Livre/Aberto COBOL que produz executáveis nativos a partir do código-fonte. A atual versão (3.2), funciona em plataformas como Linux, BSD, muitos sistemas Unix proprietários, MacOs, Windows, dentre outros. Esta é a melhor versão para os usuários, extensivamente testada em uma variedade de ambientes comerciais.
Algumas das suas características incluem:
Integração com a Linguagem de Programação C (linguagem de programação); 19 Dialetos; Declarações REPORT SECTION, SCREEN SECTION e FUNCTION-ID; Instalação do compilador COBOL 2014, com conjunto de características; Mais de 9740 testes NIST COBOL; 85 testes passados; mais de 1000 verificações internas; Depuração integrada do IDE e Suporte ao GNU Gbd.
A versão recente inclui muitas novas características que mantém a completa compatibilidade com a fonte. Alguns dos destaques são:
Manipulação melhorada do dialeto, incluindo alterações de incumprimentos para melhor correspondência do dialeto selecionado, um novo dialeto completo GCOS e apoio para mais declarações de COBOL, funções intrínsecas e sintaxe de ambos os "velhos" e novos dialetos. Tempo de execução altamente melhorado para várias declarações, juntamente com menos uso de memória, especialmente se as verificações de tempo de execução estiverem ativadas. Alterações no arquivo para o suporte a LINE-SEQUENTIAL por COBOL2023 e opções de tempo de execução de modo a manusear arquivos. (Veja NEWS e runtime.cfg). Otimizações para a depuração em nível de fonte via GDB e coredump.
Muitas outras características mantém uma completa compatibilidade com a fonte. Veja o arquivo NEWS para uma completa descrição da versão disponibilizada, assim como para compilações com qualquer -std para saber mais sobre as implicações.
ISO / IEC 1989: 2014
Linguagem de programação COBOL
ISO / IEC 1989: 2014 especifica a sintaxe e semântica do COBOL. Seu objetivo é promover um alto grau de independência da máquina para permitir o uso de COBOL em uma variedade de sistemas de processamento de dados.
ISO / IEC 1989: 2014 especifica:
a forma de um grupo de compilação escrito em COBOL; o efeito de compilar um grupo de compilação; o efeito da execução de unidades de execução; os elementos da linguagem para os quais uma implementação conforme é necessária para fornecer uma definição; os elementos da linguagem para os quais o significado é explicitamente indefinido; os elementos da linguagem que dependem dos recursos do processador.
ISO / IEC 1989: 2014 não especifica:
os meios pelos quais um grupo de compilação escrito em COBOL é compilado em código executável por um processador;