A COBOL Programmer’s Pandemic Vacation To-Do List

Before I tell you about my most recent vacation, let me tell you a bit about myself. According to the Myers-Briggs Type Indicator, I am an Introverted, Intuitive, Thinking, Judging (INTJ) person. Being logical, methodical, and conceptual makes me ideally suited for my profession as a computer programmer,  which is a suggested career for the INTJ personality type.

Since the pandemic lockdown started six months ago, I have been spending most days continuously at home on my computer doing coding, analysis, system testing, mentoring, or attending meetings in this new virtual work world. No more breaks for water cooler gossip or work kitchen chats. No long commute to psych myself up at the beginning of the day or wind down at the end.

By the summer, I badly needed a vacation break. As usual, in keeping with my scheduled, systematic nature and the list-making preferences of my personality type, I wrote down all of the things I wanted to do on my time off.

This summer, at the top of my list, was a family get-away vacation to a cottage on Otter Lake in Quebec. With limited travel allowed between provinces this year, we booked it ahead, sight unseen, with very few pictures. It was a risk, but in the end, it was a beautiful peaceful, waterfront location about a half-mile from the main road. We had rented it for two weeks at the end of July. It was gorgeous weather and very relaxing.

Otter Lake view from our cottage

Another thing on my list of things to do on my vacation was to give my daughter some practice driving. She just passed the written test at the beginning of the year and driving school classes and in-car lessons immediately shut down in mid-March.

It was very awkward being in the car with her over the summer. As a teenager, she was sure everything I told her was wrong. Ultimately, we made it through driving sessions and online practice tests together. It was a valuable bonding experience.

My daughter at the wheel

My vacation to-do list would not have been complete without having a computer-related item on it somewhere. With no end in sight for remote programming work, I took some time to set up my own separate home office space with a desk, monitor, new chair, and treadmill.

I faced my desk to the window, put up a bird feeder, and found I had some work-at-home buddies. My cat, Oreo, loves to lie on my desk and look out the window, watching the birds eat. Of course, once I had my new office in place, I also had to take a sneak peek at the work emails I was getting during vacation.


Oreo on my desk and the Finches on the bird feeder

In the end, I did not get everything on my vacation list done, but overall, it was a relaxing, successful, semi-productive time off.


Have you looked at where you fall on the Myers-Briggs scale?

It may surprise you to see that your career choices, as well as your list-making tendencies, correspond to your personality type.

COBOL and Digital Transformation

The concept of “Digital Transformation” seems to be everywhere on the Internet lately and is the new catchphrase. The term has also frequently been paired with COBOL. As a result, I wanted to take a deeper look into what that might mean to business and the people involved.

What is Digital Transformation?

According to Red Hat, Digital Transformation “is the process of fundamentally changing something using digital tools and describes adopting technology and—potentially—cultural changes to improve or replace whatever existed before”.

Similarly, The article, 4 Types of Digital Transformation, organizes the idea nicely into Business Process, Business Model, Domain, and Cultural/Organizational categories. This is a detailed discussion of converting processes by introducing newer technologies and using these new technologies to update traditional business models and create new markets.

What I am understanding from these descriptions is that, essentially, what Digital Transformation means is modernizing your existing processes, whatever those may be.

The Current Way of Thinking:

How can COBOL, as a 60-year-old language, fit in with the idea of introducing new technologies? Bartolik (2020), in the article COBOL Forms the Basis for Digital Transformation, discusses how COBOL is the foundation and the core that operates 70% of the world’s transaction processing systems. The article further cites statistics from a Microfocus 2020 Press Release where COBOL-connected respondents from 40 different countries were surveyed. Of those who responded, 63% indicated that they would improve their existing COBOL systems in 2020, and 70% would prefer to modernize them rather than replace them. In terms of the modernization strategy, 92% felt that their COBOL applications were strategic.

These results indicate that organizations having existing COBOL applications would be open to digitally transforming their existing COBOL systems.

COBOL + New Technologies = Digital Transformation:

The article, Why COBOL Modernization Should be a Priority and How to Make it Happen, provides a summarized approach to integrating COBOL with the Cloud and Mobile Apps to access Host-based processing and data. In other words, keep the back-end COBOL processing and data access layers and connect them up with newer technologies on the front end. They see updating Mainframe legacy systems, such as COBOL, as vital in this era of Digital Transformation.

