openmainframeproject / cobol-programming-course

Training materials and labs for a "Getting Started" level course on COBOL
https://openmainframeproject.org/projects/cobol-programming-course/
Creative Commons Attribution 4.0 International
3k stars 584 forks source link

Tools and resources #2

Closed OlegKunitsyn closed 4 years ago

OlegKunitsyn commented 4 years ago

Thank you for OpenMainframeProject! Nowadays software engineering is driven by openness, not elitism.

I have some background in Java, C#, PHP and JS. After reading the COBOL-calling posts last Friday, I decided to explore the new old-school tech-stack. Read Programmer's guide, Language reference, installed software and completed online training (actually 1.5 courses, to obtain IBM ID and Z/OS machine with ISPF and JCL on top). In addition to decimal math, I found the declarative validation and the representation of data in COBOL absolutely impressive.

The bad news is the enthusiasts are unable to design their flows of software delivery (CI/CD) unhindered. Please correct my findings below.

Training courses

Certification

Editor

Compiler

Debugger

Profiler

Static analysis

Unit testing

Code coverage

Presentation environment

Modern engineering expects that the first 3 milestones of "learn->try->present->sell->maintain" are easily and quickly achievable. IBM need to invest into the community and "open the doors" first. Only people keep the technology alive.

leonardcohen58 commented 4 years ago

Oleg,

Would it be possible to share the links to the training course work you found. I am sorely in need of refreshing my skills.

Thank you in advance

Leonard

On Sun, Apr 12, 2020 at 5:14 PM OlegKunitsyn notifications@github.com wrote:

Thank you for OpenMainframeProject! Nowadays software engineering is driven by openness, not elitism.

I have some background in Java, C#, PHP and JS. After reading the COBOL-calling posts last Friday, I decided to explore the new old-school tech-stack. Read Programmer's guide, Language reference, installed software and completed online training (actually 1.5 courses, to obtain IBM ID and Z/OS machine with ISPF and JCL on top). In addition to decimal math, I found the declarative validation and the representation of data in COBOL absolutely impressive.

The bad news is the enthusiasts are unable to design their flows of software delivery (CI/CD) unhindered. Please correct my findings below.

Training courses

  • None by IBM.
  • COBOL Programming in Easy and Practical Methods. Online, 7 hours long.
  • Mainframe: The Complete COBOL Course From Beginner To Expert. Online, 9.5 hours long.

Certification

  • None by IBM.
  • Online by Udemy.

Editor

  • IBM Z Open Development IDE. Not really useful without own Mainframe, "The IBM license key cannot be found."
  • IBM Z Open Editor Plugin for VS Code.

Compiler

  • IBM Enterprise COBOL. Available only to members of IBM PartnerWorld.
  • GnuCobol. Good, but partially incompatible with IBM Enterprise COBOL.

Debugger

  • Debugger for Mainframe by Broadcom. Not really useful without own Mainframe.

Profiler

  • ?

Static analysis

  • ?

Unit testing

  • cobol-unit-test by Neopragma.

Code coverage

  • ?

Presentation environment

  • IBM Z/OS on own Mainframe.
  • Hercules emulator. Not really useful without IBM DASD image which is available only to members of IBM PartnerWorld.

Modern engineering expects that the first 3 milestones of "learn->try->present->sell->maintain" are easily and quickly achievable. IBM need to invest into the community and "open the doors" first. Only people keep the technology alive.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openmainframeproject/cobol-programming-course/issues/2, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOTPKEFA5K3ZDS6L4FFVZ7LRMHEERANCNFSM4MGNYALQ .

--

Leonard Cohen c. 917.566.3360

danpcconsult commented 4 years ago

Thank you for the post. I have found 'COBOL Programming in Easy and Practical Methods.' and 'Mainframe: The Complete COBOL Course From Beginner To Expert.' on Udemy. I am going through these courses now because I am fairly new to programming, but not Information Technology. Once IBM gets videos and other sources of learning online I will study those as well. Thank you all for your help. I am not sure if my lessons will help or even assist at the problem our nation is facing, but I will do my best.

JerethCutestory commented 4 years ago

Oleg & Leonard,

I also thought I'd look into the feasibility of quickly transferring .NET skills over to COBOL. Here are a few of the many resources I've come across, although I'm more interested in Intro to COBOL, so these might not be very useful for review.

First, the press release by IBM announcing their call to COBOL programmers:

