A Survey of Object-Oriented Programming Languages

Authors

  • 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

Keywords:

OOPL, C++, C#

Abstract

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].

References

  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.

Downloads

Published

2019-04-30

Issue

Section

Research Articles

How to Cite

[1]
M. Surya, S. Padmavathi, " A Survey of Object-Oriented Programming Languages, IInternational 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.