Note: The following paragraph is left over from when this question was closed on SO, before it was migrated.
Closed. Yes, this is an interesting question, but there is now over 1200 answers (41 pages). In terms of data (since this is tagged as "research"), there is nothing to gain from having this question remain open (there should be more than any interesting metrics to be retrieved from this many answers). Also, it is becoming a bit of a nuisance being constantly on the Stack Overflow home page - as said by Simucal in this questions comments,
"This question was initially interesting but it is such an easy "question/poll" and applicable to ~everyone~ that it is never going to leave the front page. There will always be an onslaught of new users posting data to it. It was a worthwhile experiment but should it be on the front page forever?"
I would appreciate it if you didn't just reopen/rollback this message, at least not without some discussion regarding the above points!
To reiterate - this is an interesting question, but it has run its course! Remember, closing a question doesn't mean it is deleted!
In Stack Overflow's 31st podcast, Joel asked Jeff if he knew a 53 year old programmer, or someone that has been programming for more than 25 years.
Well, here is the perfect place to ask such a survey-like question.
I suggest placing a line with two numbers, like that:
your-age-now, age-you-started-coding
so it would be easy to create a .csv file, extract histograms and have a clearer picture on ages and years of experience within the programming community.
Edit by Mark Harrison. Here's a quick and dirty Bash script that will fetch all the data that has been posted in the suggested format. Figure out some interesting stats and post them!
for x in `curl -s http://stackoverflow.com/questions/327973|
egrep span.class..page-numbers|
sed -e 's/.*<span class="page-numbers">//' -e 's/<.*//'|
head -1`;do
curl -s "http://stackoverflow.com/questions/327973?page=$x"
done|
egrep class=.post.text|
sed -e 's/.*<p>//' -e 's/<.*//' -e 's/ //g'|egrep '^[0-9,]+$'|
sort
30, 14
Here are some statistics:
Sample size: 899 (1) Current age: avg 31.9 std.dev 9.8 (2) Age when started programming: avg 13.4 std.dev 5.0 (3) Year when started programming: avg 1994.6 std.dev 5.0 (4) Correlation between (1) and (2): 0.3
Althought a chi-square test should be done to check for a real dependence between the current age and the age at which people learned programming, the slightly positive correlation coefficient seems to suggest that younger people tend to learn at an earlier age than was possible for older people (this is intuitive, for availability of computers and free compilers has increased more and more in time).
The updated source code is here [1], improved with suggestions from dblack and others, and with a check for the date of last editing.
EDIT: Also it would be really interesting to normalize the age distribution against the percentage of the population who were programmers at the time each person started (or assume late teens). There seems a large drop at around 50 or so which would roughly correspond to the arrival of personal computers when these people were that age.
[1] http://www.dei.unipd.it/~rampo/stuff/ages.py35, 7
BASIC on the TI 99/4A.
Quite a bit later I moved to a PC AT with BASIC, then TrueBasic, then C, asm. Learned Pascal in high school, then everything basically exploded and I don't really think I want to bother writing it all down. :)
EDIT: Here is an updated set of graphs adding the number of years programming and the year the programmer started. The modified source is here [1]. I don't have the reputation to edit the original answer.
REQUEST: Someone with enough reputation please take this graph and the link to the modified source and add them to the original post. Feel free to re-host them if you want.
I'd tweak them a bit more, but I don't really know python or the modules used. I also sadly just don't have the time to research it further. It's a fun topic, though. Thanks to the original contributors!
[1] http://www2.griffin.net/age2/age2.pyJust started C++ about a year ago. I'm 22 going on 23. I was one of those guys that played sports and whatnot, never had a real interest in computers. But, about a year ago I decided to give it a go and decided I loved it :) Now onto Delphi :o
Paper-BASIC at age of 8 (didn't have a computer, so I started programming on paper) and this was going on for about two year
The next year I spent trying to make my programs work in Atari BASIC on Atari 65XE...
33, 16
GWBASIC, on DOS 3.3 on my dad's new 80286 as a teen in high school. I still remember the lights going on when it twigged how to write a basic event flow, i.e. (I've forgotten the syntax though):
10 PRINT ">"
20 getinput
30 IF input = "GO NORTH" THEN GOTO 100
40 IF input = "GO SOUTH" THEN GOTO 200
.. etc.
50 IF input = "QUIT" THEN GOTO 70
60 GOTO 10
70 EXIT
..
We all had to start somewhere...
18, 14
C++ ftw!
I just turned 13, started when I was 7.
BBC BASIC on an Acorn BBC Model B at the age of 10. 6502 assembler at age 11 then my brother told me I'd get beaten up at secondary school if "you are a nerd", so I started smoking instead! Bad move. Took me years to catch up in my twenties!
I must have been a slow starter, started out with Commodore Basic (Amiga) and shortly after Turbo Pascal, at the age of 14-15
MSX BASIC, at age 6, I think. (I'm 28 now.)
It was actually my grandmother who taught me! Now the roles have been reversed.
I started with Basic at 8 (with an Olivetti, a commodor-like machine), then I moved to gwbasic on a 486, then Turbo Pascal...
Commodore BASIC on the Vic 20, age 5, I think.
6, with prolog and basic (then visual basic) at the same time (Do bear in mind, im 25)