Learning about computers today is a cakewalk. In fact, parents are constantly 'educated' about the virtues of their children learning 'coding' while the children are still going to school. I think it is not necessary at all, and at an appropriate stage, children who are good at logic would lap up programming skills quite easily. However, when children have started preparing for IIT and NEET in their 6th standard, how can programming be far away? This sheer madness is quite amusing to say the least.
When we started learning about computers, it
was not as difficult as our previous generation. That generation learned about
FORTRAN and used punched cards and tapes for loading programs. We were luckier
than that. We could directly code into a PC. However, the PCs in those days
were very primitive. The first computer I used at the institute did not have a
hard disk at all. Of course, some of us may shrug this off and equate those PCs
with today's Chromebooks. But those PCs were not at all comparable to
Chromebooks. They were PCs that only had floppy disk drives, something which
the current generation must not have seen. The particular PC I am referring to,
had only floppy disk drive, i.e. slot. To boot the computer, we had to insert a
floppy disk titled 'MS-DOS Disk 1' and wait. The computer would load the MS-DOS
operating system from this disk into its main memory. Once it completed this
task, it would display a message 'Now load MS-DOS Disk 2 and press any key to continue'.
We had to then take out Disk 1, insert Disk 2, and press a key. The PC would
then load the second part of the MS-DOS operating system in the memory, and that
would complete the operating system loading and booting process. Now, we would
see the coveted A:> message on the computer. Of course, it was the command
prompt. Windows had not yet arrived.
I was thrilled when I saw a computer with two
floppy disk drives. You could now insert both the MS DOS 1 and 2 disks in the
two respective slots, and voila, it would boot much faster than the earlier PC.
Of course, those were the days when we used to measure 'faster' and 'slower' in
minutes, not in milliseconds!
We may not believe this today, but some initial
exercises given to us were 'Start/boot a computer' and 'Switch off a computer'.
Many students were terrified about these types of exercises. We would think of
starting or switching off computers as if we were dealing with some giant engineering
machines. The fear that something wrong would happen and the computer would
thereafter never come back to life was very common. One of my friends had this
very funny situation that he started learning about word processing,
programming, etc.; but he was very worried about a situation where the computer
would not be in a switched on state when he started his practical. How to start
it was a big mental block for him. One had to start the main switch, press the
button on the system unit and then switch on the monitor. I still tease him
about it (not that I was entirely confident about this, either!).
Today's computers have 8 and 16 GB of RAM. The
computers we were using had 1 MB RAM. Sounds unbelievable? But that was true. These
were Intel 8088 or 8086 based computers. In these computers, the address bus was
only 20 bits long. 2 raised to the power of 20 is 1 MB. Hence, this CPU could
not address a memory location beyond 1 MB. So, that was it! The main memory was
1 MB, and there was no hard disk drive! We had to save files on floppy disks.
If a file was too large, special utilities that allowed a file to be saved in
parts on two floppy disks were made available by companies such as Norton. This
all sounds way to fun now.
The first programming language I learned was
BASIC. It was a nice and compact language, but somehow I did not enjoy it much.
BASIC had line numbers. That is, as we typed our programs, BASIC would
automatically assign a line number to each statement in units of 10. So, if
later we had to introduce a new line in the existing code, an unused line
number had to be used. To illustrate, suppose this was my original program (the
number at the left indicates the line number for the statement):
10 PRINT
"Enter a number: "
20 INPUT
A
30 PRINT
"Your number * 10 is " ; A * 10
Now suppose I wish to add a statement after the
second statement, I would do something like this:
10 PRINT
"Enter a number: "
20 INPUT
A
21 PRINT
"Now printing the result"
30 PRINT
"Your number * 10 is " ; A * 10
BASIC was a very popular language and many dialects
of BASIC such as QBasic etc. were popular. We were using GWBASIC, which stood
for 'Graphics With' BASIC. The 'graphics' were hardly any graphics, but whatever
graphics were there were mindboggling for us.
I would try something like this to see what
happens:
10 PRINT "Let us see what happens"
20 GOTO
40
30 PRINT
"Will this be printed?"
40 GOTO
20
This would obviously create an endless loop,
and one had to use Ctrl+C to come out of it. Since I did not like this language
much, after studying whatever was deemed necessary, I would spend my time trying
out such (useless) programs. It took a while for me to understand what is meant
by 'files'. That was considered to be 'an advanced' topic!
However, one thing I enjoyed the most was doing
something which was not necessarily predictable. In simple terms, the subjects
I had learnt till now were all pretty fixed in the sense that if you do
this, this will happen was the conclusion. Programming was something new,
something exciting. You could do unpredictable things. You could make the
computer work according to your wishes and commands, which had not been
possible in any other subject so far. Mathematics, Physics, Chemistry – all of
them were bound by strict rules. Here, I was getting a feeling of doing
something that made me free from all the rules. I was able to define my own
rules. This was very intriguing.
Therefore, although BASIC did not interest me
much, it certainly created some interest in my mind about computer programming.
And then came the language that changed my outlook towards computer programming
completely …
But more about it next time …
Comments
Post a Comment