Where can i learn COBOL

Stefan.dl

Active Member
Joined
Jan 8, 2016
Messages
30
The mainframe is mainly used by large corporations that need to process huge volumes of data. Most COBOL is back end stuff (batch processing etc). Still the fastest and most efficient way to process volumes, especially if you have a good transactional database like ADABAS.
As a (relatively young) COBOL Developer, that has experience in multiple languages, there is just nothing that can process the amount of data at the speed and stability that COBOL can. When I started working after Uni I thought cool let's rewrite this historic thing that is the back end of a bank. LOL was I wrong.
 

GreGorGy

BULLSFAN
Joined
Jan 18, 2005
Messages
14,423
As a (relatively young) COBOL Developer, that has experience in multiple languages, there is just nothing that can process the amount of data at the speed and stability that COBOL can. When I started working after Uni I thought cool let's rewrite this historic thing that is the back end of a bank. LOL was I wrong.
That is something I recall from back then. COBOL programs could operate through a fückton of data much more efficiently than anything else at the time.
 

cguy

Expert Member
Joined
Jan 2, 2013
Messages
4,878
As a (relatively young) COBOL Developer, that has experience in multiple languages, there is just nothing that can process the amount of data at the speed and stability that COBOL can. When I started working after Uni I thought cool let's rewrite this historic thing that is the back end of a bank. LOL was I wrong.
Pretty sure I could beat it using C++. ;)
 

vic777

Expert Member
Joined
May 6, 2015
Messages
1,279
As a (relatively young) COBOL Developer, that has experience in multiple languages, there is just nothing that can process the amount of data at the speed and stability that COBOL can. When I started working after Uni I thought cool let's rewrite this historic thing that is the back end of a bank. LOL was I wrong.
True, but they also don't run COBOL programs on some small server, its usually a big mainframe. I'm sure many programming languages could get similar levels of performance given that hardware
 

newby_investor

Expert Member
Joined
Aug 8, 2018
Messages
1,533
True, but they also don't run COBOL programs on some small server, its usually a big mainframe. I'm sure many programming languages could get similar levels of performance given that hardware
True, but then you need to understand how the hardware works in order to code properly to suit it.

Though modern compilers do a lot of that work for you.
 

vic777

Expert Member
Joined
May 6, 2015
Messages
1,279
True, but then you need to understand how the hardware works in order to code properly to suit it.

Though modern compilers do a lot of that work for you.
I don't mean coding in assembly language, I mean using something like C++
 

Daruk

Honorary Master
Joined
Jul 18, 2008
Messages
39,005
Lot's of COBOL jobs out there. Face it, the mainframe will be around for a long time, and legacy skills are becoming very scarce. Youngsters have no interest in learning old tech.
Not only that, but there's a living to be made from migration.
 

CT_Biker

Expert Member
Joined
Sep 10, 2016
Messages
1,642
Lot's of COBOL jobs out there. Face it, the mainframe will be around for a long time, and legacy skills are becoming very scarce. Youngsters have no interest in learning old tech.
I do actually have some interest in learning COBOL, however not right now. I am more engrossed in my pursuit of a degree.

I nearly ordered a PiDP replica to maybe learn ALGOL, but FFS another distraction is not what I need right now
 

newby_investor

Expert Member
Joined
Aug 8, 2018
Messages
1,533
I don't mean coding in assembly language, I mean using something like C++
Yeah, but just naively coding will only get you so far. A big mainframe usually has a lot of CPUs which (sometimes) are not as powerful individually as you'd get in a high-end workstation. You need to code specifically to make use of that, and if done stupidly can actually end up being slower than just the single-threaded case. And more dangerous.
 

vic777

Expert Member
Joined
May 6, 2015
Messages
1,279
Yeah, but just naively coding will only get you so far. A big mainframe usually has a lot of CPUs which (sometimes) are not as powerful individually as you'd get in a high-end workstation. You need to code specifically to make use of that, and if done stupidly can actually end up being slower than just the single-threaded case. And more dangerous.
You have to take this into account in any case if you want your programs to perform well.

What specific things exist in COBOL to cater for this that I wouldn't be able to do as well in C, C++ or Java?
 

newby_investor

Expert Member
Joined
Aug 8, 2018
Messages
1,533
What specific things exist in COBOL to cater for this that I wouldn't be able to do as well in C, C++ or Java?
Not sure. I haven't used COBOL apart from a few hours worth of mucking about a couple of years back as I was curious.
I'd presume that their compilers take the architecture of the mainframe into account though, because COBOL was designed so that business-types could use it, not CS types.
 

cguy

Expert Member
Joined
Jan 2, 2013
Messages
4,878
Not sure. I haven't used COBOL apart from a few hours worth of mucking about a couple of years back as I was curious.
I'd presume that their compilers take the architecture of the mainframe into account though, because COBOL was designed so that business-types could use it, not CS types.
Pretty much all multi core, distributed HPC code today is written in C, C++ or Java. These are the most efficient languages for this kind of work.

It’s also not something one wants to leave to the compiler. ;)
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,490
You have to take this into account in any case if you want your programs to perform well.

What specific things exist in COBOL to cater for this that I wouldn't be able to do as well in C, C++ or Java?
I can only read COBOL and not code it, but one thing that impressed me in COBOL is the "move corresponding" statement, which one can use to rapidly copy from one record to another one, especially where the layouts are different: http://www.mainframestechhelp.com/tutorials/cobol/cobol-move-corresponding.htm
In general, COBOL is very good at working with fixed width records, which makes it a good option for record based data processing very common in financial situations.
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,490
Pretty much all multi core, distributed HPC code today is written in C, C++ or Java. These are the most efficient languages for this kind of work.

It’s also not something one wants to leave to the compiler. ;)
I also see a lot of Fortran in the HPC arena.
 

cguy

Expert Member
Joined
Jan 2, 2013
Messages
4,878
I also see a lot of Fortran in the HPC arena.
That’s fallen out of favor a fair amount. Most of the people doing that kind of work had to move to CUDA.

(Edit: FYI, CUDA Fortan is a thing now because of this, but it’s definitely not 1st class support)
 
Last edited:

Johnatan56

Honorary Master
Joined
Aug 23, 2013
Messages
24,959
Creators of COBOL invested 2 trillion dollars for the universal language. Businesses worldwide run on over 220 billion lines of code today. It would be a herculean feat to replace every single business program with a brand new language without introducing detrimental bugs. Hence, the cost just hasn’t outweighed the benefits of replacing COBOL.

...
The Case for the COBOL Comeback

Although COBOL is currently out of sight and out of mind, businesses have to focus on restitching the antiquated fabric of their infrastructure…eventually. Consider the average age of the COBOL programmer today.

1561235325658.png
That survey was taken 9 years ago. In 2014, Micro Focus says that the average age of COBOL programmer is still about 55-years-old.
https://blog.hackerrank.com/the-inevitable-return-of-cobol/
So the question become how long until we start replacing it or whether it's worth the cost of training new people to learn COBOL, which it probably is currently.
 
Top