From an application programmer perspective, it sounds like a good organizational strategy to leverage the backend COBOL applications that have been successfully used for years while giving the users the benefit of an updated frontend experience.

Some Challenges:

A big question in all of this though is the security of the data. The financial institutions, such as banks and insurance companies, and the government departments that run COBOL systems will have to ensure the safety of the data being displayed and processed with the new technologies. It will mean cultural change as well as technological change. Digital Transformation is not a strategy to be taken on lightly.

What do you think this will mean to the jobs of legacy programmers? What will be the potential impact of cultural change on traditional organizational infrastructures?



COBOL from a 1969 Perspective

While researching my article, Jean E Sammet-One Woman Programmer’s Lifelong Success Story, I started thinking about buying a copy of Jean Sammet’s book, Programming Languages: History and Fundamentals. The more I thought about it, the more I wanted to own that piece of history. Somehow it is very attractive to me to be able to look back and see the history of the COBOL language as told by someone who was involved from the beginning. In spite of having worked with COBOL for almost 25 years, I haven’t thought much until recently about its origins and where it fits in. Even though Jean’s book is over 50 years old, I was able to easily find a used copy online.

A Piece of Programming History

Considering it was written by one person, I wasn’t prepared for the amount of detail the book contains in its 737 pages. There is a general discussion of 120 languages, along with sample programs that include the basic components of 30 languages. It was described on the book cover as a single source where “the reader can find basic information about all of the major and most of the minor higher level languages developed in the U.S.” All in all, it is an incredible snapshot of the world of programming in the year 1969. I’ve included a picture below of the sample COBOL program found in the book.

COmmon Business Oriented Language

COBOL is found in a section titled “Languages for Business Data Processing Problems”. It is, of course, the major Business language described. I love the fact that Jean included a footnote in her “History of COBOL” indicating that she had inside information on how COBOL came into being because she was there from the beginning in 1959. This is the note in her own words:

“Since I was present not only at this initial meeting (representing Sylvania Electric Products), but also chairman of two different task groups of the Short Range Committee, the historical description of the early COBOL work is based on firsthand knowledge and participation, and is supported by appropriate documents (some of which I wrote at the time).”

The detailed history described in this book is only 10 years old at the time of writing, and it is interesting to see the stages in the early development of a major computer language during the late 1950s and early 1960s.

The Committees

According to Jean’s description, there were initially supposed to be 3 committees involved: Short Range, Intermediate-Range, and Long Range. The Short-Range Committee included 6 competing computer manufacturers of the time: Burroughs, IBM, Minneapolis-Honeywell, RCA, Remington Rand Division, and Sylvania Electric Products. They were only supposed to identify what was wrong with existing business computers, but they ended up trying to develop a new language in a 3-month timeframe. They succeeded and created the first usable version of COBOL by the end of 1959.

That seems like a major accomplishment in such a short time, but Jean notes in her discussion that they did not have enough time to include everything that would be needed to do business data processing programming. As a result, during the 1960s, a Maintenance Committee, made up of users and manufacturers was organized and reorganized for the purpose of changing and improving the original version. The members of this committee came from several major organizations of the time: Bendix Computer Division, Control Data, DuPont, General Electric, National Cash Register, Philco, and U.S. Steel.

Imagine all the major companies getting together today to develop a programming language in just 3 months. It would probably never happen. In recent times, individuals in one company, as opposed to groups of companies, develop computer languages. A couple of examples are James Gosling, who worked at Sun Microsystems and founded Java and Guido Van Rossum, who worked at Google and invented Python. An interesting observation that Jean mentioned in her book was that she had never known a group of competitors to work together to develop a language that they could all use for the overall benefit of the customers.

The Future

The fact that COBOL is still widely used, over 60 years later, by large organizations such as insurance companies, banks and government is a tribute to the strong beginning that started with a committee of rivals working together for a common good. Maybe this is the type of collaboration that is needed to develop a language to replace COBOL, and that is why a suitable alternative was never developed.

We can only guess what may become the common business language 50 or 60 years from now. Will it be as durable and longlasting as COBOL? Only time will tell.