https://newsroom.ibm.com/2020-04-09-IBM-and-Open-Mainframe-Project-Mobilize-to-Connect-States-with-COBOL-Skills

They state in the press release that they will be releasing details of a new video training series this week. Hopefully this will address Oleg's concerns about a lack of access to real mainframe resources for testing out new concepts.

An online COBOL playground can be found here:

https://www.tutorialspoint.com/compile_cobol_online.php

This seems to be a redirecting of STDOUT to a web page field. You can see the call to the compiler, and it appears as if the application is immediately run. Don't know how extensive typical COBOL assets are on the system, but it is a great way for a beginner to get started without cumbersome environment setup.

Speaking of environment, you can always download the gnuCOBOL compiler and execute programs locally. As Oleg mentions, this compiler doesn't include everything in the commercial versions available from IBM. However, gnuCOBOL works well Visual Studio Code, there are many videos explaining it on Youtube.

Another choice might be VisualCOBOL by Microfocus:

https://www.microfocus.com/en-us/products/visual-cobol/overview?utm_campaign=WQDGNFY2036828&utm_content=Search-Brand-AMC-VisualCobol-X-AMS-X-GGL-Exact&gclid=EAIaIQobChMI3cbgweLj6AIVIxvnCh1osQxUEAAYASAAEgI97PD_BwE

This is a full-featured extension and template for Visual Studio. This would make those of us who use VS daily feel a little less like we're in a foreign land.

And for the truly fearless, you can install what looks like a version of z/OS locally (again, just learning about these systems):

https://www.youtube.com/watch?v=N6sK_BhVD8g

This video describes installing IBM MVS on Linux, but he also has a video describing a Windows installation.

I've seen video courses on pluralsight.com for both COBOL and JCL, but haven't watched them. Oleg is probably describing a series at Udemy, but there seem to multiple online courses available.

If someone is really adventurous, they may even check out sources like the Harvard Extension School, which is a very high quality (and expensive) series of courses taught be faculty. I know many top universities have similar offerings. And if you are truly unstoppable, you may be able to convince them to give you a hefty discount since you are tying to learn/review COBOL in order to volunteer and help out states and municipalities in desperate need of those skills.

Best of luck, and stay safe! MLH

kas1830 commented 4 years ago

Thanks for the info guys! When the training materials will be available here?

Regards, Vladimir

leonardcohen58 commented 4 years ago

Thank you.

Leonard

On Mon, Apr 13, 2020 at 12:09 AM danpcconsult notifications@github.com wrote:

Thank you for the post. I have found 'COBOL Programming in Easy and Practical Methods.' and 'Mainframe: The Complete COBOL Course From Beginner To Expert.' on Udemy. I am going through these courses now because I am fairly new to programming, but not Information Technology. Once IBM gets videos and other sources of learning online I will study those as well. Thank you all for your help. I am not sure if my lessons will help or even assist at the problem our nation is facing, but I will do my best.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/openmainframeproject/cobol-programming-course/issues/2#issuecomment-612676291, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOTPKECKTA5USM5IL35KDTLRMIUZHANCNFSM4MGNYALQ .

--

Leonard Cohen c. 917.566.3360

leonardcohen58 commented 4 years ago

Mark,

Greatly appreciated. You too stay well, stay safe.

Leonard

On Mon, Apr 13, 2020 at 12:12 AM Mark Humphrey notifications@github.com wrote:

Oleg & Leonard,

I also thought I'd look into the feasibility of quickly transferring .NET skills over to COBOL. Here are a few of the many resources I've come across, although I'm more interested in Intro to COBOL, so these might not be very useful for review.

First, the press release by IBM announcing their call to COBOL programmers:

https://newsroom.ibm.com/2020-04-09-IBM-and-Open-Mainframe-Project-Mobilize-to-Connect-States-with-COBOL-Skills

They state in the press release that they will be releasing details of a new video training series this week. Hopefully this will address Oleg's concerns about a lack of access to real mainframe resources for testing out new concepts.

An online COBOL playground can be found here:

https://www.tutorialspoint.com/compile_cobol_online.php

This seems to be a redirecting of STDOUT to a web page field. You can see the call to the compiler, and it appears as if the application is immediately run. Don't know how extensive typical COBOL assets are on the system, but it is a great way for a beginner to get started without cumbersome environment setup.

Speaking of environment, you can always download the gnuCOBOL compiler and execute programs locally. As Oleg mentions, this compiler doesn't include everything in the commercial versions available from IBM. However, gnuCOBOL works well Visual Studio Code, there are many videos explaining it on Youtube.

