I first used a computer in the year 1985. In our school, a company called Echo Computers introduced a computer in the Physics Laboratory, which demonstrated various experiments in Physics that we studied as a part of our curriculum. The first experiment that we saw on this computer was the “Millikan’s Oil Drop Experiment”. We were fascinated to be able to visualize the Millikan’s experiment that we had only imagined and tried to understand.
The class was also fascinating. The computer contained the program in a cassette. So, we had to wait for about 20 minutes after the cassette was plugged in before the computer would start playing the same. It was different from TV because it had a little interactivity where we could feed different values for different parameters. Then, we also saw Thompson’s Cathode Ray Tube experiment on the Echo Computer.
I first worked on computer when I joined college. In those days, we used Intel 8088 based PCs with 256 KB RAM. We started by programming in FORTRAN. And then I learnt to program in BASIC. The first time I wrote a computer program for earning money was when I was inducted into a team for development of a solution for automation of a Cricket Tournament in 1989. Now, we used 80286 based machines and they were all networked using Novell Netware. We used Clipper Summer 87 as the programming language and dBase III Plus as the database. As these machines had very little memory, we were very conscious when writing programs, as we had to constantly keep track of the size of the program and the amount of variables we could use. We used maximum amount of local variables and almost never used Global Variables. However, I was involved in creation of many useful software.
In 1990, I used my first UNIX box and programmed in C. We used the VT100 or VT220 terminals to interact with the UNIX servers and created program which had purely character based user interface. I wrote my first graphics program in 1991 on a 80486 machine using Turbo C on DOS. I got the first glimpse of real graphical user interface when our company bought Windows 3.0. We still used 80486 based PCs.
The first large computer I used was in 1994 when I was assigned to a project for development of a Tea Garden Automation Software for Assam Company Limited in Calcutta. The machine was a Sun SPARC Station with Sun Solaris as the Operating System. We used Sybase as the database and Sybase tools for the software development. Then I worked on ICL DRS 6000 for the Woodlands Hospital Automation Project. I came across huge computers when I was assigned to ITC Limited Private Salary System. Here, I was working on VAX/VMS, RS/6000 and UNIFY Servers.
I was made the project manager for developing the MRP-II solution for CIMCO. We needed to create a software which would be used on the shop floor to the Executive Managers Desk of Intel Factory in Malaysia called Solectron. So, we decided that we would make many number of programs which would load one at a time and each program would be able to work on machines having 256 KB of RAM. To support this development, we used a database which did not need much memory and was extremely fast – BTRIEVE. Our programming guidelines was that no program could consume more than 5000 bytes of stack. As these days Windows was already becoming popular, we had to create a software which supported GUI and was not CUI based. So, we created a tool called Mask Generator which would be GUI on a DOS based machine.
Next I was working with IBM on the Tax Automation project for Government of Thailand and our solution included a Mainframe ES/9000, 12 RS.6000 and many number of PS/2 machines. This was followed by a 2.5 years project for architecting, designing, development and implementation of an end-to-end Customer Care and Billing System for Total Access Communications (TAC). TAC had 1.4 million subscribers at that point of time and was the largest Telecom Operator in Thailand. We used Sun SPARC Stations as the servers running Sun Solaris and Informix as database and Tuxedo as the middleware. After completing the project in Thailand in 1999, I was sent to Belgium to work on IBM 360 Series machines using COBOL for a software for management of Insurance Company – de Vaderlandsche. This was the first time I programmed a Mainframe and used CICS and JCL. I have worked for many Telecom Companies for creating solutions for Telecom Operators since 2000.
The main aspect which amazes me the amount of memory available to programmer in this age and their nonchalant use of the same in writing the programs.
Does any programmer really bother about controlling use of Computer Memory in developing a piece of software now a day?