Being the age I am, and given the training I’ve received, Object Oriented is really the only way I know. Another way to program was never an option for me. Now the semantics of which language is and which language isn’t is immaterial here. C and C++ may not be purely OO languages but you still use them in an OO fashion. All (err most) of the OO principles are there: inheritance, abstraction, and even polymorphism. But I have recently, with my current job, run into a dilemma. What if a language, despite the ability, really shouldn’t be used in a OO fashion?
My problem stems from PL/SQL. We have an interface between two databases at work written in PL/SQL. So far so good. The problem is though is that the interface is written in such a fashion that, along with Oracle’s massively helpful error messages, it is almost impossible to debug quickly and easily. And as far as I can tell, it all stems from the OO fashion in which it was written. Now, unlike most modern languages, there is very little OO in PL/SQL as far as I’m concerned. You have encapsulation and modularity, but I don’t see much abstraction for example. It appears to me that despite Oracle’s best efforts their attempt to make PL/SQL OO have been (overly) appreciated but not worth it. Whats wrong with old fashion procedural programming? What do I even need OO for with PL/SQL? I have a massive data set that needs to be worked. I need to filter through it, pull what I need, discard what I don’t. And then fill a table with what’s left. Not hard. Do 1 then 2 then 3. Even when written in English (as opposed to code) it’s all very un-OO.
If you want specifics I can elaborate in another post. For now though I need to wash and wax my car.
Enjoy the Penguins!