Problems and Limitations
Some feel that the concept of automated program generation often results in poor "factoring" of information. Known redundancy should be factored out, not introduced, it is said. However, sometimes specific programming languages are limited such that one has to introduce repetition of a concept or pattern in order to keep using the same language. Here is a simplified illustration of factoring:
Poor Factoring: x = a + a + a + a + a
Good Factoring: x = a * 5 (where the asterisk means "multiply")
Program generation tends to focus on automating the repetition seen in the first example, when a better approach is perhaps to find a higher-order abstraction, which is multiplication in this case. Other examples include putting parameters into a file or database instead of inside application code.
Read more about this topic: Program Synthesis
Famous quotes containing the words problems and, problems and/or limitations:
“I believe that if we are to survive as a planet, we must teach this next generation to handle their own conflicts assertively and nonviolently. If in their early years our children learn to listen to all sides of the story, use their heads and then their mouths, and come up with a plan and share, then, when they become our leaders, and some of them will, they will have the tools to handle global problems and conflict.”
—Barbara Coloroso (20th century)
“I rarely speak about God. To God, yes. I protest against Him. I shout at Him. But to open a discourse about the qualities of God, about the problems that God imposes, theodicy, no. And yet He is there, in silence, in filigree.”
—Elie Wiesel (b. 1928)
“Growing up means letting go of the dearest megalomaniacal dreams of our childhood. Growing up means knowing they cant be fulfilled. Growing up means gaining the wisdom and skills to get what we want within the limitations imposed by realitya reality which consists of diminished powers, restricted freedoms and, with the people we love, imperfect connections.”
—Judith Viorst (20th century)