Earlier quoted context omitted.
It's important to ask "teach what?" There are a lot of foundations that simply aren't going to be relevant to large subsets of students. Teaching C, for instance, is nearly useless if you're trying to convey FP concepts or object-orientation. I certainly support including C as a core part of any university's Computer Science curriculum. But such a curriculum should include as many languages as possible, each delibera…
> Teaching C, for instance, is nearly useless if you're trying to convey FP concepts or object-orientation. C is superb for teaching how to manually implement polymorphic behavior in the absence of object-oriented features. Using it to demonstrate how (class-based) OO languages work should be standard in any course that has CS in its title. (Using it to demonstrate how to implement prototype-based inheritance would b…
I'm not sure if you meant to put it that way, but that is a horrible standard for "any course that has CS in its title". I would not like to walk into a course on, say, intro to AI, and have a session demonstrating how class-based OO languages work using C.
For the general thrust of your point, cbd1984 pretty much covered everything I would have said in response.