Blog

5 Reasons Why COBOL is Ideal for Remote Computer Work

Especially with the recent world events, today’s society has so many available forms of remote communication software, such as video conferencing, teleconferencing, chat, and email, to name just a few. It should be a given that every Information Technology organization offers workers, who have proven their reliability and work ethic, the opportunity to work remotely at least for a few days a week.

Due to the stability of its environment, COBOL is particularly suited to a work at home scenario. This discussion assumes that the employer has given their employee remote access to log on to the corporate Mainframe. Presuming that the environment is also set up and accessible remotely, as an experienced COBOL programmer, these are 5 reasons why I think that COBOL programming should be considered a remote job:

  1. Environment Setup:

A Mainframe session can be connected to remotely and the programmer has ready access to the whole Mainframe development environment. There is no need to have servers or separate software on the remote computer. The programmer can log on to the mainframe, write and compile programs. They would also have access to CICS sessions to execute online programs, as well as JCL to run their programs in batch.

  1. Access to Connecting Applications

If your application needs to call, or be called by, another application, logging on to the Mainframe remotely facilitates access to these other applications. Some coordination is required to ensure that all of the applications have current versions and up to date data available, but all systems can work on the same mainframe, with the programmers doing the work remotely.

  1. Access to Test Data

The types of businesses that use COBOL are banks, insurance companies, government, etc. Due to the nature of these businesses and the fact that they support large amounts of data, a Mainframe is ideally suited for their purposes. As a result, when the remote COBOL developer logs on to the Mainframe to do their programming, they also typically have security-restricted access to large amounts of Mainframe test data.

  1. Ease of Coding

Since the syntax of COBOL is similar to natural language, it can be easily coded from system specifications. Given such specs, a remote programmer can effortlessly translate the user requirements into COBOL code without the face to face interaction that an analyst might need to have with the user in order to create the specifications.

  1. Many Programmer Roles

A COBOL Programmer generally wears several hats in their role. The programmer may have to interpret the system specs given to them by the analyst. In this context, they take on an analyst role. When their coding is complete, the programmer will also perform basic unit tests before handing it over for system integration and user acceptance testing. In this way, they become a tester. Since the programmer has so many responsibilities, they are always busy with measurable tasks. This is something fitting to remote work, since their work can be easily tracked.

These are some of the reasons why cities and organizations still ran well during a country lockdown with mandatory work at home rules. COBOL is basically a plug and play computer language.

As long as there is remote access to a Mainframe that has already been set up to code COBOL and an experienced programmer to write the code, working at home is quick and easy and should be considered on an ongoing basis.

 

Have you had experience with other languages that may be as easy to code remotely as COBOL? What would be the pros and cons of remote workers programming in other languages?

 

 

Celebrating Women in Computing–Past, Present and Future

The Importance of Women in Computer History

Photo Courtesy of Pixabay

Women have been widely recognized as being important in the history of computer programming. Two examples of women technical pioneers are:

  • Ada Lovelace (1815 to 1852), who was believed to be the first computer programmer.
  • Grace Hopper (1906 to 1992), who was a computer programmer that helped pave the way for the COBOL programming language by developing a compiler, which translated mathematical code into machine-readable code.

Image of Grace Hopper courtesy of Pixabay

Canadian Celebration of Women in Computing

Women continue to celebrate their place in technology. Last year was the fourth annual CAN-CWIC (Canadian Celebration of Women in Computing) conference, which took place in the International Center in Mississauga, Ontario on November 8th and 9th 2019. There were 20+ sessions for 700+ attendees and 40+. Sessions included such topics as social media branding, technologies for people with disabilities, cybersecurity, gaming and others.

Image  courtesy of Pixabay

Some Stats on Women in Technology

Some promising stats compiled on women in technology for 2018.

  • 29% of all Apple leaders were women.
  • The percentage of Facebook’s women in tech had increased to 22%.
  • Facebook’s female employees reached 36%.
  • Women formed 9% of Google’s employees.
  • 5% of Google’s leaders on a global scale were female.
  • 5% of Google’s newly hired tech-position employees were women.
Canadian Contribution to the Future of Women in Computing

Image courtesy of Pixabay

