Wednesday, July 7, 2010

Computer Programming

My experience with programming has been an interesting one. It has been a journey from curiosity, to fear, to perplexity.

When I was younger, my Dad showed me that QBasic could be accessed from the command prompt. At first I did not know what it was, but I thought that it was interesting that one could access a windows-like program by typing QBasic at C:\. I remember being quite relieved to be out of command prompt mode, because it was scary and confusing.

It was more like thinking what should I type, then trying to type something, and then drawing a total blank. I could have looked at the MS-DOS manual, but that did not happen much. Instead I stuck to low-level commands like C:\, cd, cd.. (maybe), C:\win, C:\SC2000, C:\Sierra (among others that I can’t remember).

In high school, I thought I’d better learn programming, so I took a class. It seemed important, and I wanted to go beyond typing BASIC programs into the computer, and having no idea what they meant (or really how to change them).

But I struggled getting the concepts. So I asked my Dad to buy me a book on C++, only to discover years later that it was actually a superset of C, and I needed to know C first. Hence, I asked my Dad to buy me a book on C. It was a good book, and I started writing some C programs, but I still had trouble gaining ground, and seeing the big picture of how it fit into the day to day computer world.

It wasn’t until graduate school that my lack of skills came to haunt me. It was MATLAB time, and I had no idea what an m file was. And that was just the start of it.

Finally, after few frustrating projects that could involve programming later, I was told basically, “here is a FORTRAN program, I want you to learn how to use it”. So now about 2 ½ years later I am learning about Makefiles, Dynamic Link Libraries, tarballs, and OpenGL.

It is an incredibly bad feeling that it took so long. It makes me think, “why didn’t I??” and is an incredible blow to my pride as well.

Edit: I have spent a great deal of time working with HTML (with extremely limited emphasis on forms), and some time with the mostly non-programming aspects of Flash 5 and MX (except for frame and button controls). I do not consider HTML to really count, but the more I think about it, maybe it does, but isn't like "solve this". What I am saying is, it seems an awful lot more like formatting and referencing than algorithms. It doesn't seem procedural. It doesn't seem very much alive.