Mark Lewis
1 min readDec 17, 2021

--

Thank you for the response. I can see the logic in these points. On the need to teach debugging, my own experience is that students are very good at creating bugs. We don't need to pick languages that enable them to create even more.

I guess I also question the desire to want to run a program that has a type error in it. I agree that the error messages for types can be more abstract, but I'm not certain that running the program actually helps. This is mainly because the runtime error they get is likely to occur far away from the actual mistake and tracking it back is, IMO, far more complex than deciphering a syntax error message. Also, as I mentioned in the article, student can be taught to interpret error messages as the same ones come up over and over again. But tracking a runtime message back to the actual source is a fresh challenge every single time.

Honestly, what I would like is a very large-scale study across many languages similar to the one I sited that would provide us with actual data on these things. Without that, we wind up arguing from anecdotes and personal experience with students in a way that is really limited. This is something that is doable with current technology and I think that there are some organizations that could probably start doing it today.

--

--

Mark Lewis
Mark Lewis

Written by Mark Lewis

Computer Science Professor, Planetary Rings Simulator, Scala Zealot

No responses yet