If you read Working Effectively with Legacy Code, Clean Code, Refactoring: Improving the Design of Existing Code and Design Patterns you will get what I mean.
Many of the examples and topics discussed in these books aim at improved the quality and design of the code. It is my observation that most of the problems mentioned in these books revolve around turning a procedural or semi procedural code to a well structured object oriented code.
Think God objects, long switch cases, hard coded dependencies,..etc.
What actually drove me to ask such question is that I often hear people talking about functional programming and that it good to learn such languages even if you are doing object oriented programming as it affects your mindset and perspective of the code.
So to keep the topic constructive, focused and objective as much as possible:
- Is there any studies or evidence that learning procedural programming before object oriented programming leads to the infamous object oriented anti patterns?
- Does the same problem occur when learning OOP after FP?
- Is there a proper/proven way to approach OOP in general to avoid most of its pitfalls?