{"title":"The real advantages of pure object-oriented systems or why object-oriented extensions to C are doomed to fail","authors":"W. LaLonde, J. McGugan, D. Thomas","doi":"10.1109/CMPSAC.1989.65106","DOIUrl":null,"url":null,"abstract":"Object-oriented languages provide facilities for code reuse, abstraction, encapsulation, instantiation, polymorphism, and inheritance. Major differences between pure object-oriented languages like Smalltalk and hybrid languages like C++, Objective-C, and Object Pascal are discussed. It is argued that the inclusion of both pointer and nonpointer types and the lack of garbage collection in hybrid systems is a major impediment to reliability, correctness, and extensibility. Hybrid systems lack design environments that permit evolutionary code development, which is a major impediment to rapid, and therefore cost-effective, software development and to the development of reusable libraries.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CMPSAC.1989.65106","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Object-oriented languages provide facilities for code reuse, abstraction, encapsulation, instantiation, polymorphism, and inheritance. Major differences between pure object-oriented languages like Smalltalk and hybrid languages like C++, Objective-C, and Object Pascal are discussed. It is argued that the inclusion of both pointer and nonpointer types and the lack of garbage collection in hybrid systems is a major impediment to reliability, correctness, and extensibility. Hybrid systems lack design environments that permit evolutionary code development, which is a major impediment to rapid, and therefore cost-effective, software development and to the development of reusable libraries.<>