If A is the good, B is the bad and C is the ugly, what does this statement imply? That:
- C is even worse than B
- C is something intermediate, not good, not bad
- C is "outside of the box" and can't be measured on A — B scale
- C is good, but low on aesthetics ("ugly"), which lowers its value
- C is not just bad, but also unbeautiful, which makes it even worse than B
Examples
-
The one that triggered that question (link):
In a good world, this implies that we can effectively find a canonical form. In a bad world, this does not even imply that we can effectively find graph ids. In an ugly world, it implies that there are graph ids in FP, but none of these are of the canonical form kind.
Here I suppose it means "between good and bad".
-
The place where I first saw these words together, the GStreamer documentation:
gst-plugins-good a set of good-quality plug-ins under our preferred license, LGPL
gst-plugins-bad a set of plug-ins that need more quality, testing or documentation
gst-plugins-ugly a set of good-quality plug-ins that might pose distribution problemsHere I suppose it's "not on the good-bad scale".
-
Go: the Good, the Bad and the Ugly
The Good
- Go is easy to learn…
The Bad
- Go ignored advances in modern language design…
The Ugly
- The dependency management nightmare…
Does it actually correspond to "good", "medium", "bad" here? Or is the division into "bad" and "ugly" simply arbitrary?
Best Answer
The reference is from the Sergio Leone western 'The good, the bad and the ugly'.
First, as we are the eternal pedants here, it should be remembered that the Italian title was 'Il buono, il brutto, il cattivo'. Now, I'm not going to claim to be a fluent Italian speaker but that's not quite the same thing at all - see here.
However, it's the English translation that has gained traction as an expression. So, in the context of the film:
The Good: The Man with No Name. The hero played by Clint Eastwood
The Bad: Angel Eyes. The bad guy, a killer played by Lee Van Cleef
The Ugly: Tuco. Played by Eli Wallach, certainly no good guy, a crook and probably a nasty piece of work, but a sympathetic character, a likable rogue and comic relief. Probably redeemable in the end.
And that 'lesser evil' is, I think, the key to this usage.
Going back to the OP's context, one of software (an area where I'm on firmer ground), this trinity works well, it's something that we often see:
There's a lot of ugly code out there