To invest in the future of Women in Technology, the Canadian Government has launched a $2 billion Women Entrepreneurship Strategy (WES) to double the number of women-owned businesses in Canada by 2025 by increasing access to finance, networks, and advice. As a part of WES, there is a $20 million Women Entrepreneurship Fund which funds women-led companies. Also, involved in the WES initiative is a $200 million Women in Technology (WIT) venture fund that supports women in building their businesses.

Why are Women in Technology Unsung?

What would you consider to be one of the biggest hurdles of being a woman in technology?

COBOL on Social Media

The Programming Professional on Social Media

Photo Courtesy of Pixabay

When you think of the various Social Media Networks, LinkedIn is the first one that comes to mind as the main professional Social Media resource. Professionals looking for, and providing, information in their field would tend to look there first. Unfortunately, what’s often missed, are the sometimes hidden gems of information garnered through Facebook pages and groups, Twitter tweets, or Pinterest pins. For the purposes of this discussion, I’m going to use the example of “COBOL Programming” to illustrate that there is information to be found on each of these Social Media Networks for Programming Professionals

Facebook as a Programming Resource

After doing a search for the word “COBOL” on my Facebook account and scrolling through the results, I can see that there are several types of information that are available and useful to both the new and experienced COBOL Programmer. Of course, given the volume, you would need to take time to filter through each type and determine if it is current, valid, and useful to your context. On a cursory first glance though, in the list of pages to “like” and groups to join, one group that stands out is “COBOL Programmers”, which currently has 10,775 members and has daily activity. Members frequently post interesting information and other members ask related questions. With almost 11,000 experts at your fingertips, how could it not be a useful resource?

The COBOL Facebook search result also came up with PDF links for COBOL tutorials, programmer guides, and professional blogs (such as the Micro Focus Company blog). If they were to be cited as professional sources of information, these documents would have to be verified as reliable resources. This article, “How Can I tell if a Website is Credible”, provides some helpful ideas for what to look for in determining the credibility of a source.

Professionalism in Twitter Tweets

A search for COBOL on Twitter revealed a smaller presence than on Facebook. However, there are some Twitter COBOL-related profiles that are recently active and have tweets with interesting links. One of note is “COBOL60” that celebrates the 60th birthday of COBOL in a professional manner. The tweets on this profile typically contain links to courses or related websites. Again, some time would be necessary to read through thoroughly and filter the information, for credibility.

Below is a screenshot of my COBOL search result on Twitter. As well as several COBOL-related “People”, there is also professional noteworthy information under the “Photos” and “Videos” sections from such companies as Micro Focus, Red Hat, Raincode and others. As you can see, COBOL information for the professional is also present on Twitter.

Pinterest for Computer Professionals                                                                               

Pinterest is a Social Media, online service, that allows users to organize and share images and videos. A search on COBOL in Pinterest resulted in many, many pins. From a Professional perspective, several of the pins are for COBOL courses and tutorials of varying levels, debugging tools, and related programming information.

To be honest, I hadn’t considered Pinterest as a resource for job-related information before. After this first look, I can see that there could be a whole separate discussion on the programming information and categories available on Pinterest. I can’t wait to get back to it to start organizing and filtering some of the useful information I’ve seen.

The future of Professionalism on Social Media

With Social Media advancing at such a fast rate, it’s hard to predict its future.  A recent article,“What Will Social Media Look Like in the Future” discusses possible future trends such as:

    1. More privacy and security
    2. More video
    3. Less personal content
    4. Premium services and fewer ads
    5. Mobile focused experience
    6. Less typing, and more visuals

Only time will tell if the future will find Social Media moving more toward the informal or more toward the formal.

If you haven’t done it already, think of your own work-related topic and try to research it on Social Media. You might be surprised by the wealth of information you find.

Jean E. Sammet–One Woman Programmer’s Lifelong Success Story

Photo of Jean E. Sammet Courtesy of Adobe Stock

Computer Programming is now considered to be a male-dominated field. However, early in the history of computers, there were several women involved in developing the original languages.

One of these accomplished women was Jean E. Sammet, born March 23, 1928 in New York, New York. According to the history of computers, she was a member of the CODASYL COBOL committee, from 1960 until 1964; chairman of the Short Range Subcommittee, which developed all the statements of COBOL language; originator and developer of FORMAC, one of the earliest formula manipulation languages; leader in language systematization and historian of computer languages.

