Chris Verhoef debunking myths about legacy and COBOL

  • Post category:COBOL
  • Reading time:1 min read

Last week, the De Technoloog, a BNR program, had a very nice interview with Professor Chris Verhoef of VU University. The interviewers, Herbert Blankesteijn and Ben van der Burg, were surprised to find that COBOL is not bad and is very good for programming administrative automation processes. Legacy is not an issue. Not allowing time for maintenance is a management issue. He mentioned the Lindy effect which tells us that the life expectancy of old code increases with time. The established code is anti-fragile.

Programming languages for z/OS

  • Post category:DBAOTMProgramming
  • Reading time:6 mins read

In this post I will discuss the programming languages you find on z/OS, and what they are generally used for. COBOL The COBOL programming language was invented 60 years ago to make programs portable across different computers. The language is best usable for business programs (as opposed to scientific programs). COBOL is a language that must be compiled into executables, load modules. IDENTIFICATION DIVISION. PROGRAM-ID. COBPROG. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. DISPLAY "HELLO WORLD". STOP RUN. PL/I PL/I was developed in the mid-1960s with the aim to create a programming language that could be used for business as well as scientific applications. Like COBOL, PL/I programs must be compiled into load modules. World: Procedure options(main); Put List( 'Hello world' ); End World; Assembler Assembler is still around. In the past business applications were developed using Assembler. Nowadays you should not do that anymore. But there are still a lot of legacy assembler programs around on the mainframe. In the old days, assembler was often used to implement tricks to achieve things that were not possible with the standard operating system, or other programming languages. This practice has created a problematic legacy of very technical programs in many mainframe application portfolios. The modern stance is that Assembler program should be regarded as severe legacy, because it is no longer maintainable and Assembler program are a risk for operating system and middleware updates. Furthermore, we find Assembler programs in modifications to the z/OS operating system and middleware. z/OS offers a number of points where you can customize the behavior of the operating system. These so-called exit-points oftentimes only have interfaces in Assembler. Like application programs in Assembler, z/OS exits in Assembler are a continuity risk. Not only because nobody knows how to program Assembler anymore, but even more so because these exit points make use of interfaces that IBM may (and wishes to) change at any point in the future. IBM is actively removing Assembler-based exit points and replacing these where needed with configuration parameters. The bottom line is that you should remove all home-grown Assembler programs from your z/OS installation. TEST0001 CSECT STM 14,12,12(13) BALR 12,0 USING *,12 ST 13,SAVE+4 LA 13,SAVE WTO 'HELLO WORLD!' L 13,SAVE+4 LM 14,12,12(13) BR 14 SAVE DS 18F END Java The language invented by a team from Sun in the 1990s with the goal to develop a language that could run on any device. Support for Java on the mainframe was introduced somewhere in the beginning of the 21st century. Java programs do not need to be compiled. They are interpreted by a special layer that must be installed in the runtime environment, called the Java Virtual Machine. The execution is (therefore) far more inefficient than COBOL and PL/I. So inefficient that running it on the mainframe would be very expensive (see section Understanding the cost of software on z/OS, MLC and OTC). To address this IBM invented the concept of zIIP specialty engines (see section Specialty engines), which makes running Java on the…

The big free mainframe curriculum

  • Post category:EducationGeneral
  • Reading time:2 mins read

