My appreciation for Computer Science started very early in high school (circa 1995). My first computer course was an introduction to programming in BASIC. Then I took Advanced Placement Computer Science A and AB, both taught in Pascal. My first exposure to C/C++ was in my Senior year in high school. I did very well in the all courses. I completed programming assignments weeks before they were due. In college, I did very well in courses that had a substantial programming component.
Today, I still enjoy programming a great deal, while concentrating on other fields such as HCI and Security. I credit the many great teachers and professors I studied under over the years. But I feel that there is one other element that drives my interest in computer programming: I always look at it as an art.
When I was a kid, I had thoughts of becoming a scientist one day.
Then I wanted to be an artist.
I feel that I got the best of both worlds. I feel very deeply that computer programming is an art. Why? It is a challenging and creative process. There is always more than one way to solve any given problem. I have seen “Hello, world!” written in various languages, and in various ways –from the obvious to the obfuscated. There are many ways to write a loop. A program that is written in 20 lines of Java, can be be written in 5 lines of Perl. Of course, you can know a plethora of languages, but you have to choose the correct programming language for the job.
My high school teacher told me something that still sticks to me today: a computer program is no different than a novel. Source code should be read like a novel, and great programs should be planned so like any great novel.