Panicz Maciej Godek <[email protected]>: > 2014-09-05 22:44 GMT+02:00 Marko Rauhamaa <[email protected]>: >> However, objects, in my opinion, are the antithesis of tuples. >> Objects are the focal points of methods. Whether the black box >> contains data and in what form is none of the rest of the world's >> concern. > > Apparently our views on the essence of OOP differ. I perceive an > object as an aggregation of properties, and a set of methods I would > call an interface. Perhaps to you doing OOP is about defining > interfaces, and to me it's more about aggregating properties. I > wouldn't say that anyone of us is more right than the other.
There's no point arguing about terminology. All I want to say is that "my" OOP is desirable to me, "your" OOP is something I want to steer away from. I don't need interfaces as first-class entities in an object system. Ducktyping involves less clutter and is more generic. >> * [GOOPS] introduces a very strong, almost Linnaean, type system to >> Scheme, where it seems out of place. I see no principal reason for >> such classification. I don't declare my numbers in Scheme; why >> should I declare my object types? > > I don't think I understand. There is no strong type system, and > there's no need to declare object types. The types are mainly for > convinience -- to allow you to implement the same interfaces for > different objects. The types are a great inconvenience, syntactically and conceptually. Syntactically, your GOOPS method definitions make your Scheme code look like Pascal with the class names sprinkled among the parameters. Conceptually, the classes force me to put objects into buckets that don't correspond to my thought processes. Even Java offers anonymous classes for the purpose. Marko
