O que um bom curso de Cobol deve oferecer

Photo by SwapnIl Dwivedi on Unsplash

A oferta de cursos de programação Cobol diminuiu drasticamente nos últimos anos, apesar de seu uso intensivo em grandes empresas. A falta de opções para treinamento, inclusive, é uma das (muitas) causas para a escassez de mão-de-obra que se observa nessa área.

A expansão do EAD favoreceu o aumento no número de cursos e tutoriais para o Cobol, ainda que num volume muito menor do que o que se observa para outras linguagens de programação.

Mas não é porque é on-line, barato ou gratuito que todo curso é bom. Existem tópicos essenciais que todo conteúdo programático de um curso de Cobol deve cobrir. Neste portal, você pode ler de graça um livro que explica desde os conceitos fundamentais da linguagem até o uso de recursos mais avançados.

Mas neste artigo, vou apresentar temas e recursos que considero essenciais, ou no mínimo desejáveis, para qualquer um que queira programar em Cobol, seja num nível iniciante ou intermediário.

Conteúdo essencial para o nível básico

  • Estrutura da linguagem: divisões da linha de programa; palavras reservadas; nomes definidos pelo programador; diferenças entre divisões, seções, parágrafos e sentenças; o uso do ponto; constantes figurativas.
  • Identification Division: principais parágrafos.
  • Environment Division: configuração de vírgula decimal em campos numéricos; declaração de arquivos sequenciais, indexados e relativos.
  • Data Division: estruturação de dados no Cobol (itens de grupo e itens elementares); tipos e uso de dados; as diversas opções de picture; declaração de arquivos convencionais; declaração de variáveis e constantes de trabalho.
  • Procedure Division: parágrafos e sentenças; organização de parágrafos para programação estruturada; processamento de arquivos sequenciais; comandos e expressões condicionais; atribuição de valores a variáveis; operações aritméticas; desvios incondicionais.
  • Reuso de código: reuso em tempo de compilação (libraries); reuso em tempo de execução (subrotinas).
  • Emissão de relatórios: transformação do layout em itens de grupo e itens elementares; comandos específicos para geração de relatórios.
  • Classificação de arquivos sequenciais: classificação de todos os registros de um arquivo de entrada; classificação de alguns registros do arquivo de entrada; merge de arquivos.

Conteúdo essencial para o nível intermediário

  • Processamento de arquivos classificados: quebra de um nível, quebra de dois (ou mais) níveis; agrupamento; balance line.
  • Processamento de arquivos indexados: conceitos; declaração; uso de file status; comandos específicos.
  • Operações com strings: substrings; concatenação; separação; pesquisa; substituição.
  • Acesso a bancos de dados relacionais: variáveis host; includes; cursores; selects, inserts, updates e deletes; controle da unidade lógica de trabalho com commits e rollbacks.
  • Funções intrínsecas: o que são; como utilizar; como construir.

Recursos desejáveis

O ideal é que cursos on-line ou presenciais não ofereçam apenas uma exposição de tópicos como se fosse uma grande apresentação em Power-Point. Programação é artesanato. Programar é algo que só aprendemos na prática, depois de muitos e sucessivos erros.

O Cobol possui um conjunto de conceitos teóricos muito específicos, que precisam ser fixados pelo estudante. Uma variável COMP-3, por exemplo, é algo que não existe em nenhuma outra linguagem que você conheça, seja Java, Ruby, Phyton ou PHP.

Além disso, o Cobol está mais disponível em algumas plataformas do que em outras. Se seu objetivo, por exemplo, é aprender Cobol para programar em mainframes, fazer um curso que ensine a programar em ambiente Windows pode ajudar, mas alguns conceitos fundamentais muito específicos da plataforma mainframe podem fazer falta.

Por esses motivos, seria desejável que um curso de Cobol oferecesse os seguintes recursos:

  • Exercícios para fixação da teoria após a apresentação de cada tema;
  • Exercícios para codificação de programas (obviamente);
  • Exercícios de revisão de código para identificação de problemas e/ou mudanças de solução (o programador Cobol trabalha mais com manutenção do que com desenvolvimento);
  • Laboratório (ambiente pronto para construção e manutenção de programas, para que o aluno não fique restrito ao seu próprio equipamento pessoal)
  • Ambiente 100% mainframe (ou qualquer outro no qual o aluno realmente queira se especializar).
  • Monitoria facilitada (por incrível que pareça, a gente aprende mais rápido com as dicas e orientações de um programador experiente do que com leituras, aulas e exercícios).

Conclusão

Se por um lado o Cobol é uma linguagem igual a qualquer outra, por outro podemos dizer que possui especificidades que fazem com que seu método de aprendizado não seja exatamente igual ao método adotado para ensinar linguagens orientadas a eventos ou objetos.

É como comparar um treinamento para dirigir carretas com a autoescola que ensina a dirigir um sedan.

Para acelerar esse aprendizado, é importante avaliar não só o conteúdo do curso, mas principalmente os métodos e recursos que determinado treinamento oferece.


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *