Ok, I’m it. I’ve been tagged by Larry Clarkin with the latest questionnaire floating around the blogs. This one is focused on how everyone got started into programming.
How old were you when you started programming?
Even though I first started playing computer games on the family Apple IIe when I was 3 years old; I didn’t actually get started into programming until I was 14.
I still can’t really believe that my dad trusted a 3 year old (me) to take the 5.25” floppy disks in and out of the computer unsupervised. I knew not to touch the shinier parts of the disk as that would wreck them, and I don’t remember wrecking any. Would you trust a 3 year old to not bend, fingerprint and smudge food on a 5.25” floppy? I remember spending countless hours playing Ghostbusters, SpyHunter and just typing nonsense that would show up on the screen.
In 1994, my dad got an IBM PC (486SX, 4MB RAM, No Sound, No CD) with Windows 3.1. After being so used to the graphics of the Apple IIe, I was amazed at the sight on actual photos on the computer screen after my dad signed on to AOL. My true fascination had begun, and I spent countless hours playing around with Windows 3.1 and PC-DOS over the next two years trying to figure out how it worked. One time, I actually crashed the computer (my dad was beyond mad) by playing with the DOS “debug” command. Yeah, don’t do that.
Ok, the year was 1996 (I was 14); the blockbuster of the summer was Independence Day, and the movies Hackers and The Net came out the year before. Even though my dad had the “internet” (AOL) for 2 years already, I finally convinced him to give me access and I was finally unleashed on the net, um I mean AOL, but it was AOL v2.5 and did have access to the actual internet through AOL’s own web browser.
Once I was online, I started research how to make computer programs. I thought “It can’t be that hard?” I started reading about telnet, telenet, UNIX, VAX, among other things, then I discovered QBasic and C++. I read that C++ was more widely used than QBasic, so I tried to find a compiler and tutorials, but there were much more resources on QBasic, so I started with that. I actually didn’t find very many tutorials, so I downloaded as much of other people code as I could, loading up floppy disks. I would change code in random places and run it, then see what it did. Mostly through trial and error, I learned how to program in QBasic, once I couldn’t find any further help other than the QBasic Help File.
Here’s another post I wrote about this very question back in 2005: /post/2005/04/My-introduction-to-computers-and-programming.aspx
What was your first language?
Tied between QBasic and MS-DOS Batch (.bat) files
I even started creating my own interpreted language using a QBasic.
What was the first real program you wrote?
Not for money, I have 3 programs that come to mind:
1) Tele-Chat - An application that would allow you to connect two computers together over the phone line (one would call, the other would answer) and allow the users to chat via text and share files. It was written in QBasic. I submitted it to one of the QBasic help sites that was around back then, and won an award for it that they gave out each month to one of that months submissions.
2) P-OS Program Manager - It stands for “Pietschsoft OS”. This was a DOS program manager that utilized the mouse to give a nice UI for launching applications rather than using the command line. This was my first Event Driven application; I wrote it before I even saw or heard of Visual Basic, I just wanted to mimic some of what Windows 3.1 did. The code snippet I used that enabled the Mouse to be used was written in Assembly; I copy that snippet from somewhere on the net, but wrote the rest of the program myself. It saved the settings in a flat text file that it loaded each time the program was run. This was also written in QBasic.
3) I started programming an original NES Zelda style RPG called “The Unknown World” in QBasic. I made use of bit masking and timers (as much as you could do a timer in QB.) A friend helped me draw some of the graphics, and the game was starting to look pretty cool. I had the main engine mostly finished, you could walk around the map and fight monsters; but then I ran into the 64K code file size limit in QBasic. I started programming around this limitation by creating seperate EXE’s that would get launched when needed (like when you walk into the healers hut) and the EXE’s would communicate using a flat text file. I later started moving to VB, and never completely finished the game.
For money $$:
Well, in the beginning I wrote a lot of reusable components and added/fixed functionality in existing application. I’m sure this is common with most peoples careers.
The first complete program I wrote for money has to be an Online Webstore application written in Classic ASP, VB and SQL Server, using PayPal for the payment processing.
What languages have you used since you started programming?
What was your first professional programming gig?
My first professional programming “gig” (actually getting paid to program) was when I started doing contract work writing VB6 components for people I met online via the RentACoder.com website.
If you knew then what you know now, would you have started programming?
Absolutely!!! No question.
If there is one thing you learned along the way that you would tell new developers, what would it be?
You must alway be willing to learn new things and always be looking for ways to improve yourself. When you are a computer programmer or software developer (what ever you want to call yourself) you are never finished learning. You must maintain that initial fascination that first intrigued you to program throughout your entire career.
What's the most fun you've ever had ... programming?
The most fun I’ve ever had programming is back in the day when I was writing Tele-Chat, POS and The Unknown World. I was learning along the way, and the only motivation to program was the power of creation and the insight into the previously completely unknown that I was gaining.
I’m not saying I’m not having fun today; I’m actually recapturing the fun I had back then with my new business, but with newer technologies.