Sammet, Jean E., (1969). Programming Languages: History and Fundamentals (shown below), Prentice-Hall, Englewood Cliffs, NJ.

Modernization, Redesign, Renewal–A Revamp of a Legacy COBOL System

Given an outdated COBOL legacy system that is possibly 30 or 40 years old, there are multiple ways to do a rewrite that will breathe some new life into it.


First, you could do a COBOL modernization. Modernizing an application involves rewriting an existing COBOL application in a newer language, such as Java. It means interpreting the existing logic and converting it into the new language without reusing any of the existing COBOL code. The existing data storage may be reused in this method if you can connect to it through the new technology. For example, a Java to DB2 database implementation, replacing a COBOL to DB2 database implementation.


Another overhaul method is a redesign, which would entail rebuilding the current COBOL-coded logic into a newer design. This would, in effect, mean replacing the inevitable mishmash of spaghetti code that accumulates after 30 or 40 years of continuous coding changes. For example, the logic could be redesigned into a three-tiered model that separates out the presentation, business, and data layers. This type of modularization makes the code more efficient and easier to debug.


A third example of a revision is a renewal. This type of rewrite requires an analysis of the existing COBOL code, looking for possible improvements, and focusing efforts on those areas. Other items in the code that are functional are basically left ‘as is’ in this method. For example, this could mean pulling repetitive logic out of the existing system code and replacing it with a Business Rules lookup procedure. This would make the logic more efficient and easier to maintain.


As a COBOL coder for the last 25 years, these are the main types of rewrites that I have been part of or have seen. I am sure this is not an exhaustive list and there are probably as many permutations and combinations of possible restorative methods as there are system designers.

What are some of the COBOL Legacy overhauls you have seen? Why were they initiated? Did they go to completion? Were they successful?


A COBOL Programmer’s Second Month of Social Isolation

The Home Office

For the last two months, I have dragged myself out of bed every morning and downstairs to my cold office, still in my pajamas, hair unbrushed, where I sit all day in my home office. There is only a laptop, a corner of the desk, that I share with my husband and a cheap desk chair that was originally purchased for occasional use. Daily, I miss my large monitor and my ergonomic chair with my sizable cubicle space that was all mine.

I fire up my VPN, connect to the work network, and my Mainframe connection. I am all set to go when the VPN unexpectedly disconnects—as it does at random times during the day. I reconnect and let my team know I am available through our chat system. We all say (write) “good morning”, but we have not actually seen each other for weeks. I am lucky I worked with my team members personally before the virus hit and can picture a face to go with a name. The only people I see in person on a daily basis now are my two daughters and my husband who are socially isolating with me. These days, I get all my programming assignments through chat or email. It is definitely more of a challenge to work without being able to talk personally with other people on the team.

The Pre-Pandemic Office

In the before time, I would get up early to shower and get dressed in my business casual work clothes. Then I would drive out for my hour-long commute, stopping for a Tim Horton’s coffee and a muffin along the way. In my temperature-controlled office building, I rode elevators with other people in close proximity, brushed up against people in the hallways, attended daily meetings in rooms packed with people, ate in a full cafeteria, and didn’t give any of these activities a second thought. I also enjoyed saying “hello” to people in person and having brief “water cooler” conversations during the day. I especially took for granted being able to go to see coworkers at their desk when I had a specific question or just wanted to bounce an idea off them.

I did not realize at the time how fragile my daily routine really was. One day, I was at work, as usual, the next day, me and all my coworkers, country-wide, were sent home to work in isolation. My building was left deserted, my desk calendar, frozen in time, and my plants unwatered.

A couple of weeks after we started working at home, we got a broadcast from the property maintenance staff saying that a lightbulb in the building parking lot had been changed. We all had a (virtual) laugh at the irony in that, since the parking lot was now almost empty.

The Post-Pandemic workplace

We know we are not going back to the way things were before, but we have no idea what the “after pandemic” world will look like for a programmer. Maybe our current reality is actually the new reality. Perhaps, for a programmer, the new work environment will be remote work.  No more commutes, random socializing during the day, and unnecessary meetings. Ultimately, when all of the uncomfortable bugs are ironed out in the home offices and the new way of work becomes a habit, the result will hopefully be acceptance and increased productivity.

What is your new reality? Are you developing new habits?


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


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.


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.