I started on a password database (think KeePass) in Pascal when I was 13. I was so busy with making a functional text user interface (similar to Borland Pascal 7.0), that I didn't get to encrypting the password file. I was just replacing each character in a CSV (not really knowing it was called that) with its ASCII value. Needless to say, I long lost interest and the source code.


The first thing I tried to make was a "Kill Barney" clone, in QBASIC, when I was about 7.

I had four lines of code, just declaring variables.

+3  A: 

I made a game called "Ninja" in BASIC that printed out ASCII art animations of a ninja punching, kicking, or throwing an asterisk shuriken when you pressed P, K or S when I was 11 on my Commodore64.

20 years later, I'm a professional programmer and a 2nd degree black belt, so I guess I figured out my path pretty early.

remind me not to annoy you.

A nifty little C program that took your and your crush's name and gave you a (rather BS) prediction of how you would end up. Used an algo which i am just too embarrassed to talk about right now. [Was a total hit among my friends though].

+1  A: 

I wrote a slot machine game when I was about 13 in VB5. My parents weren't thrilled that I was writing a gambling simulator, either. It was complete with money, and if you ran out, it would say something like, "Get lost, you cheapskate."

Alex Fort

My first stumbling into a project that ended up as an entry into a math competition in 8th grade. I honestly can't remember how it ended up going in the competition, but our program (it was a small group effort) tentatively titled "Homework Helper" was written in QBasic and did all sorts of fun little things like draw all over the screen and do simple math. It was more of a toy than anything, but it got me in.

From there I moved to Visual Basic, and things went downhill from there.

Matthew Scharley

A "file manager" in QBASIC when I was around 13.

It parsed "DIR" output and gave you a multi-column view like DIR /W. You could browse your way around, delete and execute files. I don't remember what else it had, but I know it had color! And blinking text!!