Another choice might be VisualCOBOL by Microfocus:

https://www.microfocus.com/en-us/products/visual-cobol/overview?utm_campaign=WQDGNFY2036828&utm_content=Search-Brand-AMC-VisualCobol-X-AMS-X-GGL-Exact&gclid=EAIaIQobChMI3cbgweLj6AIVIxvnCh1osQxUEAAYASAAEgI97PD_BwE

This is a full-featured extension and template for Visual Studio. This would make those of us who use VS daily feel a little less like we're in a foreign land.

And for the truly fearless, you can install what looks like a version of z/OS locally (again, just learning about these systems):

https://www.youtube.com/watch?v=N6sK_BhVD8g

This video describes installing IBM MVS on Linux, but he also has a video describing a Windows installation.

I've seen video courses on pluralsight.com for both COBOL and JCL, but haven't watched them. Oleg is probably describing a series at Udemy, but there seem to multiple online courses available.

If someone is really adventurous, they may even check out sources like the Harvard Extension School, which is a very high quality (and expensive) series of courses taught be faculty. I know many top universities have similar offerings. And if you are truly unstoppable, you may be able to convince them to give you a hefty discount since you are tying to learn/review COBOL in order to volunteer and help out states and municipalities in desperate need of those skills.

Best of luck, and stay safe! MLH

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/openmainframeproject/cobol-programming-course/issues/2#issuecomment-612676649, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOTPKEFGWQBVZZXOGWGJIIDRMIVE5ANCNFSM4MGNYALQ .

--

Leonard Cohen c. 917.566.3360

MartinYeung5 commented 4 years ago

Thanks for the info guys! When the training materials will be available here?

Regards, Vladimir

I have read the news on https://newsroom.ibm.com/2020-04-09-IBM-and-Open-Mainframe-Project-Mobilize-to-Connect-States-with-COBOL-Skills

The information of the e-learning/training materials of COBOL: IBM worked with clients and an institute of higher education to develop an in-depth COBOL Programming with VSCode course that will be available next week on the public domain at no charge to anyone. This curriculum will be made into a self-service video course with hands-on labs and tutorials available via Coursera and other learning platforms next month. The course will be available on IBM’s own training platform free of charge.

JoAnnaEsq commented 4 years ago

Thank you so much for making such resources available. It is greatly appreciated.

varlux commented 4 years ago

some books, pdf for beginner?

OlegKunitsyn commented 4 years ago

Thank you for feedback and the links. I just wanted to highlight, that COBOL is a victim of legacy business model. Books and courses have nothing to do with it. In XX we were building a computing room, purchasing the tools, licenses and terminals. An engineer comes with a problem and rents the infrastructure. He/she writes the code, debugs and executes it in the target environment. We may see this centralized approach in the tutorials and videos. In XXI we have personal computing, decentralized tools, virtualization, local environments. Development on remote machines is considered archaic and counterproductive. Problem domain comes first, production infrastructure is very last thing. How IBM supports COBOL tech-stack in new reality we may see in comparison with Java or .Net. As long as IBM jealously guards the production compiler and the execution runtime, no training courses will make COBOL great again.

OlegKunitsyn commented 4 years ago

some books, pdf for beginner?

sccosel commented 4 years ago

The Enterprise COBOL for z/OS V4.2 Language Reference is important documentation of Cobol reserved words and built in functions: https://www.ibm.com/support/knowledgecenter/SS6SG3_4.2.0/com.ibm.entcobol.doc_4.2/PGandLR/igy3lr50.pdf

kas1830 commented 4 years ago

Make COBOL great again! 😎

CmdrZin commented 4 years ago

I have worked through "COBOL Programming with VSCode", on a Windows 10 machine, up to the first lab, but with no mainframe access or COBOL system, makes it kinda hard to proceed. Is it possible to put gnuCOBOL on a Linux machine and remote to it through VScode to do the labs?

paulnewt commented 4 years ago

https://www.eventbrite.com/e/a-beginners-practical-approach-to-cobol-tickets-102714511870 listen for announcement of access to z/OS for the COBOL labs - no cost

paulnewt commented 4 years ago

Re: Linux machine --- LinuxONE access is available to the public - pick from the big 3 distributions - https://developer.ibm.com/linuxone/ ... scroll forward to Linux Tutorial which includes recommendations to explore configuration before installing software

OlegKunitsyn commented 4 years ago

