A Survey of Object-Oriented Programming Languages

Authors(2) :-M. Surya, S. Padmavathi

Object oriented programming has become a very important programming CONCEPT of our times.The time it was brought into existence by Simula. It directly support the object notions of classes, inheritance, information hiding, and dynamic binding. There is a variety of implementations for each of these concepts, and there is no general agreement as to how a particular concept must be interpreted. This survey takes a detailed look at the concepts which are fundamental to object-orientation, namely inheritance and polymorphism. Different aspects of inheritance and polymorphism are implemented in various popular Object oriented program language. We conclude that there is still lot of work to be done to reach a common ground for these to achieve features of OOPs. This survey presents a comparison of Java, C++, C# , Eiffel, Smalltalk, Ruby and Python in terms of their inheritance and polymorphism implementations. The paper also presents a compilation of the observations made by several surveys [1].

Authors and Affiliations

M. Surya
Computer Science and engineering, Sri Krishna College of Technology, Coimbatore, Tamilnadu, India
S. Padmavathi
Assistant Professor, Computer Science and engineering, Sri Krishna College of Technology, Coimbatore, Tamilnadu, India

OOPL, C++, C#

  1. D.J. Armstrong. The quarks of object-oriented development. Communications of the ACM, 49(2):123-128, 2006.
  2. Isabelle Attali, Denis Caromel, and Sidi Ould Ehmety. A natural semantics for eiffel dynamic binding. ACM Trans. Program. Lang. Syst., 18(6):711-729, 1996.
  3. G. Bracha and W. Cook. Mixin-based inheritance. In Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications, pages 303-311. ACM New York, NY, USA, 1990.
  4. K.B. Bruce, L. Petersen, and A. Fiech. Subtyping is not a good match for object-oriented languages. Lecture Notes in Computer Science, 1241:104-127, 1997.
  5. Kim B. Bruce. Foundations of object-oriented languages: types and semantics. MIT Press, Cambridge, MA, USA, 2002.
  6. Vinny Cahill and Donal Lafferty. Learning to Program the Object-Oriented Way with C# . Springer-Verlag New York, Inc., 2002.
  7. Luiz Fernando Capretz. A brief history of the object-oriented approach. SIGSOFT Softw. Eng. Notes, 28(2):6, 2003.
  8. Luca Cardelli and Peter Wegner. On understanding types, data abstraction, and polymorphism. ACM Comput. Surv., 17(4):471-523, 1985.
  9. Iain Craig. The Interpretation of Object-Oriented Programming Languages. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2001.
  10. I.D. Craig. Programming in Dylan. Springer-Verlag New York, Inc. Secaucus, NJ, USA, 1997.
  11. T. V. Cutsem. Eiffel and c++: A comparison between object oriented languages. http://prog.vub.ac.be/ tvcutsem/publications/oo comparison.pdf.
  12. S.H. Edwards. Inheritance: One mechanism, many conflicting uses. In Proc. 6th Ann. Workshop on Software Reuse.
  13. Margaret A. Ellis and Bjarne Stroustrup. The annotated C++ reference manual. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1990.
  14. D. Flanagan and Y. Matsumoto. The ruby programming language. O’Reilly Media, Inc., 2008.
  15. Jerry Gao, Chris Chen, Y. Toyoshima, David Kung, and Pei Hsia. Identifying polymorphism change and impact in object-orientated software maintenance. Journal of Software Maintenance, 8(6):357-387, 1996.
  16. J. Gosling, B. Joy, G. Steele, and G. Bracha. Java (TM) Language Specification, The (Java (Addison-Wesley)). Addison-Wesley Professional, 2005.
  17. H. Schmidt. C/C++ Programmer’s Reference. McGraw-Hill, 2003.
  18. K. Henney. Promoting Polymorphism, 2001.
  19. D.H.H. Ingalls. The Smalltalk-76 programming system design and implementation. In Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pages 9- 16. ACM Press New York, NY, USA, 1978.
  20. Ian Joyner. Objects Unencapsulted: Java, Eiffel, and C++?? Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1999.
  21. D. Kaustub and D. Grimes. A comparison of object oriented scripting languages: Python and Ruby, 2001.
  22. B.B. Kristensen, O.L. Madsen, B. Moller-Pedersen, and K. Nygaard. The BETA programming language. MIT Press Cambridge, MA, USA, 1987.
  23. H. Lieberman. Using prototypical objects to implement shared behavior in object-oriented systems. In Proceedings of the 1986 conference on Object-oriented programming systems, languages, and applications, volume 21, pages 214-223. ACM New York, NY, USA, 1986.
  24. Juval Lowy. An Introduction to C# Generics. Technical report, Visual Studio 2005 Technical Articles, 2005.
  25. S. Matsuoka and A. Yonezawa. Analysis of inheritance anomaly in object-oriented concurrent programming languages. 1993.

Publication Details

Published in : Volume 5 | Issue 2 | March-April 2019
Date of Publication : 2019-04-30
License:  This work is licensed under a Creative Commons Attribution 4.0 International License.
Page(s) : 187-197
Manuscript Number : CSEIT195248
Publisher : Technoscience Academy

ISSN : 2456-3307

Cite This Article :

M. Surya, S. Padmavathi, "A Survey of Object-Oriented Programming Languages", International Journal of Scientific Research in Computer Science, Engineering and Information Technology (IJSRCSEIT), ISSN : 2456-3307, Volume 5, Issue 2, pp.187-197, March-April-2019.
Journal URL : http://ijsrcseit.com/CSEIT195248

Article Preview