A Programmer’s Discussion: Procedural vs. OO
So I have been writing code of one sort or another for over 15 years (mostly Perl) and there is still one thing I don’t get ... what is the advantage of object oriented programming (OOP) over procedural programming (PP)?
I want to have an open discussion on the topic. Obviously I deal with both OOP and PP, but I am strongly in the PP camp. I am wondering “did I miss the boat”? I heard that Perl 6 will have very strong OOP and possibly will be pure OOP only, so if Larry Wall (way smarter then me) thinks it is a good idea, I must have missed something.
Here is my simplified position, I find OOP harder to read, harder to maintain, and harder to use. PP seems so intuitive and straight forward. I find most PP code I can read and understand with very little in the way of comments or documentation, the code is the code you can see what it is doing (it is mostly self documenting). In OOP I find that I am constantly trying to figure out what it is doing, it seems more... nebulous. I normally have to jump around more; it is not like PP where you are mostly reading top down.
Tell me what you think and help me expand my knowledge. I am not trying to promote or bash either method, I am trying to learn, and I hope all of you will respond in the same spirit. When you respond please let us know what camp are you in.
Some possible talking points for the subject:
What can OOP do that PP can’t? or What can PP do that OPP can’t?
What advantages does OOP have over PP? or visa versa?
Performance benefits of OPP/PP?
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems
Join editor Bill Childers and Bit9's Paul Riegle on April 27 at 12pm Central to learn how to keep your Linux systems secure.
Free to Linux Journal readers.Register Now!
- New Products
- [<Megashare>] Watch Mrs Brown's Boys Movie Online Full Movie HD 2014
- Developing for the Atmel AVR Microcontroller on Linux
- GUI Scripting with Tcl/Tk
- Movie Making on a Linux Box? No Way!
- Security Hardening with Ansible
- Tips for Optimizing Linux Memory Usage
- diff -u: What's New in Kernel Development
- Kernel Korner - Linux as an Ethernet Bridge
- Linux Journal Contents #135, July 2005