Maintainability is the ease with which a programming language can be maintained so as to find out bugs or their cause, correct the bugs or their cause. It is easier to maintain a well design and implemented object-oriented system than well designed imperative system. This is due to the facts that object oriented language is more complicated than imperative language because of the use of polymorphism and inheritance; these make it difficult to identify errors and their causes as it cause indirection in the program.
All system implementation requires both good interactive performance and good run time performance. It is difficult to satisfy these needs using a pure object oriented language since it requires a lot of optimization such that interactive performance suffers; the performance can be improved by adopting adaptive recompilation which helps improve the system’s responsiveness to programming changes. Lack of dynamically dispatched calls in an imperative language like C improve performance since they do not encourage factoring codes into small, reusable units, thereby reducing the frequency of the expensive operations. Frequent calls not only hinder optimization and slow down execution with dispatch overhead per second. ...Show more