I outright laugh at people in an Interview when they ask me if I'll write OO code. OO code is worse than 10,000 jmp, or goto's.
Code written in an OO "framework" produces an excessive of files, classes, and thousands upon thousands of useless objects that are not even necessary for the task at hand, almost as bad as XML, but worse. You end up with bloated apps, that cannot be read or understood by anyone quickly. Let alone have any of the code be re-usable anywhere else.
If you can't read straight up C code and understand what the fuck is going on, stop calling yourself a programmer.
If you can't code directly for the hardware you're interfacing with, stop calling yourself a programmer.
If you depend on .NET, any library, framework, or something written by someone else, you're not a programmer. You're a script kiddy.
OO should never be taught lest we end up with a generation of useless tools who think they're "programmers" that can't actually accomplish fuck all. OOOH wait we're already there...