Late Binding - Criticism

Criticism

Late binding has poorer performance than an early bound method call. Under most implementations the correct method address must be looked up by name with each call, requiring relatively expensive dictionary search and possibly overload resolution logic.

Late binding necessarily prevents the use of static type checking. When making a late bound call, the compiler has to assume that the method exists. This means a simple spelling error can cause a runtime error to be thrown. The exact exception varies by language, but it is usually named something like "Method Not Found" or "Method Missing".

Late binding prevents many forms of static analysis needed by an integrated development environment (IDE). For example, an IDE's "go to definition" feature cannot be used on a late-bound call, because the IDE has no way to know which class the call may refer to. Another problem is that the lack of typing information prevents the creation of dependency graphs. However, other programming methods such as abstract interfaces can result in the same problems.

Read more about this topic:  Late Binding

Famous quotes containing the word criticism:

    Like speaks to like only; labor to labor, philosophy to philosophy, criticism to criticism, poetry to poetry. Literature speaks how much still to the past, how little to the future, how much to the East, how little to the West.
    Henry David Thoreau (1817–1862)

    In criticism I will be bold, and as sternly, absolutely just with friend and foe. From this purpose nothing shall turn me.
    Edgar Allan Poe (1809–1845)

    However intense my experience, I am conscious of the presence and criticism of a part of me, which, as it were, is not a part of me, but a spectator, sharing no experience, but taking note of it, and that is no more I than it is you. When the play, it may be the tragedy, of life is over, the spectator goes his way. It was a kind of fiction, a work of the imagination only, so far as he was concerned.
    Henry David Thoreau (1817–1862)