The Programmers of Chelm


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."


Back Up