+10  A: 
Hmm, I'm only 20, but I have tackled the idea. OK, OK, I admit it... it was 3.5e.*gets off your lawn*
Not my first, but admittedly, I did a 3.5 / Eberron one myself in Excel... I was even too lazy to code it myself! :(
Matthew Scharley
This is precisely what mine was.
Jim Kiley
Nah, mine was a BattleTech Mech creator.

I think the earliest thing I ever did was a basic calculator (with pre-programmed functions) in QBASIC back in the DOS days.

My first "real" project attempt was a rather basic attempt at a flat-file database of Mech Warrior: The Dark Ages miniatures using C++ on the command line (you can imagine how that went).

Sam Erwin

I started on with BASIC in my early teens on an 8-bit Amstrad CPC home computer.

It came with a load of old magazines which had type ins, so I guess they were where I learned things. They also had programming series, one of which was about programming text adventures in BASIC, so my first project was adapting that for my own text adventures. Soooo many DATA statements, heh, it was fairly primitive. Also wrote some simple games - mazes, etc. I also dabbled in assembler but not enough!

I stayed in the BASIC rut on the Amiga (AMOS and then Blitz Basic II), with some C on the side.

+1  A: 

I made a "console RPG" on my TI-81 (I think it was an 81)... that took about 3 weeks of coding during lunch in high school. (I did some stuff in Q-basic before that, but don't really recall what). I had art (unfortunately only 10 slots for storing drawings), as well as animations (usually blood spurts via spastic polar graphs on top of images). You could get different weapons, armor, and travel to different towns. You leveled up and such from fighting, and eventually got some spells. The hardest part was writing all that text on a calculator keyboard.

The other thing I remember making early on was a beat-em-up game on the TI. Basically animations of spears, grenades, and other things like that going into your opponent. Again, a mix of images applied on top of each other, with the "finishing move" (a spear or grenade) being animated across the screen and causing blood spatter in the form of a dense polar graph (lines of blood shooting out in all directions)

+1  A: 

A text based adventure game in QBasic. I remember there being a good amount of good text based adventure games back then and thought I could create my own. I really do not remember how far along it got. It would be cool to go back and just look over the code.


In fairness everyone's first project was to print out "hello world". Go on admit it!

Over the years, I've developed an aversion to these programs... To the point that late one night I devised a "Goodbye World" program:
Matthew Scharley

I created a typing tutor program for my sister in C, and later redid in Perl, when I was 14. It had everything in it that our typing class' program in school had, except for the pretty graphics.

It was the first program I ever made outside of examples in the programming book I was learning from at the time. (Teach Yourself C in 21 Days)

+2  A: 

I guess database people are just different than other programmers. My first project that I can remember was to write APL code to do regression analysis of manpower data. Followed shortly by code to compare multiple Navy databases to find parts that were in excess at one activity that were on order somewhere else (we saved the government $400 million on that one).

+2  A: 

I tried to make a text-based adventure game when I was 12, but it ended up turning into a madlibs/choose your own adventure story generator. It was done in QBASIC and actually got pretty massive; I was constantly adding to it.

My favorite early program was a simple simulation of the DOS prompt, but no matter what command you typed, it replied with "Bad command or file name." I used to run it on friends' computers and wait to see how long it took them to figure out what was going on. One time, I ran it on all of the machines in my middle school's computer lab right before I had a class in there. That was a fun day. :)

+3  A: 
10 PRINT "I rule!"
20 GOTO 10

Seriously though, my first attempt at a project was for an application launcher for DOS applications (back in Windows 3.1 days). It worked, but the "editor" for the launcher was horrible to use, and the launcher itself was bad because it stayed in memory (the 640K of conventional memory was precious back then).

I eventually re-wrote it with a MUCH better editor and launcher interface. And it terminated itself before launching an App, and restarted when the app closed.

I learned a lot from that program. I finally understood the concept of recursion (which I never quite understood from class assignments), and just as quickly learned that I shouldn't be using it where I was! I was using so much memory that I was causing a "stack overflow error"!

And the reason for my project choice was because some people I knew at the time spend about $80 for the same thing.

Oh, and it was written in Turbo Pascal.

Nathen Silver

I wrote a drawing program on my VIC-20 in BASIC. It basically would allow the user to draw ascii characters on the screen using the arrow keys. Users could choose from SIXTEEN different colors and 256 ascii characters for drawing. The user's "canvas" was saved and read from tape.

I was 14 and proud of the program at the time. I remember thinking about submitting an article to the Commodore Gazette. What was silly is that I considered saying my younger brother wrote it because it would get more attention since he was only 12.


I dabbled with setting up a chat room on a website (using HTML, MySQL and PHP) after my first hello world project. And this was way before the days of AJAX. Sadly, I never really finished because it ended up being too much of a pain.

Scott S.
+3  A: 

I was one of those old script kiddies on AOL who built "proggies" to mess with other people. I'd call my time mispent if I hadn't learned so much about how to program...

You delighted and tormented an entire generation... kudos! :-PAlso, your user icon has now caused me to picture Kamina trying really hard to figure out the internet. And that's awesome."OF COURSE I CAN USE THE INTERNET. WHO DO YOU THINK I AM?!"
+1  A: 

A program that extracted the textures from DooM's WAD file format. Because i didn't know the file format but i had DooM's color palette extracted from a screenshot, i could display parts of the WAD on screen in DooM's typical VGA resolution. Then i modified the X/Y offsets in realtime until i found something that looked like a texture, tweaked the offsets some more until it looked perfectly rectangular and then selected that part of the screen and dump it to disk as a bitmap. Voila, texture extracted, on to the next one.

Of course, i bit my tongue trying to fix up the sprites, which were saved semi-compressed, eg each line contained only the visible pixels, so the sprites weren't rectangular textures and always looked garbled (but still you could make them out in between the mess).


When I was 5 I made a simple text editor program for Mac OS9. (same functionality as NotePad)


My very first project was of course an ill advised text based adventure written in C++ back in high school. My teacher was impressed with my progress but I lost interest after I graduated and never finished it. The first project I actually completed is one I think every web programmer does first, a blog management system. Quite similar and with inspiration from wheatblog.


I tried to write a console-based calculator program that could do simple mathematics. Eventually I ended up implementing some more complex features. I scrapped it because I recognized that it was turning out to be a mess of code and I wasn't learning much from it anymore.

Zee JollyRoger
+1  A: 

The mastermind game with digits instead of colors, playing against the computer, in Turbo Pascal under CPM. Both the player and the computer would "hide" a number and they would take turns to see who guesses first... and added of course the funny remarks...

I realized at that time how addictive programming can be, as I did not eat nor go to school for days and I was totally oblivious to the environment around me.


My very first program that actually did something was a Turbo Pascal program for recording table tennis players, their scores, historical scores and then print out that weeks ladder. Sounds very impressive now!


I started learning programming at 10 in C++ (back then I leaned pointer, linked list, POO, tree etc...), but my really first real project was when I was 18 it was a mail client pop/smtp in C with GWT and at the same time a second project : UI interface to configure a cisco router (this project was my first project failure, I don't like administration !)

Nicolas Dorier

For me in different languages it was different project. For PHP it was personal web site. For JSP it was blog. For ASP.NET web forum. For VB it was game. Those was my first projects, for those languages...

Out of all of them the only project i finished was the game one.


Mine was a crude VB4 Pokedex. Yeah, har har har. In my defense I was 10 when I began writing it.

There were so many things that I did wrong. I created far too many forms and I seem to recall that it got to be around 15MB big before I gave up because the data entry was just too boring/time consuming.

I learned a lot on what not to do after that.


A Java clock applet when I was 13.

My first non-trivial one was a social networking site when I was 15. In PHP. (Oh dear, I've just shown my (lack of) experience).