Skip to main content

BASIC Days - 'IT' Happened to Me - Part 4

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

Popular posts from this blog

My CV

Head - Learning and Development at RIA Advisory, Author and Visiting Faculty of Computer Science at various colleges at Symbiosis and Pune University MBA Department. Overall Corporate and Teaching experience of over 25 years. 1. Completed MBA after BSc (Statistics) 2. Earlier worked in Information Technology (IT) industry - Handled various responsibilities at Syntel, American Express, Deutsche Bank, L&T Infotech, i-flex Solutions (now called as Oracle Financial Services Software Limited) and RIA Advisory 3. Developed many technology solutions and managed several large projects/customer engagements across the globe 4. Visiting lecturer for many IT subjects at Symbiosis and many Pune University colleges for more than 20 years 5. Author of 75 books: 30 in English and 45 in Marathi - Many books on computer technology for students as well as IT professionals, for topics such as Network Security, Web Technology, Operating Systems, Database Management, Data Communications, C++ etc - Many

'IT' Happened to Me - Part 5

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