Monday, July 15, 2013

How I got started in technology

As technologists, we are highly driven to explore new technology. Sometimes, we get excited about things not because of what a new tech can do but because it can be done. We're just "wired" to be "wired." And that's good; it means we're in the right job.

In that light, I'd like to share some personal background about how I got started in technology.

In 1982, our dad bought a Franklin ACE 1000 computer (an Apple II clone) for us when we were in elementary school. My brother and I experimented with AppleSoft BASIC programming on that, and our parents also bought us a book about BASIC. After learning the essentials, we mostly skipped the tutorials in the book and jumped right to the reference section, figuring out things on our own by looking up functions and routines in the reference then trying them out.

It didn't take very long to "get" programming. I think after a year of writing programs in AppleSoft BASIC, I was writing pretty advanced stuff. The SIN and COS functions were pretty hard to grasp until I had the trigonometry classes (years later) to understand them, but the reference book showed how to use SIN and COS to draw circles, and that was enough for me at the time. Otherwise, I "got" it right away. I remember writing several small programs, such as a number-guessing game ("too high" or "too low" until you got it right).

I figured it would be interesting to write computer programs that mimicked the computer displays from television and movies. So whenever I watched a movie or TV program that featured computers (and it was the 1980s, almost everything featured a computer) I tried to mock up a similar display on our computer at home. It didn't take long to realize that a special effects person was doing the same behind the scenes, rather than the movie or show using an actual program, but that didn't take the fun out of it.

In 1983, the movie WarGames came out, and I decided I wanted to write the nuclear war simulator featured in the movie. It took me all summer, but I eventually wrote something that would draw maps of both the US and Russia, then let you select a few targets and launch missiles. The opposing side would return with a few missiles of their own. It even drew the missile tracks like in the movie. At the end, the program would tally the damage to determine the winner. (I think the "nuclear war is bad" message was lost on me at the time.) It was all in AppleSoft BASIC.

I used different versions of BASIC until college, when I learned my first compiled language. As a physics student, we needed to write our own data acquisition and analysis programs, so we learned FORTRAN77. It was pretty easy to pick up in class, since it wasn't worlds apart from BASIC. In the summer between my junior and senior year, I interned at a research lab. For half the summer, I took data. By the second half, they realized I was pretty good at FORTRAN, so they asked me to update a FORTRAN-IV program that analyzed ellipsometry data (precise optical measurements using a laser). I didn't expect this during my internship. I enjoyed it a lot, but learned to hate FORTRAN's computed GOTO.

After FORTRAN, my brother (a computer science student) introduced me to C, and I took to that right away. It was more powerful than FORTRAN, but still easy to write code. My brother taught me the basics of C, then I picked up the rest on my own through books, including Kernighan and Ritchie's book. And C really put me on the path to computing as a career.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.