Charles II of Spain Problem
The diamond problem in object oriented programming should be renamed the Charles II of Spain problem. The reasons are obvious, but I will list them for good measure.
First off, having it called the diamond problem is a bit boring and worse, misleading. The word diamond has no connotation with being bad. Diamonds are shiny! When first introduced to the problem, students will just scratch their head and think “what is so bad about a diamond?”. Charles II of Spain takes away this possibility. Everyone with some European history knowledge will immediately realize shit is about to go down.
For those without this European history knowledge, Charles II of Spain was the result of a long line of inbreeding. He was both mentally and physically challenged, most likely infertile and just all around unfit to rule. I could go and give a longer history, but Wikipedia probably does a better job at that than I ever could. (Also be sure to check out his ancestry.)
With the diamond problem renamed to the Charles II of Spain problem, things are smooth sailing in explaining the concept as well. You, as a teacher, can simply continue the parent and children analogies. No need to wreck students’ brains with a square, rectangle, parallelogram and diamond or “a person at university can be an employee or a student, but a PhD student is sorta both of them”. Throw it out the window! Is it not easier to state that when a class is the result of incest, it may get a bit confusing? You see boys and girls, when a granddaddy class has two children and they have a child together, things can go horribly wrong. Immediate real life connection with things people (hopefully) know about!
“But why stop there?”, I hear you thinking and right you are. Rather than using the term multiple inheritance, we could just go ahead and refer to it as incest. Now instead of saying “Multiple inheritance may lead to the diamond problem”, you can state “Incest may lead to the Charles II of Spain problem”. This makes what you say correct on so many levels: Computer Science! Biology! History! You inherently are a master of all fields.
I think I can safely assume I have convinced you, the reader, that the diamond problem is long overdue in being renamed. Let us stop confusing students with odd terminology. Instead let us become pedagogically invested and rally behind the good cause. Your children, your children’s children, … (none of which are Charles II-like types I hope) will thank you for it.