Professional Documents
Culture Documents
ANHANGUERA EDUCACIONAL
Universidade Anhanguera de So Paulo - Santo Andr - Unidade 3
A linguagem COBOL
Santo Andr
2017
2
A linguagem COBOL
Santo Andr
2017
3
RESUMO
LISTA DE ILUSTRAES
1 AIMACO Foi uma diviso do Air Technical Service Command, que usou sua
sigla para nomear a linguagem de programao desenvolvida pela Fora Area
dos EUA na dcada de 50.
6
SUMRIO
1. Introduo7
3. A linguagem..........................................................................................................................17
5 Concluso...............................................................................................................................30
Referncias................................................................................................................................31
7
1. Introduo
Segundo a Micro Focus2, uma empresa que fornece servios e produtos baseados em
COBOL para grandes corporaes, cerca de 70% de todas lgica e dados de negcios crticos
so escritos nesta linguagem, que a mais utilizadas por instituies financeiras e de varejo.
Observa ainda que a plataforma agrega grande valor para as empresas, principalmente pela
quantidade de dados que capaz de processar. H, pelo menos, cinco pontos que so
vantajosos para as empresas:
2 https://blog.microfocus.com/cobol-the-language-for-future-generations/
8
Um dos maiores desafios atuais dos profissionais de TI criar pontes entre os sistemas
tradicionais e o que surge de novo, como cloud e mobile, sem perder os capitais investidos,
por isso o conhecimento dessa linguagem um requisito altamente desejado para esses
profissionais.
Fig. 1 - Tenente Grace Hopper codificando um problema em fita perfurada no MARK I -.Fonte:
Bettmann/Bettmann Archive
Nascida em 1906, ela se formou no Vassar College em matemtica e fsica, e depois foi
para a Universidade Yale, onde concluiu um doutorado em matemtica, no ano de 1934.
Depois de se casar com um professor de literatura comparada, Vincent Hopper, Grace se
tornou professora em Vassar. Como nos conta Walter Isaacson (2014, p. 101) ao contrrio de
outros professores de matemtica, ela insistia que seus alunos escrevessem bem. Em suas
aulas, os alunos deveriam responder aos questionamentos, alm da preciso matemtica, com
clareza e estilo.
Em sua carreira, ela se destacou pela sua capacidade de traduzir problemas cientficos
em equaes matemticas, e depois em ingls cotidiano. Esse talento a ajudou a se tornar uma
excelente programadora.
10
Em 1940, entediada com a rotina das aulas em Vassar, tirou uma licena para estudar
com o renomado matemtico Richard Courant, na Universidade de Nova Iorque. Ela ainda
estava estudando com ele quando, em dezembro de 1941 os Estados Unidos entraram na
Segunda Guerra Mundial. Com isso ela achou um caminho para seguir em sua vida. Um ano e
meio depois do ataque, ela saiu de Vassar, divorciou-se do marido e entrou para a marinha
americana. Em junho de 1944, ela se formou tenente como a primeira colocada de sua turma.
Ela achava que ia ser designada para um grupo de criptografia e decodificao, mas
recebeu ordens para se apresentar na Universidade Harvard para trabalhar no ASCC
(Automatic Sequence Controlled Calculator), apelidado MARK I, o poderoso computador
digital construdo com rels por Howard Aiken. Na poca em que Hopper foi designada para
o projeto, a mquina havia sido incorporada Marinha, e Aiken estava no comando.
Quando se apresentou a Aiken, este lhe entregou uma cpia das memrias de Charles
Babbage e a levou para conhecer o Mark I. Havia um grande volume de mquinas fazendo
uma imensa balbrdia, recordaria ela em entrevistas posteriores. Os mecanismos todos
expostos, a mquina era inteiramente aberta e muito barulhenta. Percebendo que precisaria
entender a mquina, passou vrias noites estudando o projeto, e graas a sua capacidade de
saber abstrair problemas do mundo real para equaes matemticas, foi capaz de traduzir
11
Tambm creditado a Grace Hopper o temo bug, para as panes dos computadores.
Conta-se que em certa noite, a mquina entrou em pane, e a equipe comeou a procurar o
12
Grace estava sempre atenta s inovaes. Em 1949 foi trabalhar na empresa que Presper
Eckert e John Mauchly haviam fundado, que depois tornou-se parte da Remington Rand,
depois Sperry Rand, e depois Unisys. Eckert e Mauchly haviam desenvolvido o Eniac durante
a Segunda Guerra Mundial, e depois disso aprimoraram o projeto, construindo os Univac, que
eram computadores movidos a vlvulas termoinicas, centenas de vezes mais rpidas do que
os rels eletromecnicos. Alm disso, empregavam o paradigma Von Neumman, como ficou
conhecido o conceito de programa armazenado, desenvolvido por eles e por Von Neumman (o
MARK I representava o paradigma Harvard, onde as instrues e dados entravam
paralelamente no processamento).
Como tinha uma mente aberta em relao computao, Grace achava que em um
13
futuro prximo esta estaria disponvel para muitas empresas, e por isso haveria a necessidade
de mais pessoas aprenderem a programar. Assim pensando, ela distribuiu as verses iniciais
de seu compilador aos colegas de outras empresas. Talvez isso tenha proporcionado o boom
de criao de linguagens de programao.
Em 1953, props que linguagens de programao deveriam ser expressas com estrutura
sinttica semelhante ao ingls, e no com cdigos difceis de memorizar. Ela mesma, usando
seu compilador, desenvolveu uma linguagem comercial com esse princpio, que batizou como
B-0, ou Business Language, que depois foi aprimorada e se tornou o FlowMatic, a primeira
linguagem voltada a negcios do mundo, lanada em 1955.
Fonte: http://marcgg.com/blog/2015/02/02/grace-murray-hopper-technical/
Enquanto isso, a IBM colocou a sua equipe para trabalhar em duas linguagens, usando o
princpio do compilador e as ideias de Grace Hopper: o FORTRAN (Formula Translator),
destinado a aplicaes cientficas, e o COMTRAN (Comercial Translator), destinado a
negcios. Tambm a Fora area produziu uma linguagem, a AIMACO, que era inteiramente
baseada no FlowMatic.
Em abril de 1959, o Departamento de Defesa dos Estados Unidos achou por bem criar
um padro comum para as linguagens usadas nos negcios, e criou o CODASYL, Committe
14
Ainda durante os trabalhos do CODASYL, vrios nomes foram cogitados para a nova
linguagem, tais como INFOSYL (Information System Language), COCOSYL (Common
Computer System Language), e COBOL (Common Business Oriented Language),
prevalecendo este ltimo.
https://en.wikipedia.org/wiki/File:COBOL_Report_Apr60.djvu
por mais dois anos, mas, em 1962, rendeu-se definitivamente ao COBOL e encerrou o projeto.
Em 1966 Grace Hopper se aposentou da Marinha, por conta de sua idade. Porm foi
chamada novamente para resolver problemas com a folha de pagamento, quando deveria
servir mais seis meses. Porm esses seis meses se prolongaram por 20 anos, e ela s foi
definitivamente aposentada em 1986, no posto de Contra-Almirante.
Logo que retornou ativa, em 1967, foi designada para auxiliar o CODASYL na
reviso do COBOL, cujo objetivo era conciliar todos os avanos em um padro nico,
surgindo da o COBOL 1968, ou ANS COBOL 1968 (American National Standard COBOL
1968. Depois disso houveram apenas mais quatro revises: 1974, 1985, 2002 e 2014.
Com isso, o COBOL ganha mais espao na computao mundial. Vale a pena as
instituies de ensino retomarem o COBOL em seus currculos.
17
3. A linguagem
O COBOL nasceu tendo como meta servir ao mundo dos negcios. Assim, apresenta as
caractersticas bsicas:
se pode observar na imagem anterior, usa palavras comuns do lxico ingls. O programa
mostrado na imagem um programa simples, escrito em OpenCOBOL (uma verso livre
disponvel para vrias plataformas em https://open-cobol.sourceforge.io/ ).
A DATA DIVISION usada para descrever a maior parte dos dados usados no
programa. Uma exceo bvia so as literais, que so definidas no corpo do programa como
strings literais ou valores numricos literais. A DATA DIVISION divide-se em quatro sees:
FILE SECTION, WORKING-STORAGE SECTION, LINKAGE SECTION e REPORT
SECTION.
01 DataNascimento.
20
02 AnoNascimento.
03 SecNascimento PIC(99).
03 Ano2casas PIC (99).
02 MesNascimento PIC (99).
02 Dia nascimento PIC(99).
Como herana dos tempos iniciais, onde os cdigos eram escritos mo e depois
perfurados em cartes ou fitas, a codificao dos programas COBOL tinha regras bastante
rgidas. Em primeiro lugar, era necessrio usar uma folha especial, a folha de codificao, que
era dividida em um cabealho, e abaixo 80 colunas e 30 linhas.
As seis primeiras colunas eram reservadas a uma numerao sequencial das linhas, a
stima coluna servia para caracteres especiais que indicavam comentrios (*) ou continuao
de valores constantes no numricos da linha anterior (-). Da coluna 8 a 72 era a rea de
codificao, e as colunas 73 a 80 restantes eram opcionalmente usadas para cdigos de
identificao do programa.
Ainda as colunas 8 a 72 eram divididas em duas reas: a rea A, da coluna 8 a 11, onde
iniciavam os nomes das divises, sees e pargrafos, e a rea B, da coluna 12 em diante,
onde iniciavam os comandos e clusulas.
22
Fonte: http://www.csis.ul.ie/cobol/course/COBOLIntro.htm
Nos aplicativos de desenvolvimento mais antigos, esse padro foi transcrito para as telas
dos monitores, porm, desde o ISO COBOL 2002, h a opo do formato livre, onde cada
linha pode ter at 255 caracteres, sendo o comentrio indicado por um asterisco seguido do
sinal de maior (*>), colocado no incio da linha.
23
Fig Exemplo de codificao pelo padro anterior a 2002 (segue o modelo dos antigos formulrios)
Fonte: os autores.
24
Fonte: os autores.
O COBOL simples, tem apenas trs tipos de dados: Literais, constantes figurativas e
itens de dados. Literais so itens de dados que tem seu valor definido durante a criao e no
podem ser modificados. H dois tipos de literais: alfanumricas e numricas.
Ex:
01 Nome PIC X(15) (Um dado alfanumrico -X-, com tamanho 15.
01 Peso PIC 99V99 (Dado numrico com duas casas decimais. V indica o ponto
decimal)
01 DataNasc.
C:
COBOL:
Ambos os cdigos fazem a mesma coisa (executam a funo funcao 5 vezes). O cdigo
em C mais resumido, porm mais obscuro. Possui apenas uma palavra reservada e uma
poro de smbolos delimitadores e de clculo para executar uma funo cinco vezes. J o
cdigo em COBOL parece, para os falantes do ingls), uma frase comum. Algo do tipo:
EXECUTE funcao VARIANDO i A PARTIR DE 1 POR 1 AT i = 5.
Depois, essas pessoas mostram-se surpresas ao saber que o COBOL ainda est presente
em tudo. A maioria dos estudantes ao se depararem com o COBOL poderiam ponderar por
que estudar uma linguagem antiga, se podem estudar as modernas, como C#, Java ou .NET.
Atualmente apenas 5% das instituies acadmicas tem o COBOL em seu currculo regular.
A maioria dos estudantes acha que o COBOL est morto ou desatualizado, e isso
simplesmente no verdade. Quase 60 anos depois de sua criao, o COBOL est presente
em 70% de todas as transaes comerciais do mundo. Est em toda parte, desde caixas
eletrnicos, pontos de venda a sistemas de sade. Est presente em 80% das aplicaes de
negcios. Existe uma gama to grande de cdigos COBOL em operao que simplesmente
impossvel jogar fora. Sem COBOL, as comunicaes em todo mundo entrariam em colapso.
Entretanto, quem pensa grande, numa carreira promissora e com bons salrios, deveria
preocupar-se com o COBOL. Ao contrrio do que muitos acham, no uma linguagem morta,
e est cada vez mais presente no cotidiano, e necessita de profissionais para desenvolvimento
e manuteno dos sistemas. pensar grande, porque so grandes responsabilidades.
28
H motivos para se aprender COBOL, alm do potencial mercado de trabalho com bons
salrios.
O COBOL seguro, por rodar em sistemas de grande porte, sistemas mais fechados, por
isso no sofre tanto com os problemas dos pequenos sistemas, bem mais exposto por conta da
grande rede. Como o corao de grandes instituies financeiras, segue regras muito rgidas
de segurana.
Por fim, duas coisas so notrias: primeiro, h sim mercado de trabalho para o
profissional especializado em COBOL. Apenas no to escancarada a procura desses
profissionais como de outros especialistas. Algo como se voc um profissional COBOL,
no vai procurar emprego. O emprego vai procurar voc. Em segundo lugar, o aprendizado
fcil. A linguagem fcil, e h escolas boas espalhadas por a. Por exemplo, na regio do
ABC paulista, temos a Grande Porte, na Capital a Micro Focus, FATECs e SENACs
tambm propiciam cursos de COBOL.
5 Concluso
COBOL no uma linguagem morta, ao contrrio, est cada dia mais viva e presente no
cotidiano. No uma linguagem difcil, pois sua sintaxe parecida com a linguagem natural a
torna uma linguagem de fcil memorizao. E tambm por trabalhar com poucos tipos de
dados, e ter uma estrutura rgida, torna fcil o aprendizado.
A mais antiga das linguagens de programao (se considerarmos seu nascimento a partir
do FlowMatic), longe de estar obsoleta, , paradoxalmente a linguagem do futuro. Quem
acreditar e investir nela, ter diante de si uma carreira segura e estvel.
31
Referncias
Shimozu, Tamio. Programao COBOL Curso bsico. 3 ed. So Paulo: Atlas, 1986.
Coughlan, Michael. Beginning COBOL for Programmers. 1 Ed. New York (EUA), 2014.
Micro Focus. COBOL: The original language for business and a continued chart success,
em < https://blog.microfocus.com/cobol-tiobe-index/>, acessado em 27 de maro de 2017.
ComputerWorld. Cinco motivos que mantm o Cobol firme e forte nas empresas., em
http://computerworld.com.br/cinco-motivos-que-mantem-o-cobol-firme-e-forte-nas-empresas,
acessado em 27 de maro de 2017.