Program Synthesis - Problems and Limitations

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/or limitations:

    There are nowadays professors of philosophy, but not philosophers. Yet it is admirable to profess because it was once admirable to live. To be a philosopher is not merely to have subtle thoughts, nor even to found a school, but so to love wisdom as to live according to its dictates, a life of simplicity, independence, magnanimity, and trust. It is to solve some of the problems of life, not only theoretically, but practically.
    Henry David Thoreau (1817–1862)

    To note an artist’s limitations is but to define his talent. A reporter can write equally well about everything that is presented to his view, but a creative writer can do his best only with what lies within the range and character of his deepest sympathies.
    Willa Cather (1876–1947)