Pls help a newcomer

  I read all over the web that IBM is trying hard to get people to learn Cobol. Well, I went to its website and found a link to  a company called Interskill which offers Cobol training. But there's no info as to when it will be delivered and the price. It seems to be in-person/webinar type. It's unlikely to be a free training. 
  Nowadays, there are tons of high quality courses offered in EdX and Coursera and I can't help to wonder why a company with resources like IBM do not just create a few classes there and offer examinations instead for certification.  Would it not resolve the programmer shortage problem?
  I found a training at github (https://github.com/openmainframeproject/cobol-programming-course), which basically consists of the following three steps: read these docs, figure out yourself and good luck!!  Well yeah, that's the distance learning model the year Cobol came to IBM.  I found it is really strange a company of this caliber despairing for people to learn Cobol, yet from its web site, it appears to offer almost nothing on the web to teach it.  IBM's approach to teaching Cobol seems as outdated as the programming language itself.  
 Can someone enlighten me if there's a way to learn Cobol, like I am learning C (Harvard CS50 on EdX) and what's the certification available to test mastery of subject?

Hi Ekim,
Welcome to the world of COBOL. There are udemy courses available, which would help to get a good idea from scratch.
This is the link available.


There is no need for you, to have mainframe ID for this.
Its like distance learning only.

I agree with you Ekim, IBM should be awareness about the shortage of technical in their platforms and should be more worried on prepare more people than make business.

Dear colleague

There is no rule to learn to program in a specific language, if you already know how to program (I say program OK!) In another language (Java, Perl, C, C ++, C #, Pascal, etc.), you have the necessary foundations to learn COBOL . My recommendation is that you get a COBOL compiler, whatever allows you to see the results, I am proficient in RM / COBOL but it is only an idea, you need to know the basics of the Language and there is nothing like practice / error programming yourself you will see how you find Fast the basics of language, but you have to keep in mind that it is a programming language, designed to be written in natural English.

Good luck with your learning and if you need help I will be here, thanks to COVID-19, I don’t think I will move much

Cheers

2 Likes

Completely agree. GNU Cobol is available on FreeBSD (pkg install gnu-cobol) and many Linux distributions, and Windows also. So is the hercules emulator.

I’ve got nearly 30 years in nearly every other language (at one point in time) so I’m with @jubach and the it’s only another language department. Different, for sure, than python, ruby, rust, whatever the current hotness is atm, but that’s it. Just another procedural language.

If you’ve any decent skills in any other procedural language, install GNU Cobol, find a tutorial, and go for it!

1 Like

Yes programming is programming no matter which language you choose. Just be aware COBOL is different in some regards. You biggest obstacle is z/OS or z/VSE. Program development on each system is a different and with unique learning pathways. Not going to learn that in book.

Hi,

You won’t learn all that in a book, but if you want to start any one is good. But the main thing is to learn the fundamentals, when you see or face a program already done, it does not sound Chinese to you.

I give you an example:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

ENVIRONMENT DIVISION.

INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILEN ASSIGN TO INPUT.
ORGANIZATION IS SEQUENTIAL.
ACCESS IS SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD FILEN
01 NAME PIC A (25).

WORKING-STORAGE SECTION.
01 WS-STUDENT PIC A (30).
01 WS-ID PIC 9 (5).

LOCAL-STORAGE SECTION.
01 LS-CLASS PIC 9 (3).

LINKAGE SECTION.
01 LS-ID PIC 9 (5).

PROCEDURE DIVISION.
DISPLAY ‘Executing COBOL program using JCL’.
STOP RUN.

It is a mini program, but you have to understand it, and be able to adapt it, and make it yours, and that is if it is taught in books. What you say is the same as what is said about Java, C, C ++, C #, the ways of programming change, but the background is the same. When I started programming in this language (31 years have already passed), nobody explains the number of divisions that there are before starting to program a single line of code, but when you master the background, you can make a generator of COBOL Maintenance so that it is the same program that auto programs your needs. The rest I leave to the forms and the systems, be it a Mainframe or a PC, that doesn’t matter.

Cheers

1 Like

Ekim,

Most, if not all, of IBM Education was “outsourced” to companies like “Global Knowledge”. I retired last year but I took some on-site courses from them. They respond to the market and there was a dearth of mainframe courses. When I started on mainframes, in the 80’s, I went to dozens of IBM Education courses in Los Angeles, San Francisco and Dallas. Alas, those days are gone but IBM mainframes don’t have to set you back millions of dollars anymore either.

I know it doesn’t help much. You should also be aware that there is COBOL for mainframes but there is additional learning how to code for CICS, MQ, WAS, DB2, IMS, etc.

Good luck.

I’ll agree in principal, as long as we can agree that it will matter because when your program terminates erroneously; you won’t get the same error messages on Linux, Windows OS400, or z/OS. You can trip over the same errors like PERFORM clauses(too many times tables aren’t big enough), COMP vs COMP-3, File IO (writing to a closed file) and that doesn’t matter on which platform you code.

I sympathize with your situation. I’m an expert with extensive experience on 1970s-era systems & have found no way to let anybody who might be interested know I’m available. I can at least, if you want, help you learn the language. Do you have a preferred way for us to interact?

Totally agree, you have to separate the base platform from the programming, in Java if we program for Linux the I / O drivers are different than if we program for Windows, that’s an echo. From this point on, the language itself is not difficult to learn and with the online tools made available to future programmers there is more than enough to understand programming and its syntactic bases. Which does not mean that when you face the code made in a mainframe, you fully understand it.

It is more there lies the problem, and as much as you study and learn to master a language, the time will always come to face a code foreign to you and your way of programming, but we are talking about COBOL, which was designed by and for business , is its strongest point.

Cheers

Here’s a good starter from JUBACH, which is worthwhile looking at. If you’re decidedly apprehensive rest assured you’ll get the hang of it. Some other notables are Data Division Clauses, which come in handy, and the venerable CALL statement, which will permeate your code as you move to online programming, and other stuff. Happy trails

You can easily learn cobol through online courses.

Just download and istall OpenCOBOLIDE.

You can use courses like these to learn about COBOL and Mainframes in general.

tso course image

https://www.udemy.com/course/the-complete-mainframe-professional-course-tso-ispf/

Just need internet. :+1:

Been there done that :pensive: The most part of the courses are not worth the money spent

What disappointed you about the course(s)?

Me desculpem, mas


Para se fazer um bom programa Ă© essencial que se conheça o ambiente, suas caracterĂ­sticas, e principalmente, projeta uma “estrutura” do que serĂĄ feito.
Afinal, quando vocĂȘ desenha a “estrutura” do programa acaba simplificando a solução, bem como, confirma todo o seu entendimento, em COBOL poderĂ­amos definir como “PROGRAM DESIGN”, principalmente, porque grande parte da utilização do COBOL esta relacionada a “serviços” COBOL/CICS/DB2, onde Ă© premente conhecer o ambiente CICS e SQL.
O COBOL, hoje em dia, é utilizado basicamente como um elemento COMPLEMENTAR de uma Solução de Arquitetura.
Quando estamos em uma “plataforma” de multi tarefas como CICS, os recursos Físicos não estão sob o controle exclusivo do seu programa, mas, sob o controle do CICS, por esta razão os comandos relacionados a recursos utilizados são COBOL/CICS (COMAND LEVEL de MACROS CICS).
O que me surpreende é que a IBM nos idos de 1978 ministrava cursos de COBOL ESTRUTURADO para os Funcionårios de seus Clientes, e justamente, quando a formação de tais Desenvolvedores se faz necessåria, a IBM deixa a coisa ficar como esta.
A IBM com o seu KNOW-HOW histĂłrico, jĂĄ poderia ter disponibilizado plataforma de ensino remoto, sem grandes custos, mais com enormes benefĂ­cios para a continuidade de uso de seus HADWARES, principalmente, quando se preocupou em desenvolver um NOVO Compilador COBOL.