And then there's those of us who don't think that "buy new specialized" hardware is a real solution and develop large, complex, real-time apps for consumers' existing devices, and we are both knowledgable enough and skilled enough to recognize and capitalize on the very imperative nature of actual hardware. We can't stand functional languages, because they model academic nonsense rather than reality. Functional languages work great for little processing scripts or massively scalable data tranformation. They don't work at all for UIs (egads! state changes!) or anything that needs to eck out 60fps on 6 year old consumer-grade hardware.
The trick to being a _real_ programmer has nothing to do with being a functional programming guru or an imperative master or an OOP professor. It had to do with recognizing the right tool for the job and being able to implement maintainable, efficient, usable architectures on whatever that tool is.
Functional languages just aren't that tool in many cases.