Jean’s book, Programming Languages: History and Fundamentals (shown below), Prentice-Hall, Englewood Cliffs, NJ., 1969, contains a description of the histories of many languages, along with technical information.

Book Photo Courtesy of Amazon

When Jean Sammet passed away on May 20, 2017,  her obituary quoted her as saying in a 2000 interview, “I thought of a computer as some obscene piece of hardware that I wanted nothing to do with.”

However, she also indicated that, in the late 1950’s, jobs as computer programmers were easy to get. In fact, Jean told an interviewer for Glamour Magazine that “At that point — and this is my opinion; I know other people my age don’t agree — there was relatively little discrimination against women, because programmers were very scarce. And so it didn’t matter whether you had three heads.”

Despite the acceptance of women in the programming field at the time, according to the Memorandum written on her death by the Association for Computing Machinery (ACM), when Jean decided in 1958 to leave her job to work for a company with computers as its focus, she found there were no relevant classified ads for such jobs for women: the classifieds at the time were segmented by gender. She applied to ads for men instead, and she was hired by Sylvania to oversee software development for the U.S. Army’s Mobile Digital Computer (MOBIDIC).

An article of the top 10 women in Tech reported that it was programming calculations onto cardboard punched cards, fed into a computer, that first made Jean love computing. As a result, she joined IBM in 1961, where she worked until she officially retired in 1988. Grace Hopper is often called the “mother of COBOL,” but Jean Sammet was one of the six people who actually designed the language.

Photo of Punch Cards Courtesy of Adobe Stock

The ACM also indicated that, in 1977, she organized the first History of Computing Committee for the American Federation of Information Processing Societies (AFIPS), and served as its chairperson. In addition to encouraging the creation of archives for materials, the committee publicized the importance of industry professionals’ saving materials.

Jean commented on her own experience with saving papers:  “From childhood on, I hated to throw papers away. As I became an adult, this characteristic merged with my interest in computing history. As a result, I created important files and documents of my own, and became concerned with having other people publish material on their important work so the facts (rather that the myths) would be known publicly.”

As a result of her long and successful history as a woman in technology, Jean Sammet serves as an inspiration to the next generation to continue her work in documenting and sharing technical information.

 

If you’re a member of the IT community, think about how the environment looks today. Do you find discrimination in the IT world? Are there some people who still think of computers as a negative? Can you think of any current famous female role models in technology?

How Do You Demystify COBOL?

How do you go about demystifying a programming language? As an experienced COBOL programmer, I could write endlessly about syntax, design, debugging, development environments, etc. In the end, the real way to take the mystery out of COBOL is to explore its past through the people who have coded it and the history behind it. As a language that just turned 60, there’s a lot of background to search through and connections to be made.

Introduced in 1959, COBOL has managed to stay relevant through 5 generations of people, massive technological changes, as well as changes in the demographics of its coders. Did any of these influences affect methods and style of coding? Of course, they all had an impact on how COBOL applications were being designed and developed through the history of the language.

Future posts may be opinion pieces, based on subjective experience, or research essays, based on observations of others. However, over time, it is the hope that future posts on this blog will include topics of discussion taken from each of these 3 factors in an attempt to demystify COBOL.

Photos courtesy of Dreamstime

Traditionalists to Generation Zers

For example, there are 5 generations of COBOL coders: Traditionalists, Baby Boomers, Generation X, Millennials, and Generation Z. This Generational Differences chart summarizes the differences between the first 4 generations and provides characteristics of each. Not included in this chart, the most recent generation, Generation Z, is the generation that was born between 1996 and 2010. This age group has grown up with the Internet and Social Media. Several interesting possible future blog posts would be how the values, attitudes and work ethics of each of these 5 groups may have influenced coding in programming languages, specifically COBOL.

Changing Technology

With technological advances, coding tools have also changed over the years. COBOL has managed to compete with newer coding languages like Pascal (1970s), C++ (1980s), Java (1990s) and has stood the test of time. This history of programming languages graphic provides a good illustration of programming languages in history (oddly, COBOL isn’t included). Also, the introduction of personal computers allowed for Graphical User Interfaces (GUIs) as well as Integrated Development Environments (IDEs). The advent of cloud technology will no doubt lead to many fascinating future COBOL impacts.  As a result, due to the number of years that it has existed, evolving technologies can lead to a variety of comparative discussion topics involving COBOL.

