Doug, Some short answers, we can discuss further some time if interested. First: the "technical" reasons C++ was not considered OO = strong typing, friend declarations, multiple inheritance, explicit constructors, and an over-dependence on function overrides.
Second: subtler, but in my opinion more important, the philosophy of the language - C++ was never intended to be an OO language. Marketing saw some superficial similarities and jumped on the OO bandwagon and represented the language as something it was not intended to be. (They also worked very hard to redefine OO to be closer to what C++ offered - their own version of Newspeak.) C++ was intended to be a means to impose structured programming discipline on C programmers without, in any way, interfering with the hyper-efficient performance characteristics that arose from being as faithful a representation of the hardware as possible. In contrast - the OO tradition that began with Simula (not Simula I which was already moving away from the philosophical ideal) and was embodied in Self and Smalltalk, did not care about the machine, did not care about efficiency, it was all about the domain - faithful representation of same - and about human-machine "natural" communication about that shared domain (both humans and objects "lived" in the same "world"). C++ versus Smalltalk was an expression of an even deeper philosophical divide between formalists and aformalists that traces back to the ascendency of the former during the Age of Reason. dave On Sun, 24 May 2009 18:35 -0600, "Douglas Roberts" <d...@parrot-farm.net> wrote: Not to digress, but Dave kind of lost me one day at a FRIAM when he said "C++ is not object oriented." I didn't really know what he meant, because I've been using C++ for about 20 years now to accomplish polymorphism via object inheritance, containment, and method specialization (with and without templates) -- which use pretty much meets most definitions of OO programming that I've encountered. Dave, I'd be interested in knowing what you meant... --Doug On Sun, May 24, 2009 at 6:20 PM, Stephen Guerin <[1]stephen.gue...@redfish.com> wrote: On Sun, May 24, 2009 at 5:47 PM, Douglas Roberts <[2]d...@parrot-farm.net> wrote: > Interesting. Other issues that will come to play with an ABM of the > intended scales you describe are synchronization of the various asynchronous > distributed components, message passing latency, and message passing > bandwidth. Hopefully a course-grained sync & message passing design can be > developed, because http is not good for either latency or bandwidth (using > Myrinet or Infiniband for comparison). Yeah, I'm not thinking this would be used for a single large-scale ABM for exactly the synch issues you describe. This would be more for authoring and deploying many smaller-scale applications written with an agent-oriented perspective. What Dave West talks about when he refers to how object-orientation was originally conceived not how current object-oriented programming is done. This is close to what Smalltalk/Seaside looks like but probably implemented within Javascript. -S -- --- -. . ..-. .. ... .... - .-- --- ..-. .. ... .... [3]stephen.gue...@redfish.com (m) 505.577.5828 (o) 505.995.0206 [4]redfish.com _ [5]simtable.com _ [6]sfcomplex.org _ [7]lava3d.com ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at [8]http://www.friam.org -- Doug Roberts [9]drobe...@rti.org [10]d...@parrot-farm.net 505-455-7333 - Office 505-670-8195 - Cell References 1. mailto:stephen.gue...@redfish.com 2. mailto:d...@parrot-farm.net 3. mailto:stephen.gue...@redfish.com 4. http://redfish.com/ 5. http://simtable.com/ 6. http://sfcomplex.org/ 7. http://lava3d.com/ 8. http://www.friam.org/ 9. mailto:drobe...@rti.org 10. mailto:d...@parrot-farm.net
============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org