3 ms·
Having taught/TA'd first-year university programming courses in both Scheme and Java, I find the idea of a teachability-oriented imperative OO programming langu
by limmeau 16y ago
Having taught/TA'd first-year university programming courses in both Scheme and Java, I find the idea of a teachability-oriented imperative OO programming language quite appealing.
Our first-semester course used DrScheme, and the simplicity of language and IDE helped us focus on teaching a structured approach to programming, with unit tests first etc. Also, whenever the program did not behave as expected, we could go through the program with Scheme's eyes and mentally apply the evaluation rules.
In the second semester, students are supposed to learn Java, and that was challenging because you really have to understand static methods and String arrays just to write a Helloworld program of which you can explain every line. Also, Java rewards using public field accesses instead of getters&setters (in the short term), which is just the habit you don't want your students to adopt. I could go on with arrays vs. collections, classes in the io package which should be interfaces etc...
So if there was a clean statically-typed modern OO language, I'd look forward to using it.