Women in Technology

Photo courtesy of Dreamstime

One of the major demographic factors in any discussion topic involving programming, and its evolution over time, is gender. Women have played major roles in the history of technology, from Grace Hopper, who is credited as being the inventor of COBOL, to Ginni Rometty, who is the current CEO of IBM. There have been many fascinating women associated with the COBOL programming language. Something to share in this forum is how exciting it is to be a woman in technology today with a perspective on the past and anticipation for the future.

 The Future

As the name suggests, this blog, over time, will attempt to demystify COBOL with its posts, links and overall theme. The conversation will focus on the stability and relevance of the language, while the associated coders, technologies and the demographics have all continued to evolve over the 60 years of COBOL’s existence.

Even though these subjects will be the main focus of future posts, if you have a specific COBOL related topic you would like to see covered, feel free to suggest it.

Yes, COBOL Coding is Social

 

Photo courtesy of Pexels

The picture of a COBOL programmer hunched over their desk, day in and day out, in isolation, pumping out thousands of lines of code is unrealistic, especially with the Agile mentality of today’s IT world. Currently, to be a successful programmer, in any language, you need to interact continuously with your client and your team in an effective way both orally and in writing.

Client Service

In fact, coding is essentially a client service. Someone has requested a piece of work from you, and you provide that client with a finished product, in accordance with their requirements. The client is then able to see the work as it progresses and provide feedback. In another version of client service, the coder may not communicate directly with the client. They may provide service to an intermediary, such as a business analyst who in turn passes along status updates and other information to the client. In any case, the COBOL coder is constantly involved in providing client service.

Photo courtesy of Pexels

Teamwork

The COBOL coder typically works closely with a team. The team may be comprised of a team leader, business clients, analysts, testers, coders, designers and whatever other specialized roles may be required. As previously mentioned, it is unusual for a COBOL coder to work in isolation. At a minimum, the program(s) being developed are attached to business requirements, often integrate with programs written by other coders and need to be tested.

Photo courtesy of Pexels

Effective interactive communication

In addition to writing program syntax in a logical way, the COBOL coder must also be able to communicate verbally as well as in writing. Programmers may need to attend several meetings a week to provide updates and answer questions as required, so they need to be able to communicate effectively vocally. In today’s context, they may even be expected to present, or demo, their work. Excellent written communication is also a must-have for a programmer. Their job may depend on being able to receive requirements and specification updates by email and being ready to respond to any questions/concerns that might come up.

Contemporary Programming

Programmers have moved on, but the out-dated misconception of them as loners, who rarely move out of their cubicle to interact with the outside world, has not. Programming can be a very exciting, interactive career, not the lonely one that is often portrayed.

If you are a programmer, do you agree? Disagree?

If you are not a programmer, take a minute and think of what your picture of a computer programmer is. What’s the first descriptive word that comes to mind? Is it a positive or a negative word?

The First Computer Bug Ever — Literally

Image courtesy of Pixabay

In the modern information age, most of us take the terms “computer bug” and “debugging” for granted. Most computer literate people probably can’t remember a time when an alternate meaning for “bug” wasn’t an “error in a software program or hardware system”. There is, in fact, an interesting story behind the adoption of the bug reference.

The tale begins with Rear Admiral Grace Brewster Murray Hopper. Born in 1906, Admiral Hopper was a gifted mathematician. She was one of the first programmers of the Harvard, Mark I computer. One of her other claims to fame is that she was responsible for the development of the COBOL (Common Business Oriented Language) computer programming language. COBOL is still widely used today in software programs that power banks, insurance companies, and governments. In 1952, she also invented a compiler that converted instructions written in the English language into computer code.

For many years the term bug was used by engineers to refer to anomalies. According to history, the world’s first computer bug was found on September 9th, 1947 by Grace Hopper in the Harvard, Mark II computer. The story goes that a computer at Harvard wasn’t functioning properly. When it was opened, a dead moth was found in the relays. The crew taped the bug to their logbook entry and wrote “First actual case of bug being found”. The log update is widely thought to have been done by Grace Hopper. The bug and the page it’s attached to are on exhibit in the Smithsonian’s Museum of American History.