I have worked through "COBOL Programming with VSCode", on a Windows 10 machine, up to the first lab, but with no mainframe access or COBOL system, makes it kinda hard to proceed. Is it possible to put gnuCOBOL on a Linux machine and remote to it through VScode to do the labs?

For gnuCOBOL on VS Code: put task.json below and click Run Build Task (CTRL+Shift+B). And adapt 'cobc' call to your environment.

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Execute COBOL",
            "type": "shell",
            "command": "cobc -x -g -d -j -fdebugging-line -fsource-location -ftraceall ${file}",
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always",
                "panel": "new"
            },
            "problemMatcher": []
        }
    ]
}
OlegKunitsyn commented 4 years ago

Last weekend I've created a COBOL debugger extension for VS Code based on GnuCOBOL and GNU Debugger. Please test it on your environment and contribute.

Dlthomass commented 4 years ago

How about Fujitsu Cobol 85 for win95? and Also, I have downloaded called "Raincode" to have a try. For the learning, at least we need to learn JCL, database . Just COBOL , GNUCOBOL enough for us. However, Gnucobol can do a these like JCL, database?, from Raincode they say we could use SQL server instead to practice.

Dlthomass commented 4 years ago

Who hasinstalled Raincode interated in Visual studio 2019 successfully?

brunopacheco1 commented 4 years ago

Hello @OlegKunitsyn , Thanks for your plugin. it looks promising, I'm not sure how I could contribute, but I would like to.

Dlthomass commented 4 years ago

@OlegKunitsyn do I need to set up a system variable for Cobc? it is down at ...\gnucobol\bin. I just put it on the path same as Javahome whereabout . Ok? I want VS c to compile the cobol program and debug it.

OlegKunitsyn commented 4 years ago

@OlegKunitsyn do I need to set up a system variable for Cobc? it is down at ...\gnucobol\bin. I just put it on the path same as Javahome whereabout . Ok? I want VS c to compile the cobol program and debug it.

I'm sorry I can't help. Please post your issue on the extension's page. Hopefully other users could assist you. I've not set any variables on my machine (Linux).

sccosel commented 4 years ago

@OlegKunitsyn Correct me if I'm wrong, but gnuCobol is a completely different animal than what is being discussed/taught in this course/project, correct?

sccosel commented 4 years ago

The webinar event, "A Beginners Practical Approach To Cobol" has ended. Here is the recorded version: https://developer.ibm.com/technologies/cobol/videos/cobol-programming-with-vscode-course-launch-webinar

OlegKunitsyn commented 4 years ago

@OlegKunitsyn Correct me if I'm wrong, but gnuCobol is a completely different animal than what is being discussed/taught in this course/project, correct?

The sources in this course are a bit incompatible with GnuCobol. Above you may find my concern regarding the "openness" of IBM COBOL and download both Programmer's Guides to compare the syntax.

paulnewt commented 4 years ago

Excellent comment - The book states nobody owns COBOL. An industry standard exists for COBOL. the course is based upon IBM Enterprise COBOL for z/OS. So differences exist but all should be following the industry standard (in my opinion)

paulnewt commented 4 years ago

I have not looked into it - but I expect today's COBOL feature/function may have outrun the industry standard ... such as inclusion of JSON generators/parsers, various intrinsic functions, etc.

brunopacheco1 commented 4 years ago

@OlegKunitsyn do I need to set up a system variable for Cobc? it is down at ...\gnucobol\bin. I just put it on the path same as Javahome whereabout . Ok? I want VS c to compile the cobol program and debug it.

Halo! The gnucobol and gdb have to be visible in the PATH to be found by the cobol debugger extension.

sccosel commented 4 years ago

GnuCobol is not in the scope of this class. I'm not sure what you guys are doing.

paulnewt commented 4 years ago

good points and appears chatter on author points has quieted - none of us can fix everything - but together we can make progress

OlegKunitsyn commented 4 years ago

good points and appears chatter on author points has quieted - none of us can fix everything - but together we can make progress

Free COBOL debugger has been released on VS Code marketplace. Now OMP may offer a non-IBM programming course, too. Main discussion as well as open-source contributors are out there.

paulnewt commented 4 years ago

--- Provider --- section exists for where to experiment, build, test, and maintain. --- my proposal is separate books dedicated to different COBOL offerings - there are numerous. We learned on COBOL Friday call a new COBOL 2020 industry standard exists - it might require a cost to get it we learned