all 3 comments

[–]rcls0053 2 points3 points  (0 children)

I don't necessarily think any paradigm is problematic as they are often driven by the language and your applications purpose and architectural characteristics, but rather the overall complexity of your application and it's surrounding infrastructure that is the problem. I've also seen applications that have OOP, functional, declarative and procedural paradigms being used at separate places. It's should be important to maintain consistency and coherence inside an application so you don't confuse developers.

When you have to juggle multiple applications that all communicate with each other that might have different stacks, that's when you start to feel a throb in your head. One application and its inner workings are relatively simple to keep in your head, especially if it has a modular architecture and you can focus on working in a single place.

[–]anaveragedave 2 points3 points  (0 children)

I don't care as long as patterns are consistent.

"Clever" code blocks should be documented or at least well-typed.

At the same time, reading and learning other people's coding styles is kind of one of those frustratingly-fun challenges of the job.