When I was 12 I started to learn how to program, I had just together with my
dad, bought my first C++ book. I don't remember the name of the book, it might
have been the C++ for Dummies book, either way it came with a CD and on that CD
was the DJGPP. That day I spent
some time learning the new environment the book had given me, I tried writing
simple programs. Just a few days after I had bought the book I wrote a very
simple C++ calculator. Nothing fancy, only 32 bit integers and what you wanted
to do had to be entered in a very specific way, but I felt empowered. I had
learned something, I was able to do this and master the machine.
From there my grand dad introduced me to BASIC, he had written software in
BASIC before and figured that would be somewhere else to start and play with,
my uncle helped me set up an environment and taught me the basics of BASIC.
10 PRINT HELLO
15 PRINT WORLD
20 GOTO 10
That was the first program I ran, and I remember it mainly because I was
wondering why it was scrolling by on the screen so fast. I learned backwards if
you will, I started with C++ and then learned BASIC, but I really did not get
started until I was in High School, 9th grade I took a programming class taught
in QBASIC. While the class was fun, and exciting I wanted to always push the
envelope. For one of the programs we were required to draw a house using the
QBASIC built in line drawing commands. What I ended up doing was reading the
co-ordinates from a file, and drawing the required shapes in the correct
places. During this class the teacher knew I was flying through the assignments
and he let me play around with compilers and various other programming
languages. C++ was once again the programming language of choice, this time I
wrote a network based chat client so that I could communicate with my friend on
the other side of the room without physically having to get up and talk to him.
The teacher had separated us because of too much talking and this was my
solution.
From there I also started experimenting with PHP as a web programming language,
I wrote various pieces of software and scripts that never took off to
accomplish various things, but mostly just to see if I was able to do it, if I
could accomplish the goal I had in mind. This code I still have somewhere, on a
CD with various other pieces of old code, recently I took the time to go
through some of my old code and I have seen how much I have grown, how much I
have learned in the various years that I have been programming now. It also
reminded me how much time I spent just looking for resources and information,
how long it took to get answers to various different questions.
10 years later the Internet has grown, answers are now as easy as using Google with the right keywords, however even then
it can take too long to find the answer to something you know someone else has
come across before. This is where StackOverflow comes in, all those years
that I have been learning to program I wish a site like StackOverflow had
existed, it would have allowed me to easily search for answers to questions as
well as ask my own, arguably stupid, questions. It is a website by programmers
for programmers and is entirely based around the idea that knowledge should be
shared. If you start asking Google questions about C# you will most likely find
something from StackOverflow on the list of pages it gives you.
StackOverflow has taken over my life, every day I check StackOverflow for new
interesting questions, check the answers and if possible I answer the question
myself. Finally there is a place where programmers are able to go with all
different experience backgrounds and help each other accomplish one single
goal, building better software.