This YouTube video from Biography is a summary of Grace Hopper’s accomplishments as a computer scientist and military leader.

With Artificial Intelligence becoming increasingly popular, it’s hard to predict how software bugs will evolve in the future. Maybe in a few years, a common “bug” will be the fact that our electronic assistant doesn’t remember our favorite restaurant or theatre.

What’s the worst computer “bug” (software or hardware glitch) you’ve ever had?

COBOL in the App Store?

An IBM Mainframe. A long way from an IPhone.
Photo courtesy of Pixabay

Doing a quick search on ‘COBOL’ in the App Store gave me 5 results:

  1. Cobol Programming Language
  2. Learning Cobol
  3. LongRange
  4. Julianator
  5. IBM Doc Buddy

Who would have thought that COBOL would ever be applicable in an App World? The info below is a brief discussion of each App. It’s not meant to be a review or a rating, just some cursory observations. Perhaps later blog postings will follow with more detail.

  1. Cobol Programming Language

The first app’ is subtitled ‘Learning to code with Cobol’. It looks like a good app for the person wanting to learn the basics, while not getting into too much detail. This app lets you compile, build and run COBOL code. I got the app myself to have a closer look, and there is a charge for compilations within the app. There are, however, sample source files that can be built and run for free, based on provided input. It includes Source, Input, Output, and Reference options.

The best part, in my opinion, is the Reference section, that points at the IBM Language Reference and Programming Guide, along with a COBOL Tutorial and COBOL Resources section.

A screen shot of the “Learning to Code with COBOL” app

2. Learning Cobol

This app, by Jason Stafford, is a video training on learning COBOL programming. According to the description, it starts with a tutorial on the basics of COBOL programming. Screenshots show that the training includes a Learning View, a Practice Exam, a Virtual Exam and Exam History.

Since this app has a cost associated with it, I’m not going to get it at the moment. However, it will be a good follow-up discussion to put on the back burner for a later time.

3. LongRange

From the brief description provided, LongRange allows IBM applications to use an enhanced interface. It seems that this would extend to COBOL development. I can’t quite visualize how this would work in the COBOL world to provide application mobility.

Again, something to explore in more detail later.

4. Julianator

I don’t see any direct mention of COBOL in the description, but the app’s function is to convert a date between a Julian Day of the Year and a Gregorian Day of the Year. I’m not sure how this app would help in COBOL programming, aside from finding a correct date to input into a program.

As there is a cost associated with the app, it’s probably not something to get for its COBOL use. Not sure I would bother with a follow-up.

5. IBM Doc Buddy

This app is subtitled the ‘One-stop mainframe portal’ and looks like a promising source of IBM information, including message information for COBOL and its related functions (ie/ CICS, DB2, etc). It also claims to provide IBM product updates and to connect with IBM mainframe experts.

This is one app I would be excited to get and try out. I see this as a future research subject, as well as an app to be used in a practical way. Definitely adding this app to my list of future post topics.

As predicted, there wasn’t too much to be found when searching on COBOL in the app store. Loved the fact that there were a couple of very promising apps in terms of COBOL training and one that was hyped as a ‘one-stop mainframe portal’. It seems that even an old classic like COBOL has found its way into the world of apps.

A screen shot of the “IBM Doc Buddy” app

COBOL – Its Forms and Uses

Photo courtesy of Pixabay

Common Business Oriented Language is a very old, yet still widely used, computer language. Banks, insurance companies and governments still process their data through computer programs written in COBOL and run on Mainframes. There are different forms of COBOL programs that are run.

Job Control Language (JCL)

Batch COBOL programs can be scheduled through Job Control Language (JCL) to be run at a specific time, in a certain order. For example, data can be batched and processed overnight to update the database with the new data. JCL can be set to specify who has access to run the program as well as time parameters.

CICS

There are also CICS programs that are online COBOL programs that are run in real-time for screen display and data capture. For instance, when programs run, screens are displayed to a user. The user then enters data on the screen. The data is processed and saved in the background.