Comment by jampekka
7 hours ago
I'm currently teaching an introductory programming course in Python, and I definitely feel the allure to teach using a simpler language like Scheme.
Python has become a huge language over time, and it's really hard to make a syllabus which isn't full of simultaneous "you'll understand when you're older" concepts. OTOH students don't seem to mind it much and they do seem to learn to write code even with very shakey fundamentals.
OTOH I work in Python and I’ve seen that recent graduates who were only taught Python and Java in school are often in for a nasty shock when they first encounter (for lack of a better term) real-world code.
When I’m helping them understand some subtle point about async/await, I sure do wish they had a semester’s worth of Scheme in their background so I could rely on them already having a crystal-clear understanding of what a continuation is.
Indeed. It's hard to teach Python as it's idiomatically used in the wild. There's just so much stuff going on (iterators, generators, async, context managers, comprehensions, annotations etc etc), it takes a lot of study/experience to learn it all.
Yes, so the point is that teaching it at all is a choice of style not substance.
Not sure I 100% believe that, but buy-in (and LLM help) are significant parts of a successful onboarding.
1 reply →