IMHO barring OOP from CS curriculum is just as ridiculous as basing your entire curriculum on OOP. I can understand certain people's hatred of OOP but it is certainly appropriate in certain circumstances. The most well educated will be those who know when to use a design pattern and when not to.
First comment: "...At least this way, CMU students will be inoculated against blind indoctrination." Because functional programmers are never trying to indoctrinate you... Right?
Probably a wise decision to introduce people to the idea of programming. I doubt CMU would be making such silly overarching claims, though. In fact, it isn't [1]:
_"Our planned 15-214 course on software system construction
will have much more extensive coverage of concurrency, as well as object-oriented abstractions. Both of these are key components of most large-scale, distributed software systems."_
"Although object-oriented programming (in its myriad forms) remains a dominant theme in industrial software development, the use of object oriented languages, such as Java, at the introductory level introduces considerable complexity and distracts from the core goals at the introductory level. It seems preferable to give fuller coverage of OO design and implementation methodology to later in the curriculum to allow more focused concentration on basics at the introductory level."
I think it is good to focus on only one paradigme initially, and functional programming is a good choice. Later they learn other paradigma's and how they can be combined.
I think that OOP is undead. It will be in its current incarnation a zombie that will live on and on because we have a lot of legacy code. But if you start project from scratch ... there are better approaches.
I think that Kay was thinking of objects in the context of messaging and terminating network nodes, not stuff that shares same memory space.