21 August 2008

How I Got Into Programming (meme)

I found this on the blog of another programmer and thought it was pretty good, so I decided to fill it out and post it here myself...

How old were you when you first started programming?
I think I was about 13 when I started programming. It was just before I got into and fell out of 3D animation.

How did you get started in programming?
Ever since I was small, I've always wanted to create my own games or game systems. I remember when I was small I would cut out cardboard in the shape of some unreleased game system and have small cardboard "cartridges" that would fit into slots on it and I would even have cardboard controllers for playing the imaginary games that I drew on paper. I was particularly fond of the old school 2D Sonic the Hedgehog games and always pretended to have created a new game based on the Sonic storyline. I guess that was what really got me into the realm of programming - the desire to make some new video game.

What was your first language?
Well, my very first programming language wasn't really a true programming language like C/C++ or anything like that, but rather a scripting language supported in PC Tools for Windows 3.1 by Central Point Software. It was rather cool knowing that I could make my computer perform actions without me manually telling it to. Unfortunately, at the time, since I was still trying to learn how to program on my own (my first programming class wasn't until I was in high school), understanding the logic and control structures was a little difficult. After this I moved on to batch scripting for DOS and then later, JavaScript and HTML.

What was your first real program you wrote?
Every programmer has had the famous "Hello, World!" program as their first, but in terms of actual programs that serve a purpose other than for education, my first full-blown program not designed to be exercises in learning a language, data structure, or used as a simple utility was my "Missile Command" game. It was very cool, using the CMU graphics library and the fmod sound library. It featured sprite-based drawing, multiple audio channels, and ran impeccably well. It was actually a group project with me and another guy in my AP Computer Science class, but I did a lot of the work since I had a real passion for it.

What languages have you used since you started programming?
Oh my goodness, the list is so large its really hard to figure out what I've used. Let me just list them, in no particular order: PC Tools script, batch script for DOS, JavaScript, bash scripting in Linux, BASIC, Visual Basic, C/C++, SQL, Java, C#, ASP, Macromedia/Adobe scripting for Director (Shockwave), and, recently for educational purposes only, LISP and ProLog.

What was your first professional programming gig?
Actually, I'm still at my first professional programming "gig". I currently work as a software developer for S4i Systems, Inc., building desktop apps for their products that run on IBM's iSeries servers. I mostly write code in Java, using Eclipse as my IDE, but have written a few snippets of code for the iSeries system in C. I've been very happy here, enjoying the tight-knit community of developers that we have here in the office.

If you knew then what you know now, would you have started programming?
Absolutely! I've loved programming ever since I started. Like when I was younger, I've always enjoyed building something from pretty much nothing using only an idea, a dream, and a drive as my tools and guidance. The same passion exists today with each day that I work on my project here at S4i, feeling proud of myself and somehow a little accomplished everytime I turn an idea into something that actually can be used.

If there is one thing you learned along the way that you would tell new developers, what would it be?
Go for it, but know that it requires a very firm understanding of how computers work and how they can be used, procedural logic, and most importantly, the language that you are learning, including its features, structures, and tricks. Also, its pretty helpful to understand how the computer executes the code you write, allowing you to see how places of code can be easily optimized.

What’s the most fun you’ve ever had… programming?
Recently I've had a lot of fun writing the project at work, bringing the Java/Eclipse project from very little and generally unusable to an almost-complete product that I'm just polishing and adding user-assistance capabilities. I've also been having a lot of fun writing Twobile, a Windows Mobile-based client written in C# designed to help users interface with the full-blown Twitter without having to use the limiting text messaging or mobile website systems. Both have been incredible learning experiences for me and I enjoy every minute of it - even though I sometimes get frustrated at a particular problem!

No comments: