Pirx Danford said:
There really is no "best" language to start learning with.
If you have the comfort to learn in school,
then just use the language picked by the teacher.
If you are in the uncomfortable situation to have to learn from scratch all by your own, then I would recommend to find good reading materials. For me it was always great to have a specific project to attempt to get solved.
The basic concepts in any language are nearly the same, after one learned the basic concepts its really about the goals you want or have to reach.
Oh and I just found this site here: http://www.codecademy.com
Your last point and recommendation is key. I also recommend the codecademy website as a free and portable resource to learn programming. Do it at school, do it at home, nice environment, and you can even do it on your phone. No need to replicate that on the RPi board.
But if the students want to learn a little more about what it is exactly that their program might be doing then the RPi is perfect. The real strength of the RPi as an educational tool is that it scales in both directions.
Once a student has learned to program at a high level, they can start to peel off the layers of the onion and start to understand what is happening to make that program actually run. Wonderful in my opinion, but not if the language is not cross compiled.
I don't think the discussion is about whether all students want to see the processor/electronic details or not, but I stand by the statement that if it is just a high level interpreted language that is being taught then the RPi makes no sense for that lesson because there are much easier and better ways of learning BASIC, Python, JavScript, etc.
The need for a display and keyboard means that an old school PC that boots into Linux will be fine and/or a web site like codecademy.