Object-Oriented vs Functional Programming: What I Learned Using Both

Authors

  • Bhavitha Guntupalli Independent researcher, USA. Author

DOI:

https://doi.org/10.63282/3050-9246.IJETCSIT-V1I3P105

Keywords:

Object-Oriented Programming, Functional Programming, Software Architecture, Paradigm Comparison, Code Reusability, Immutable Data, Side Effects, Polymorphism, Declarative Programming, Abstraction, Case Study, Best Practices

Abstract

I investigated how each paradigm shapes code writing, problem-solving, and system conceptualization by interacting with both Object-Oriented Programming (OOP) and Functional Programming (FP) across my programming career. This article shows my actual experience running actual world projects using both approaches, therefore highlighting the main differences and surprising parallels between both. Object-oriented programming helped me to find more comfort in depicting these systems as a collection of interacting these things, each with state and behavior ideal for uses that change with time. Conversely, functional programming offered a fresh approach by stressing immutability, pure functions, and composability, which proved great effectiveness in these environments needing scalability, predictability, and testability. The change between paradigms required not just a change in syntax or tools but also a basic intellectual revolution from a concentration on "entities that perform" to "entities that exist." As I worked on several projectsdeveloping interfaces, doing data transformations, and managing these application statesthe benefits and the disadvantages of each method were clear. While functional programming excelled at simplifying logic and avoiding these mistakes in data-intensive tasks, object-oriented programming typically helped the conception and growth of many complex systemsespecially in cooperative contexts. This experience helps one to realize that the suitable paradigm depends on the context: project goals, team capabilities, and system requirements. Choosing a side is not as important as realizing whether to use OOP's structure or FP's clarity, which will produce more polished and under control code. This essay offers a specific, personal view on negotiating several worlds and clarifies how understanding both could improve a developer's flexibility and awareness

Downloads

Download data is not yet available.

References

[1] Chambers, John M. "Object-oriented programming, functional programming and R." (2014): 167-180.

[2] Alic, Dino, Samir Omanovic, and Vaidas Giedrimas. "Comparative analysis of functional and object-oriented programming." 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). IEEE, 2016.

[3] Likavec, Silvia. Types for object-oriented and functional programming languages. Diss. University of Turin, Italy, 2005.

[4] Santos, Igor Moreno, Matthias Hauswirth, and Nathaniel Nystrom. "Experiences in bridging from functional to object-oriented programming." Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E. 2019.

[5] Harrison, R_, et al. "Comparing programming paradigms: an evaluation of functional and object-oriented programs." Software Engineering Journal 11.4 (1996): 247-254.

[6] Allam, Hitesh. Exploring the Algorithms for Automatic Image Retrieval Using Sketches. Diss. Missouri Western State University, 2017.

7. Gabriel, Richard P., Jon L. White, and Daniel G. Bobrow. "CLOS: Integrating object-oriented and functional programming." Communications of the ACM 34.9 (1991): 29-38.

[7] Arugula, Balkishan, and Sudhkar Gade. “Cross-Border Banking Technology Integration: Overcoming Regulatory and Technical Challenges”. International Journal of Emerging Research in Engineering and Technology, vol. 1, no. 1, Mar. 2020, pp. 40-48

[8] Lutz, Mark. Learning python: Powerful object-oriented programming. " O'Reilly Media, Inc.", 2013.

[9] Jani, Parth. "UM Decision Automation Using PEGA and Machine Learning for Preauthorization Claims." The Distributed Learning and Broad Applications in Scientific Research 6 (2020): 1177-1205.

[10] Wegner, Peter. "Concepts and paradigms of object-oriented programming." ACM Sigplan Oops Messenger 1.1 (1990): 7-87.

[11] Minsky, Yaron, Anil Madhavapeddy, and Jason Hickey. Real World OCaml: Functional programming for the masses. " O'Reilly Media, Inc.", 2013.

[12] Mohammad, Abdul Jabbar. “Sentiment-Driven Scheduling Optimizer”. International Journal of Emerging Research in Engineering and Technology, vol. 1, no. 2, June 2020, pp. 50-59

[13] Lutz, Mark. Programming Python: powerful object-oriented programming. " O'Reilly Media, Inc.", 2010.

[14] Sai Prasad Veluru. “Real-Time Fraud Detection in Payment Systems Using Kafka and Machine Learning”. JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING ( JRTCSE), vol. 7, no. 2, Dec. 2019, pp. 199-14

[15] Budd, Timothy. Introduction to object-oriented programming. Pearson Education India, 2008.

[16] Kupunarapu, Sujith Kumar. "AI-Enabled Remote Monitoring and Telemedicine: Redefining Patient Engagement and Care Delivery." International Journal of Science And Engineering 2.4 (2016): 41-48.

[17] Sanders, Dean, and Brian Dorn. "Jeroo: a tool for introducing object-oriented programming." Proceedings of the 34th SIGCSE technical symposium on Computer science education. 2003.

[18] Sai Prasad Veluru. “Hybrid Cloud-Edge Data Pipelines: Balancing Latency, Cost, and Scalability for AI”. JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING ( JRTCSE), vol. 7, no. 2, Aug. 2019, pp. 109–125

[19] Thompson, Simon. Haskell: the craft of functional programming. Addison-Wesley, 2011.

[20] Jani, Parth. "Modernizing Claims Adjudication Systems with NoSQL and Apache Hive in Medicaid Expansion Programs." JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING (JRTCSE) 7.1 (2019): 105-121.

[21] Blaschek, Günther. Object-oriented programming: with prototypes. Springer Science & Business Media, 2012.

[22] Hudak, Paul. The Haskell school of expression: learning functional programming through multimedia. Cambridge University Press, 2000.

Published

2020-10-30

Issue

Section

Articles

How to Cite

1.
Guntupalli B. Object-Oriented vs Functional Programming: What I Learned Using Both. IJETCSIT [Internet]. 2020 Oct. 30 [cited 2025 Sep. 13];1(3):36-45. Available from: https://www.ijetcsit.org/index.php/ijetcsit/article/view/311

Similar Articles

21-30 of 252

You may also start an advanced similarity search for this article.