A Tale So Good You Could Plotz by Lincoln Spector
(Gigglebytes, Computer Currents, November 14 ('95) issue)
(In Yiddish folklore, the village of Chelm is renowned as a town of
fools -- a place where wisdom, learning, and inspiration need never be
hampered by common sense. The people of Chelm can, therefore, be
considered the spiritual ancestors of all software designers.)
One day, the programmers of Chelm decided to write a new database for
the synagogue. "It must keep track of every family in Chelm," pointed
out Shmul, who liked to think of himself as the project leader. "We
need to know who's married to who, who are their children, and every
first and second cousin."
"I see," said Mendel. "It must be a relational database." "But who
should we relate to?" asked Moshe.
"Well, I certainly don't want my son marrying your daughter," objected
Avram.
"Gentlemen, gentlemen," called out Shmul, "let's remember what we're
here for. Now I say we need a table for men, a table for women, a
table for families, and a table for children."
"Does the rabbi get his own table?" asked Avram. Everyone agreed that
he should, as he was wise.
"What about the user interface?" asked Moshe.
Everyone looked at Shmul. "There should definitely be one," he said.
"Otherwise, who would use it?"
"Yes, but should it have a speedbar, smart icons, or a floating
toolbar? And what kind of help should it have?"
"Does it need help?" asked Mendel. "Does not the Talmud say that we
should study? Let us write documentation that scholars can pore over
and discuss at length."
But Moshe still wasn't satisfied. "What happens if Yussel and Shandel
have another baby? How does Mordcha, the rabbi's best student, make
note of that?"
"Everyone knows what he does," answered Avram. "He writes it down on a
piece of paper."
"Which he then uses to wrap fish," added Mendel.
"Yes, but what will he do when our system is complete?" Everyone
agreed this was a very good question.
It didn't take Shmul long to come up with an answer. "He'll turn on
his computer, enter our database, and type in the name of the new
baby."
"But how will the database know that Yussel and Shandel are the
parents?"
"Don't be ridiculous," said Avram. "Chelm is a small village. Everyone
knows everyone else. When there's a new baby, how can someone not know
the parents?"
"How do people know?" asked Mendel.
"That's easy," Avram answered. "Before the baby is born, they can
tell by looking at the father. Why can't our program do the same?"
"Because a computer doesn't have eyes."
"Ah!" cried Shmul. "The computer doesn't have eyes, but Mordcha does,
and Mordcha can tell the computer everything he sees. And if he says
'Yussel looks very happy' one day, and 'There's a new baby in town' on
the next, the program will figure it out."
Mendel considered this. "Perhaps, but I don't like depending on
Mordcha telling the computer everything he sees. If he forgets to tell
the computer that he saw the rabbi eat, will the program think it's
Yom Kippur? It would be better if we write a query routine that will
help Mordcha find a family. After all, are we not programmers? Mordcha
could run the query from the main menu, and that will bring him to a
view of Yussel and Shandel's family."
"Will he be able to enter a new baby from this view?" asked Moshe. "Of
course not!" said Mendel. "For that, he'd need to go to the New
by form, which he can get to from the main menu. So after he's
executed a query and found Yussel and Shandel, he can click a button
to go back to the main menu. From there, he can go to any part of the
database he wants."
Moshe, however, suspected a fatal flaw. "But if he leaves the query
and goes back to the main menu, how will the computer know the new
baby belongs to Yussel and Shandel?"
This question so greatly troubled the programmers of Chelm that Avram
was moved to ask, "Does Maimonides say anything about this"
"Ach," cried Moshe. "Who cares about Maimonides? He used COBOL!"
Just then Shmul found the solution. "It's simplicity itself! We'll put
a button on the New Baby form that will let Mordcha do a query on the
family table. When he finds Yussel and Shandel, he can press the
button that will bring him back to the main menu and from there,
return to the New Baby form."
"That's brilliant!" cried Moshe. Then he thought about it. "But when
he goes back to the New Baby form, will the computer know that Yussel
and Shandel are the parents?"
"Of course not. But he can always push the query button again." "Moshe
wasn't too sure. "What if he doesn't like being part of an
infinite loop?"
"Loop, schmoop. He's studying to be a rabbi, isn't he? He needs to
learn about the infinite."
"I have a better idea," interjected Moshe. "We can simply make all the
new babies belong to Yussel and Shandel."
The programmers all agreed this was the best plan yet. They were
congratulating themselves when Avram had a thought. "Oy vey! There's
something we overlooked. What will Mordcha wrap his fish in?"
Moshe laughed. "But that's so simple. We'll add an option for him to
print a special report."