Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!nrl-cmf!ukma!gatech!udel!burdvax!ubbpc!wgh From: wgh@ubbpc.UUCP (William G. Hutchison) Newsgroups: comp.lang.smalltalk Subject: Re: Smalltalk versus C++ Summary: I was asking about NECESSARY features, not handy Keywords: object-oriented languages Message-ID: <451@ubbpc.UUCP> Date: 5 Jan 89 17:49:12 GMT References: <447@ubbpc.UUCP> <824@laura.UUCP> Organization: UNISYS CS, Blue Bell, PA Lines: 55 In article <824@laura.UUCP>, georg@exunido.uucp (Georg A. M. Heeg) writes: > In article <447@ubbpc.UUCP> wgh@ubbpc.UUCP (William G. Hutchison) writes: > >(1) Smalltalk creates classes dynamically, whereas C++ does it statically. > In Smalltalk you use this feature all the time. It is the way to deal with > an interactive system to change it dynamically. This is interesting, but not exactly the _type_ of answer I was looking for. It seems to me that you may be using dynamic classes because they are _there_, not because you really need them. Could your applications be written using statically declared classes? Are dynamic classes necessary for application development in a structured "software engineering" sort of way, or just handy for improvising programs at the terminal? > >(2) In Smalltalk "everything is an object" whereas C++ treats the traditional > > C data types differently from programmer-defined objects; > This feature is essentially used, too. E.g. it enables to introduce new > kinds of Numbers (like complex) you can handle like ordinary numbers. You need > no change of Matrix inversion algorithm after introducing Complex. Is this literally true? What about checking values for "close to zero" in pivoting? Complex numbers are not well-ordered, so you probably want to check if the magnitude of the number is close to zero. > >(3) Smalltalk has multiple inheritance, but C++ does not yet (soon ... > We never used this. Multiple Inheritance leads to much more complex systems > and mostly can be avoided by distinguishing usage ("has") from inheritance > ("is)"). Aha! Thanks. > >(4) Smalltalk may be designed in a way such that it has built-in overhead, > > and it may never be possible to make Smalltalk programs run as fast as > > C++ on present-day machine architectures (not sure about this ... > This is true for small programs. Due to the good construction models and > the good programming interface medium size programs (or large programs) often > run blind fast in Smalltalk-80. We (Hans-Martin Mosner) wrote a vt220 > emulater in Smalltalk-80 which runs faster than most host platform window > system terminal emulators (and has more features). > To summarize: Flexibility and interactive visibility are the major > differences. Both are VERY important to me. > Georg Heeg > Smalltalk-80 Systeme > Baroper Str. 337 > D-4600 Dortmund 50 Thanks for the info. Does anybody know if one of the inexpensive Smalltalk implementations runs correctly on the AT&T 6300PLUS (80286) ??? (inews pablum) (inews pablum) (inews pablum) (inews pablum) -- Bill Hutchison, DP Consultant rutgers!liberty!burdvax!ubbpc!wgh Unisys UNIX Portation Center P.O. Box 500, M.S. B121 "The unexamined life is not worth living!" Blue Bell, PA 19424 -- Educational Testing Service, Princeton, NJ