If you want people to enjoy learning to code, you need to give them a combination of:
1. A toolset they can use to build useful projects
2. A language they can grasp easily
3. And a genuinely useful project they can achieve
Everyone's best coding experiences have come from a desire to do something, combined with the right tools to achieve it. In the early days of 8-bit computing and BASIC, this was about making a game where the computer said "I've thought of a number between 1 and 1,000", and then you guessed and it told you you were too high or too low.
When you got that going, that was an extraordinary sense of achievement. "Look ma! I've made a simple game, you can enjoy!"
And then came Windows and complex APIs, and languages like Visual Basic that abstracted too much from the users, such that much that happened was 'magic'. Who - given a computer these days - begins to think "how do I *make* something amazing?"
Fortunately, things are getting better. The right languages are now available - most notably Python, Lua and Ruby - all of which are proper programming languages, but which are also easy to learn.
And the Raspberry Pi project comes from the right place. The issue it has, perhaps, is that people don't want to produce Raspberry Pi apps - and that desktop apps for Linux, whether written in Ruby, Python or anything else, are hardly childs play.
A better option for deploying a *real* app, people want to use, a modern equivalent of the guess the numbers game, must be either an app for a smart phone, or it must be a web app which can be deployed (for free) in the cloud. In which case, I think there are two or three options. (There used to be more, but Heroku Garden is no more). For smartphone development, Corona SDK is fairly mature and works with both Android and iOS. For a web app, there are a few more options, of which PythonAnywhere is probably the best of the bunch.
I suspect a decade from now, the self-taught developers will have mostly learned their craft in one of these languages, building useful apps for smartphones or the web.