Learn mainframe, z/OS and Linux for Z on a shoestring. Let me know if you have any updates or additions to the list. Introduction Here's What Happens When an 18 Year Old Buys a Mainframe https://www.youtube.com/watch?v=45X4VP8CGtk&t=94s z/OS introductory video course http://www.redbooks.ibm.com/redbooks.nsf/redbookabstracts/crse0304.html?Open The ABCs of System Programming redbooks http://www.redbooks.ibm.com/abstracts/sg246981.html?Open IBM z/OS Basic Skills page in Knowledge Center.  https://www.ibm.com/support/knowledgecenter/en/zosbasics/com.ibm.zos.zbasics/lcmain.html Introduction to the new mainframe http://www.redbooks.ibm.com/abstracts/sg246366.html?Open RelevantZ site http://relevantz.ibmsystemsmag.com/ibm-systems-relevant-z IBM Z Youtube IBM Z YouTube channel Love mainframe https://lovemainframe.com/ Open source initiatives Zowe https://www.openmainframeproject.org/ Free training offers Cross-technology z/OS Introduction and Workshop http://dtsc.dfw.ibm.com/MVSDS/'HTTPD2.APPS.ZOSCLASS.SHTML(ZOSCLASS)' Master the mainframe: https://www.ibm.com/it-infrastructure/z/education/master-the-mainframe Free training at HPI https://open.hpi.de/courses/mainframes2018 Many tutorials on Mainframetechhelp https://www.mainframestechhelp.com/ Tutorialspoint on mainframe https://www.tutorialspoint.com/mainframe_tutorials.htm Mainframe Playground  https://mainframeplayground.neocities.org/ TSO/ISPF Introduction to TSO/ISPF https://www.tutorialbrain.com/mainframe/tso_ispf/ JCL Introduction to JCL https://www.tutorialbrain.com/mainframe/jcl_pgm_parameter/ JCL course https://www.tutorialspoint.com/jcl/jcl_job_statement.htm COBOL Introduction to COBOL https://www.tutorialbrain.com/mainframe/cobol_home/ Free COBOL course from CSIS http://www.csis.ul.ie/cobol/course/ Mainframe playground on COBOL https://mainframeplayground.neocities.org/COBOL.html Books (search for 2nd hand versions) Teach Yourself COBOL In 21 Days Murarch’s Mainframe COBOL CICS Introduction to CICS http://www.redbooks.ibm.com/abstracts/crse0303.html?Open Db2 for z/OS DB2 for z/OS: Data Sharing in a Nutshell Introduction to Db2 z/OS (for programmers) - https://www.tutorialbrain.com/mainframe/db2_tutorial/ MQ for z/OS MQ on z/os concepts https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm.mq.pro.doc/q003590_.htm http://share.confex.com/data/handout/share/131/Session_23611_handout_11867_0.pdf VSAM Introduction to VSAM https://www.tutorialbrain.com/mainframe/vsam_tutorial/ Assembler Assembler training https://punctiliousprogrammer.com/ibm-mainframe-assembler/ Developer topics IBM System z Tech Video’s IBM Z Systems tech zone Application Discovery ADDIApplication Delivery Foundation for z Systems ADFzzD&T - mainframe for hobiests on your Intel machine zD&T Access to real mainframe Unfortunately there is no Community mainframe yet. How cool would that be.  There is the emulator solution zD&T on which you can run z/OS legitimately (warning: quite cumbersome, slow and expensive.) IBM Z trials https://www.ibm.com/it-infrastructure/z/resources/trial Gives you 3 days access to a trial environment with scripted tutorials.. When you have a software development company, or if you are rich: Remote development programme on Dallas System z http://dtsc.dfw.ibm.com/MVSDS/'HTTPD2.ENROL.PUBLIC.SHTML(ZOSRDP)' (Will cost you something like $550 USD per month.)

COBOL 60 by one of the early adopters, Wim Ebbinkhuijsen

  • Post category:COBOL
  • Reading time:1 min read

This year COBOL was delivered 60 years ago as one of the first general purpose, cross-platform programming languages. On 8 January 1960 the 'COBOL Executive Committee' formally approved the design of the programming language “COBOL 60”. One of the very early adopters of COBOL in the Netherlands, and long time member of the COBOL standard, Wim Ebbinkhuijsen, did a very nice talk at the event organized by Ordina. He went through the history of COBOL through the past 60 years. As a close observer and influencer of the programming language you get a great insight in this recent history of computing. Slides can be found here.

Compile and run a COBOL program on z/OS – A mini-tutorial

  • Post category:COBOL
  • Reading time:1 min read

With this mini-tutorial you may get a quick start with COBOL on z/OS. It gives you a handson overview of the process to get a COBOL program running on z/OS. The tutorial will show you how to create a Hello World COBOL program on z/OS, compile it and then run in. You can find the program itseld and the JCL scripts for the compilation and run attached below to this post. The following video describes the process https://youtu.be/jLv4Wia-05M The following assets are used in this mini-tutorial. The Hello World COBOL program COBPROG The JCL to compile the program COBCOMP The JCL to run the program COBPROGJ /* Niek de Greef