The first question is that I don't think object-oriented is difficult, but the "object-oriented" technology is too limited. First, it can only be used to solve the limited category of problems in software development, or it is only one of the many dimensions of software. Second, even if you only focus on this dimension, object-oriented is not a silver bullet, but for a small type of software, it is not a bad choice. Writing "proficient in Object-Oriented Analysis and Design" in recruitment advertisements is like I want to recruit a C programmer and write "use of for keywords proficient in C Language" in recruitment advertisements ", or you may want to hire a soccer player and ask "you are good at shooting the ball in the upper left corner near the ban line with your right foot.
Second, according to my observations, there is usually a conflict in recruitment advertisements that require "Object-Oriented Analysis and Design. While requiring "Object-Oriented", they refuse to use languages where classes are objects, languages where functions are objects, and languages where code is data (objects. Why?