Thursday, November 20, 2003

My first time

Everybody in my side of blogsphere did it. And I am a dittohead, so how could I resist writing about my first programming experience in my blog?

Well, before I begin... Are you sure you want me to do this?

Ok then... My first programming experience was with my father programmable calculator. He bought a refurbished TI-59 for U$S 200 in 1980 during our visit to Miami. It had a PC100C thermal tape printer, an embedded magnetic card reader and a socket in which you could plug a microchip (mostly ROM I think) to add some library programs. I learned its programming language, which was some kind of assembler mixed with AOS (Algebraic Operating System) math. It had 960 (or was it 959?) programming steps (bytes) and 100 memory registers.

Writing programs in the calculator was one of those tasks that my son would never believe. You had to press the calculator keys in LRN (learn) mode. Usually you had to go back and change some codes, or even do some tricks to input some undocumented instructions. But the display was only numeric so you had to learn the codes.

The thermal printer was a lot of help in debugging because it was able to print the instruction mnemonic along the numeric code in program lists. I remember always having several meters of paper tape and a blue pen around when programming. I even remember writing really long programs on paper during long car trips so I could input them to the calculator when I got back home. If I just could remember what the programs were about! ;)

I really loved to program the TI-59. I was happy to answer that I was already a programmer when asked what I would like to do in the future. Jeez! I was only 11 years old!

While I was that young, I had had the word COMPUTER in my mouth (and in my mind) since several years before.

After that, my father bought a TRS-80 Pocket Computer 1. For me, it was a piece of art. With it I got versed in the ways of BASIC, which soon felt so second nature to me. This time the computer had a single line alphanumeric display and a cassette interface to save programs in tape. It was impossible to get any graphics from it. In my recollections I don't remember my father ever buying the printer (I will ask him for help). Maybe he bought it but it was stored at his office in the University. The little computer didn't belong to my father alone. He shared it with some other teachers so one day he had to take it to his office and I never saw it again.

Fortunately my brother began studying Electronics. So I had a change to visit the computing laboratory at his University. They had a few TRS-80s model II and model III. I got to touch one of them. For that occasion I wrote in paper a one page BASIC program that could play 0-X against a human player without ever loosing ;) I can't recall what happened with the program, but I think one visit to the computer wasn't enough to get it finished. I only remember how fun was to delete program characters in the BASIC editor!

I got access to a LOGO book by then. I was fascinated with recursiveness. I can tell that I never got to program in LOGO with a real computer but I digested every line of code in that book. I am looking foward for MonoLOGO progress. It is good to know what my son first programing experience will be :-)

After that I began to develop a nasty jealousy feeling for the guys that got their hands on more serious hardware, like the TI-99s, the Spectrums and the Commodores of the time.
Only seldom I had the chance to touch things like that. Of course the Mac and the IBM PC were already in the market, but almost nobody had them. I have some remembering of a friend of mine that had a Compaq clone with a really small CRT, and was able to run MS Windows 1.0. But I am not sure of the time being.

By that time my brother got some borrowed TK85 computer from his girlfriend for several months. It was a Brazilian version of a Timex TS1500. The alphabet soup of Z80 based computers those days was a real mess. We had the ZX made by SINCLAIR, the TS made by TIMEX, the CZ made by CZERWENY in Argentina and the TKs made by MICRODIGITAL in Brazil. Then there was the MSX!

I learned some more BASIC with the TK85, and enjoyed browsing the contents of the computer ROM in my TV, but I never got to master PEEK and POKE. I had to wait until the University to learn some Z80 Assembler language in an emulator program.

Then my father bought and IBM PC Convertible. I remember it was the first computer with 3½" floppy disk drives in town (it had two of them, but no hard disk), so we could not share anything with anybody. The first night we had the computer at home my brother Fernando learned how to use the format command by formatting our only PC DOS 3.30 disk! Of course we were clever enough to remove the physical write protection!!! :-) From there we could only boot on the tools disk for several days.

Then I got my first job. On my first week I got PC Tools to print the full HEX code for a 10KB chess game that was in one of the computers. Back in home I typed it using PC Tools again, on the PC Convertible. Remember I said nobody had 3½" disks? Well, it didn't work very well. The chessboard got drawn, and the first piece started flashing, but from then I made a typo, I guess.

At work, my office was full of IBM PCs and soon after that it was full of IBM PS/2s. We had the first really big PC network in town, and probably one of the biggest in the country. It was a 200+ (if I remember well) nodes Token Ring. We ran it on IBM PC LAN Program 1.3 first, and on OS/2 later.

I was supposedly there to be a data entry man, but soon I began convincing everybody that I was actually a Clipper programmer.

And that was just the beginning... (Insert 2001 Space Odyssey music here)

No comments:

Moving to MSDN

I haven't decided yet, but it is very likely that I will stop blogging here for some time. For some background, I have moved to the sate...