Computer programming is great fun. I enjoy it so much that even now, I spent countless hours trying to solve a particular programming problem, get frustrated when I am not able to understand or implement something in spite of all the possible efforts, and have a very peaceful sleep on the occasions when the challenge is surmounted. Sometimes, I actually feel that I would have been completely lost had computer programming not been invented. What else would I have done?
Every few years, there is a theory that
computer programming is dead, and that we need not write programs anymore. This
is because computer programs themselves would write programs. So, why should humans
write programs? However, in spite of code automation in many areas, we still
need solid, skillful programmers. With the developments in tools and
technologies, I do not know how long this would last. But I truly hope that at
least in my lifetime, the joy of writing programs and constantly learning
something new should not be taken away from us!
How did I start enjoy writing computer
programs? As I mentioned in the previous blog, when I learnt GW-BASIC, I did
not enjoy it that much. I found it quite novel and interesting, but that was
the end of it. I did not feel like spending hours in front of the computer to
solve various challenges by writing programs in BASIC.
This changed when I came across a language that
I even now consider magical: COBOL. This is perhaps the most graceful
programming language that I have ever learnt. If I am given the choice of
watching just one batsman play, I would struggle to decide between David Gower,
Mohammad Azharuddin, VVS Laxman, and these days, perhaps Rohit Sharma. Many
batsmen have scored more runs, but the sheer beauty of these magicians is
unmatched. Similarly, in the programming world, I would choose COBOL without
even blinking the eye. COBOL wins hands down. It is just too sweet.
Why COBOL? Anyone who knows basic English can
write COBOL programs with some training. (Well, somebody could argue that that
is a problem!). It has no fearful syntaxes, threatening keywords, unending
complexity. It just flows like a beautiful and yet casual flick from Azhar's
bat. Want a proof? Suppose we wish to add two variables A and B and store the
results in a third variable called as C. How do we express this in COBOL?
ADD A, B GIVING C.
Or suppose we have a customer data file, which
we want to read sequentially in our code. Here comes COBOL for the file
declaration:
SELECT customer-file ASSIGN TO DISK
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
COBOL programs are so simple to write. Yet,
that does not make COBOL trivial. It is an immensely powerful language. No wonder
for so many years, the backbone of all Mainframe computer systems was COBOL. After
learning COBOL, I have learned so many other languages such as C, C++, C#,
Java, JavaScript, Python, and Perl. However, it is COBOL that stands out even
today. Although I have not written a single program in COBOL for what must have
been over 15 years, you can wake me up from deep sleep even today, and I can
write a COBOL program as per your requirements that would compile and run
without a single error. That is how madly I felt in love with COBOL.
I worked hard, very hard, on COBOL. I honed my
skills by creating imaginary problems and writing code for them. I did several
dummy projects in COBOL. Those days were also good for COBOL. Mainframe computers
were in heavy use in complex systems. The dreaded Y2K problem was threatening
to cause havoc. There was a dire need for people knowing COBOL (and related
Mainframe skills). I did not know all this while learning COBOL, but after I
learned it, the situation was very conducive to my COBOL skills. This was an
added bonus. I learned COBOL just because I enjoyed it. However, when that soon
turned into a much-wanted skill, my fortunes changed dramatically. But more
about that later.
Some people have this view that if you learn
one programming language, that is enough. It is because in the other
programming languages, it is just the syntax, that is different. The basic
concepts remain the same. While I also subscribe to this theory to a certain
extent, I do not fully endorse it. Only someone who keeps learning new
programming languages would understand what I mean. This is because, on the
surface, someone may casually remark 'I know Java and I know that in Python
also, we have conditional statements, loops, file handling, etc.'. Such statements
are routinely made, but I think they do not reflect the full story. While
programming languages are similar to each other in some respects, they are also
vastly different from each other in many other aspects. It is just not about
learning a new syntax. That is superficial. Only when you take up some problem
statements and try solving them by writing programs in the concerned
programming language, you actually start understanding nuances of the language.
That is also when you start learning the language in the true sense.
COBOL taught me the basics of all this. I was
spending hours writing COBOL code. I did not know where that would take me. But
it did not matter. It was giving me pure joy. That was enough!
Comments
Post a Comment