"Robert*@" a �crit dans le message news: 9qfi9q01ke@drn.newsguy.com... > If you "think" of a package as an object, then what do you "think" of > when you think about the tagged record inside the package? > > An object inside an object? > > What do you see when you think of an array of object? an array of packages? > > All of this becuase Ada does not have a separate class construct that > shows where a class starts and where it ends clearly. If anything Ada00 can > fix, is this part of Ada. > Since this keeps going on, I can't resist to provide my own Euros 0.02 worth... As noted before, Ada has no predefined paradigms. It has building blocks. All "classical" paradigms are design patterns. Here are some useful ones: A "class" in the usual sense: a tagged type inside a package, with primitive operations and nothing else. Two "friends" classes: two tagged types in a package (with primitive operations). Private inheritance: a tagged private type, whose full type is indirectly derived, i.e. (just a scheme, not something compilable): package My_Class is type Instance is new Other_Class.Instance with private; -- primitive operations private type Intermediate is new Other_Class with.... type Instance is new Intermediate with.... end My_Class; All these constructs (and more) require special syntax in other languages. In Ada, you can build them by assembling the building blocks in various ways. You can even build new paradigms that could not be possible in other languages without language changes. The difference between Ada and other languages is the difference between Lego blocks and Playmobil. Playmobil pieces are very finely defined for one purpose, but only one. It is almost impossible to mix a Playmobil piece from a box with pieces from other boxes. On the other hand, Lego blocks are totally interoperative. It is the same round piece that serves as an umbrella in the Lego village, as an parabollic antenna in the Space Lego, and as a shield in the Middle-Age Lego. The pieces in themselves have no predefined usage: it is the way you assemble them with other pieces that gives their meaning. I would advocate that Lego favours much more creativity than Playmobil... -- --------------------------------------------------------- J-P. Rosen (rosen@adalog.fr) Visit Adalog's web site at http://www.adalog.fr