Command-query Separation - Broader Impact On Software Engineering

Broader Impact On Software Engineering

Even beyond the connection with design by contract, CQS is considered by its adherents to have a simplifying effect on a program, making its states (via queries) and state changes (via commands) more comprehensible in a manner reminiscent of how Edsger Dijkstra's admonition against gotos did the same for control flow.

CQS is well-suited to the object-oriented methodology, but can also be applied outside of object-oriented programming. There is nothing inherently object-oriented about the separation of side effects and return values, and so CQS can be profitably applied to any programming paradigm that requires reasoning about side effects.

Read more about this topic:  Command-query Separation

Famous quotes containing the words broader, impact and/or engineering:

    The young women, what can they not learn, what can they not achieve, with Columbia University annex thrown open to them? In this great outlook for women’s broader intellectual development I see the great sunburst of the future.
    M. E. W. Sherwood (1826–1903)

    Too many existing classrooms for young children have this overriding goal: To get the children ready for first grade. This goal is unworthy. It is hurtful. This goal has had the most distorting impact on five-year-olds. It causes kindergartens to be merely the handmaidens of first grade.... Kindergarten teachers cannot look at their own children and plan for their present needs as five-year-olds.
    James L. Hymes, Jr. (20th century)

    Mining today is an affair of mathematics, of finance, of the latest in engineering skill. Cautious men behind polished desks in San Francisco figure out in advance the amount of metal to a cubic yard, the number of yards washed a day, the cost of each operation. They have no need of grubstakes.
    Merle Colby, U.S. public relief program (1935-1943)