{"title":"纯面向对象系统的真正优势,或者为什么面向对象的C扩展注定要失败","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":"{\"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}","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}
The real advantages of pure object-oriented systems or why object-oriented extensions to C are doomed to fail
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.<>