I'm interesting in teaching programming to middle school students. I'd like a programming language with the following criteria:
- Simple - pared down to the absolute minimum needed to support sophisticated programming without too much code. As such, for this language, I'm not interested in pointers and am weary of object-orientation (although functions are good).
- Powerful - I'd like to be able to program 21st-century elements, including graphics, networking, and distributed processing.
- Debuggable - I'd like an elegant Integrated Development Environment with a human-readable debugger (i.e. not some strange error message with a stack trace, but a clear explanation that an average middle school student can use to determine what is wrong with the code).
The standard programming languages (C,C++,C#,Java) fail the first criterion. Basic programming languages like Scratch fail the second (and possibly third) criterion. Scripting languages (perl, python, php) fail the last criterion.
I'd like to know if someone knows of such a beast, before I sit down to make it up myself.