I was five, and my big brother Jim is the one who taught me to shoot. Dad was bit busy working a full time job and running a 52 acre farm.
I started with a Remmington Nylon 66 that Jim had traded a bow for. I quickly moved on to a 30-30. By the time I was eight, and we had moved to the "burbs", I was firing everything we owned, including Jim's .44 magnum Super Blackhawk, and his Texas Magnum rifle.
I didn't get my own first gun until I was eight. It was a Daisey BB gun. It was lever action, but it wasn't one of these wimpy RedRiders you get at Wally World. The following year Jim gave me that same .22 I first started with.
I still have that Nylon 66, and I'm looking forward to taking my son out with that same .22 this weekend for his first time ever shooting a real rifle.
My son is eleven. He didn't mature and develop his sense of responsibility as soon as I did, so he didn't get his first BB gun until his tenth birthday. I have had to delay his further training with firearms because I live in the city, not on a 52 acre farm way outside of town.
Any time some one asks me about a good age to begin teaching a child about guns I say as soon as possible. Children under about four can't be expected to really understand the dangers, but they can be taught hands off (and I am a firm believer in keeping firearms out of reach of such young children).
Now, when should you start teaching your child to shoot? That's a whole 'nother question! You know your child and his maturity level a lot better than anyone else. Can he grasp the idea of gun safety? Can he be trusted to keep the muzzle down range? Does he, or she, (don't want to leave the girls out, they need to learn to shoot too), even have the strength to cock and hold the weapon? Can he/she understand about getting a sight picture, or will he/she simply point and shoot and develop bad habits that will have to be corrected later?
Think it over, and look at your child objectively. Most ranges require the child to at least be old enough to look over the top of the bench even if they don't post a specific age.