From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,CTE_8BIT_MISMATCH, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: James O'Connor Subject: Re: OO, C++, and something much better! Date: 1997/01/25 Message-ID: <32EA52FA.1CF9@jmpstart.com>#1/1 X-Deja-AN: 212171525 references: to: Joachim Durchholz , content-type: text/plain; charset=iso-8859-1 organization: JumpStart Systems mime-version: 1.0 reply-to: joconnor@jmpstart.com newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.c++,comp.lang.smalltalk,comp.object x-mailer: Mozilla 3.01Gold (Win95; I) Date: 1997-01-25T00:00:00+00:00 List-Id: Joachim Durchholz wrote: > > Tansel wrote: > > > Contrary to what people say, type checking is against the nature of > > object oriented systems development. Remember, in OO, we only care about > > the interface of the other object. In fact it should be an OO sin to ask > > the type, because, in theory, we don�t want to get intimate with objects > > we are interacting apart from their interface. We only want to know the > > interface. > > There's a misunderstanding here. > > I agree checking should be done on the interface, but I was not aware of > any difference between type and interface. After all, objects with > identical interface have the same type for all practical purposes. There are subtle differences between 'type', 'interface', and 'class' and the terms get used somewhat interchangebly around here. Java, for example uses two separate constructs; Class (defining an interface and and implementations) and Interface (describing only an interface). Ada95 (I think) uses the term type to mean a type of data tructure, the type-and-package become what others call a class and the term 'Class' means a family of types (I think this is right...). Smalltalk uses the term 'class' to mean a class and the term 'type' to mean providing or describing a certain interface. However even type and interface are not interchangble. In Java, two objects that happen to share the same set of method signatures are not the same 'type' unless the inherit from a common base Class or base Interface. However, in Smalltalk, two objects that share the same set of method signatures are considered of the same 'type' regardless of class membership. > > > ATD based languages because of language structure. In languages such as > > Smalltalk, on the other hand, even knowing the type of an object is not > > a guarantee that this object will answer a method that we use, because > > we can really delete any method for that object while the system is in > > operation, so even type checking is not a perfect solution. > > A good type-checking Smalltalk system could work with versioning, so if > you delete a routine, you actually define a new class with the routine > deleted. Existing (typechecked) code would continue to work. Of course the > system should convert as much as possible to the new version of the class > structure, but if it finds code that uses the delete routine, the > programmer has to correct it (or the code has to remain on the old version > level). > Deleting methods on the fly isn't very common. But delegation is, I believe. If you use the #doesNotUnderstand: aMessage delagation approach, than knowing the claass of an object may not tell you whether a particular message send will work. > > Disadvantages? Many. > > Thanks for the info. This type of stuff is tremendous help in seeing > beyond all the hype. > > > For starters, most Smalltalks and their tools are ridiculously > > expensive. This is equivalent for the vendors to shooting themselves in > > the foot, at the same time hitting us with the richocet. > > Seems to be a general problem. Obviously this is one of the worst market > barriers for new languages: Market is small, so prices have to be high to > make a living from them, so market remains small. > On the other hand, this has saved us from countless language wars, so > maybe this vicious circle is a godsend... I think this is coming around. PPD has Smalltalk Express. I know both Dolphin (http://www.intuitive.co.uk) and SmalltalkMT (http://www.objectconnect.com) have very low priced Smalltalk products in the works. Dolphin intriques me because of the Smalltalk Applet plug-in available. SmalltalkMT looks cool because it produces very small, fast executables. > > > Why don't you come to Smalltalk Solutions 97? You may see many examples. > > It is in NY at Marriot Marquis between March 10-13. > > Sorry, that's a bit far from Germany... (domain .de is short for > "Deutschland"). > > > This is not true. Smalltalk base is growing very strongly especially in > > organizations such as banks. > > I didn't want to downplay the growth of Smalltalk. It's just that the > numbers presented were nearly content-free. I'd very much like to see some > solid numbers, though. > > Regards, > -Joachim > > -- > Joachim Durchholz, Hans-Herold-Str. 25, D-91074 Herzogenaurach, GERMANY -- James O'Connor -------------------------------------- joconnor@jmpstart.com http://www.jmpstart.com --------------------------------------