Re: OO - A desperate gripe!
- Posted by Ian Smith <whoisian at HOTMAIL.COM> Mar 21, 2000
- 454 views
>Unfortunately, the current OO solutions, or any future ones are not >nearly as good as the real thing - not least because if you want to make >a library for distribution using OO, anyone who wants to use it has to >be using the same OO method, and has to have the associated OO library. > >Nick I fail to see how current OOP solutions aren't as good as the 'real thing'. First, the only language that is fully object oriented (that i can think of) is Java. C++ and versions of Borland/Turbo Pascal support object orientation but are not completey object oriented because you have to use the objects you define in a main block. Second, the current OOP libs that have been released work on the same principal of OOP, you just have to see that OOP is just a form of Data abstraction, like procedures and functions are code abstractions. When you define a class in ANY object oriented language you are just defining variables and routines as normal but they are expressed in a program such that they are all expressed in reference to one name and/or handle. (ie. Name is a data member of the class Person, when you express Name in anyway you must either express it in the definition of a method for the class Person or express it related to person like a = Person.Name) Just because OOP isn't expressed the same way as other languages doesn't mean it isn't the same is the 'real thing'. An orange that has been made to grow green doesn't mean it isn't an orange anymore. Third, If you want to write a library and are bothered that people who use it have to use the same 'OO method' then just write routines in your library that manipulate the objects in use. I.E MyWindow = addWindow(MAIN_WINDOW,"TheWindow",{0,0,100,50}) the addWindow() function could be written as such global function addWindow(integer Parent, sequence Name, sequence dims) ... ... Windows[numwindows] = new("Window","theWindow") junk = callMethod(Windows[numwindows], New_Window, {Parent, Name, dims}) .. .. end function This way the user of the library can use the method YOU define. I hope this has been enlightening. Sorry for any way i might have come off as a Cynic or a mean - intentioned bastard. PS: you might want to try my OOP lib, STOOP. Email me if you want a copy. Ian Smith whoisian at hotmail.com ICQ:60968534 ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com