Nah, OOP concepts like polymorphism, inheritance, and encapsulation were crazy difficult to understand when they first came out.  There were a lot of Car &amp; BankAccount examples that didn&#x27;t really reflect how people actually use OOP in the real world.<p>The thing is, all the lucrative software engineering positions created in the late 90s required knowledge of OOP.  Which meant that all the wannabe software engineers put in the time and effort to learn it, because that was how they could get a high-paying job.  And so now you have a critical mass of people for whom OOP is second-nature, who can explain things to junior developers when they ask questions.<p>Follow the money.  FP isn&#x27;t popular because outside of certain niche domains (eg. high-assurance software), it doesn&#x27;t provide a competitive advantage large enough to build billion-dollar industries off of.  If knowledge of FP suddenly started becoming necessary to get a six-figure software engineering job, you&#x27;d see many more people putting in the effort to learn about FP concepts.  (This may already be happening with React in web development, with Hadoop&#x2F;Spark&#x2F;MapReduce in big-data, and with Swift in iOS development, but it&#x27;s a new trend that&#x27;ll take years to mature.)