<p>What languages and tools do you consider a youngster starting out in programming should use in the modern era?</p>

<p>Lots of us started with proprietary Basics and they didn't do all of us long term harm :) but given the experiences you have had since then and your knowledge of the domain now are there better options?</p>

<p>There are related queries to this one such as "<a href="https://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program">Best ways to teach a beginner to program?</a>" and "<a href="https://stackoverflow.com/questions/3553/one-piece-of-advice">One piece of advice</a>" about starting adults programming both of which I submitted answers to but children might require a different tool.</p>

<p>Disclosure:  it's bloody hard choosing a 'correct' answer to a question like this so who ever has the best score in a few days will get the 'best answer' mark from me based on the communities choice.</p>

I recently saw a presentation about
GreenFoot
(a java based learning environment for children). It looked awesome. If I would have kids, I would give it a try
Link to the presentation
It is a very playful environment, where you could start with very basic methods. The kids learn thinking in an object oriented way (you cannot instantiate an animal, but you can instantiate a cat). And the better they get, the more of Java you can uncover for/with them.