In the early summer of the following year (following the on-time, on-budget arrival of Baby #1, (chronicled in this post) financial conditions hadn’t really improved.
A meager income was being gleaned by teaching. My wife and I took up part-time lectureships at various schools that were mushrooming everywhere. Schools that gave out diplomas on computer programming, computer skills such as spreadsheets and word processing. All this was new then. The spreadsheet most used then was SuperCalc and the word processor was Wordstar. Teaching computer programming was a huge leap for me. It had all come easy to me but transferring that knowledge to a bunch of hopefuls was not an easy bridge for me to cross.
Many of the students were adults hoping to gain skills that they could transfer into a job. They were genuinely interested in learning. Quite a few of them, unfortunately, were unable to grasp the material. The other set of participants were younger, being paid to / pushed into attending by their parents to keep them occupied and also maybe gain something they could use in the future.
One day I was asked to take over a class for another instructor who was ill and would not be back for a longish period. The subject – Introduction to Programming in COBOL.
The course was in it’s fourth week when I was drafted in. COBOL is not my favorite language, but two years in Wipro had sharpened my skills in it to a considerable degree. The class contained about 40 hopeful souls, eager (or not) to learn the language of business programming, the one that 80% of professional business applications were written in, the pathway to the promise of a proper programmers job.
Not having had a chance to sit with the previous instructor, I was unsure where to start. The number of participants was considerably larger than any class I’d seen before, a testament to the perceived power of a programmer’s job as opposed to usage of spreadsheets and wordprocessors.
“Good evening”, I said. “Your previous instructor has been taken ill and won’t be back to finish the course with you. I shall be your new instructor for the remaining duration of the course”.
Silence in the class.
“Does anybody have any questions?”
“Does anyone have any questions about COBOL? Let’s start with any doubts you may have over what you’ve covered so far”.
“Ask me any question about COBOL?”
“OK. Ask me any question about programming in general.”
“Ask me any question at all, about anything.”
My short temper has been a source of much disappointment to me over the years. Showing admirable restraint, I walked over the nearest desk and picked up the student’s book.
“Can you please show me what you covered in your last class?”
“The MOVE verb”, he said.
“Ok, so we can move on from there! HeH Heh! < no one laughed. > But first, does anyone have any questions about this wonderful MOVE verb?”
I was turning to the board, expecting silence, when a single voice said, “Yes sir, I do have a question”.
I spun around to see the speaker, a young man, not very much younger than my 27 years.
“The previous instructor only spent 5 classes on the MOVE verb. Could you please explain what the verb does?”
Stunned, I was quiet for a moment. “Five classes on the MOVE verb? Oh, OK, is there anyone who can anyone answer that question – what does the MOVE verb do? Who can explain this verb in brief?”
The usual silence and the expectation on the faces was answer enough. Either this was a test of my knowledge or they really did not know.
“No one? OK, the MOVE verb transfers values into a variable. There are certain rules to be followed. These rules are concerned with the type of data you trying to transfer and the defined types of the variable. For example, you cannot move a character value to a data holder defined as numeric. Even among the numeric data types, edit masked definitions will cause certain restrictions”.
I moved to the board and put down the basic rules. I then glanced at the book in my hand, flipped a few pages, looked up at the student whose book it was. “What exactly have you covered in the 5 hours of the MOVE verb?”
“Actually, sir”, he then broke into Bengali, a language I did understand to some extent but did not speak with any fluency at all.
‘You are speaking in English, sir. The previous instructor taught us all in Bengali. Can you teach us in Bengali? Most of us don’t speak English very well.”
This is what wikipedia has to say about COBOL.
One of the design goals of COBOL was that non-programmers—managers, supervisors, and users—could read and understand the code. This is why COBOL has an English-like syntax and structural elements—including: nouns, verbs, clauses, sentences, sections, and divisions.
Since I know you’re keen to see a real COBOL program, I am generously providing a link. Just click here, scroll down to the code and let me know if you can make out what the program is doing.
I wonder today, 26 years later, how many of those in the class room graduated beyond the MOVE verb into actual programming. If I was to guess, I would say close to none.
I’d like to think it wasn’t my fault.