A remarkably stupid slashdot thread have people answering the question "How's a 10 year old supposed to get into programming" with absurd suggestions like 'use Linux' and 'GNU's scheme implementation is free'. It is also logically sophisticated in ways that would completely defy the point of the exercise.
The best suggestions would be the simplest of the scripting languages. Either the free ones - e.g. Python, or just Javascript or VBScript as embedded in browser and MS office. Python has the advantage of a simplistic 'IDE' right in the basic package, complete with an 'immediate' mode. An invaluable tool when learning to write software.
The most important thing is that the act of expression should yield a good payoff. While it is true that the easy of writing drawing programs on old home computers was appealing to beginners, one should not forget that the console is not really that appealing. In that respect there's better payoffs available today through easy access to some of the many multimedia resources on a standard windows machine with easy to use COM interfaces.
Language acquisition start with simple exercises in using the language essentially for 'pointing': How do I reference things I know in the language. A beginners language has to allow for that. That's where a good 'immediate' environment becomes essential. A good first exercise would be playing a sound or something like automated browsing, i.e. essentially just pushing interface buttons by programming. That is easily powerful enough to feed the desire to 'do more'.
What IS missing is a simplified wrapper for all the mediaresources on a computer to some interfaces with 'universal' names. So it shouldn't be 'Windows Media Player' just Sound and not Internet Explorer, just Browser. With simplified COM wrappers for common resources and an automation capable scripting language Windows cannot be beat as a beginners platform. It is quite simply easier to use.
Posted by Claus at June 11, 2003 08:14 PM