In the time since I first looked at a VB6 book, to now, I have heard a lot of things about programming. I have heard people say that programmers should never need to know what a pointer is. I have heard people say that there is never any reason to code in assembly. I've had someone tell me that coding in C++ is the worst mistake I will ever make, and that the only language you should ever use is C. Someone else told me that programming in C was for idiots and you can do anything you want in C#. I've seen other people say functional programming is more pure then anything else. I've had object-oriented concepts shoved down my throat since high school, and people constantly tell me that you should never use "protected" or friend functions, let alone have a function or variable outside of a class.
These people are all wrong.
A programming paradigm, just like a language, is a tool. You can't take a hammer out of your toolbox and expect it to efficiently cut down a tree. At the same time, you can't say the saw you invented to cut down the tree is going to be very good at nailing a board to the wall.
People who insist C exists only because of inertia are arguing that the hammer exists only because of inertia and that you should use a saw to nail your board to the wall instead. In a similar manner, people who insist that functional programming isn't good for anything in the real world are trying to cut down a tree with a hammer.
A paradigm is a tool. The next programmer who tells me I should do [x] instead of what I'm using for no reason other then what I'm using "sucks", "is outdated", "doesn't work" or any other totally nonspecific reason without ever looking at what I'm actually fucking doing with it is going to get a boot to the head.