From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,695b28bb1b8c553c X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder.news-service.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Static vs Dynamic binding and its effect on maintenance of software Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: Date: Thu, 1 Jan 2009 15:41:04 +0100 Message-ID: <1q1oy8fvru5xy.vswsq72qdlat$.dlg@40tude.net> NNTP-Posting-Date: 01 Jan 2009 15:41:09 CET NNTP-Posting-Host: c9a0082a.newsspool1.arcor-online.net X-Trace: DXC=cKHJN`^l5fGA@P]\Dic==]BZ:afN4Fo<]lROoRA^YC2XCjHcbI]jH`jQQno`ODNcfSJ;bb[EIRnRBaCd On Thu, 1 Jan 2009 03:41:15 -0800, Nasser Abbasi wrote: > From "Object-Oriented programming and Java", ISBN 981-308-396-4 > > I am posting this on Ada group for comments, since Ada is well known for its > static binding more than any other language I know. > > "Static binding is limited and may lead to difficulty in software > maintenance. Dynamic binding, on the other hand, provides design flexibility > and may enhance software maintainability" > > Here is a screen shot of the page where the above was taken > http://12000.org/tmp/010109/static_binding.png > > I understand how dynamic binding can be more 'flexible', but why static > binding "may lead to difficulty in software maintenance" ? I do not > understand the rational behind this. > > I would have thought than dynamic binding would do that more than static > binding? (Usual popcorn, I gather. Why do you start the new year reading this? (:-)) Without specifying what is bound to what it is meaningless to talk about it. Anyway the key issue is not the time of binding, but the behavior of. Precisely if late binding may fail. When it cannot, then it is static, in the sense that there anyway exists some naming schema, call it as you wish, checked statically. If it can fail, then technically there are two further possibilities. Either you add an exception propagation or other fallback *static binding*, which brings you into back to the starting position. Or else you stop the program and pop the debugger up. The latter, I mean, running the debugger is probably author's understanding of software maintenance... -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de