>>53
Bad design is essentially software stack-dependent. OOP defines its own types of good design, languages that support OOP define how well they adhere to this and thus have their own notions of good and bad design. Functional programming is the same way, as are any other paradigms like imperative or that newfangled aspect-oriented.
You can't have a "good" design or "bad" design based independently from your requirements and platform. They're necessarily mutually dependent.