If you have any interest on teaching programming to beginners, I invite you to read the pdf. It's an exploration of one factor that is largely ignored when people choose a language to teach with: how well do the error messages support learning? Of course, the answer is "not very well." But the surprise is that, even in a project that has spent considerable amount of time thinking and refining its error messages, we found considerable opportunity for improvement, simply by looking at students' behavior closely.
Here's the abstract, and a link to the paper.