For DE residents, it's my understanding that the age restrictions are (highly paraphrased):
1. Possession of a firearm while under the age of 16 is only allowed under the direct supervision of an adult.
2. Possession of a handgun while under the age of 18 is only allowed for lawful hunting, instruction, sporting or recreational activity while under the direct or indirect supervision of an adult.
3. Any non-FFL DE resident can sell or gift a minor a long gun (rifle/shotgun) with the parent's permission at any age.
4. Any non-FFL DE resident can sell or gift an adult a handgun at 18.
5. An adult can buy a long gun from an FFL at 18.
6. An adult can buy a pistol from an FFL at 21.
Or, broken down by age group:
0-15: Can be sold or gifted a long gun by a non-FFL DE resident with parent's permission, but can only possess a firearm under direct adult supervision (handguns possessable only for reason listed in #2 above).
16-17: Can be sold or gifted a long gun by a non-FFL DE resident with parent's permission, can possess a long gun without adult supervision, can possess a handgun with direct or indirect adult supervision only for reasons listed in #2 above.
18-20: Can be sold or gifted either a long gun or handgun by a non-FFL DE resident, can buy a long gun from an FFL, no supervision requirement.
21+: Can be sold or gifted either a long gun or handgun by a non-FFL DE resident, can buy either a long gun or handgun from an FFL, no supervision requirement.
So your 20 year old son can buy or be given either a long gun or handgun by any non-FFL DE resident and can buy a long gun from an FFL. Of course, that's just my interpretation of the law (someone please correct me on the law if needed). Ranges can also impose their own restrictions, for example they probably wouldn't let a 16/17 year old shoot a shot gun without an adult even though it's lawful.
"Be Prepared"