That is a great point -- maybe my argument should be appended to include the fact that CS makes it ridiculously easy to create and present a portfolio of work (GitHub pages!) which seems to be impossible in other fields. Regardless, it does seem that these few special traits that CS has allows it to be one of the few where it actually makes sense for a high schooler to build up experience & a body of work.
I've seen teenagers submit great projects to HN and get feedback from the knowledgeable crowd here, that really seems to be impossible in any other field (unless you have connections).
This is not true at all. I was fascinated by bugs, cells, and other bio stuff as a kid and a decent microscope is not that expensive. The fundamentals of being a doctor - biology, chemistry, observation - are well within reach of teenagers. A lot of medical knowledge is also freely available. Obviously no one expects a teenager to successfully perform surgery, but teenagers also aren't expected architect operating systems used by thousands of people.
> I don't think you're making a fair analogy here, there is basically no way a high schooler could even _attempt_ treating diseases but it's very possible for a high schooler to program 6-8h a day and learn.
Again, not true. Treating a little sibling's cuts and bruises is well within reach of most people. It's really a question of being around people who get hurt more than average - having an energetic, younger family member provides a lot of opportunities for treating small injuries. As does volunteering as a coach/mentor for little league sports.
The more interesting distinction is that doctors generally don't build anything. They diagnose and fix. So, while a teenager into programming can show off a webpage or a game they've been working on, a precocious youngster who knows how to treat wounds, set breaks, inject insulin, and identify a stroke doesn't have a cool portfolio of projects to show off.