Re: OO - A desperate gripe!

new topic     » goto parent     » topic index » view thread      » older message » newer message

>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

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu