From: topmind on 17 Jun 2005 23:54 >> An array of function pointers. That has been around long before OOP. > > An array of function pointers *is* OOP. Or rather OOP is discipline > imposed upon tables of pointers. In that case OOP was invented in the 40's, not 60's. But, I don't think your definition is the concensus among OO proponents. And if OO is more "disciplined" than relational, I will eat the lint in my socks. -T-
From: topmind on 17 Jun 2005 23:57 > Excuses, excuses, excuses. I've given you many different options. I gave you challenges in the past that you ignored. But it is moot if we won't agree on the pattern of future changes. -T-
From: topmind on 18 Jun 2005 00:21 > > > >Coupling is not always bad. > > True. And coupling sometimes is bad. When it is, it's nice to have a > set of tools that can manage it. Like sets and relational. > > >Polymorphism couples one to mutual exclusitivity, so there! > > As the CompositeAccount example showed, this is not exactly true. IIRC, you had to rework it into an array and loop. The case version offered a simpler change possibility. (I showed one could do something similar to the array of objects in p/r if we wanted mass lists.) > > > >Relational is discipline on tables, OO is a 60's style navigational > >mess that lacks discipline. > > Tsk, tsk. OO is not equivalent to network databases. You have to get > your head out of that silly idea. OO is not about data at all. OO is > about the partitioning of behavior. Data and behavior are the same thing. One is just a different view of the other. Code is reduced to a tree or linked list of operaters and operands by the compiler/interpreter. To the compiler/interpreter, the program is just data to process. Most humans just find most of it more convenient to work with it in a linguistical form. It is just a matter of tweaking viewpoints. > > >> No, I rather like the Visitor. I think it's an elegant solution to a > >> very tricky problem. > > > >You have a strange notion of "elegant". > > Hmmm. The visitor is one polymorphic method to determine type, and > another to dispatch function. Clean, simple, fast. Elegant. I will give you fast. > > >> Some people are democrats, and others are republicans. Who can > >> explain why? People who don't like Visitor are just wrong, IMHO. > > > >Can you objectively prove this? > > I can't prove that they are wrong to dislike it; since dislike is not > a rational emotion. I can certainly prove that visitor is the best > tool to use for certain situations. Indeed, I have walked through > such proofs in a number of books and articles. > > See: http://www.objectmentor.com/resources/articles/visitor I think that is the example that inspired this modem example: http://www.geocities.com/tablizer/prpats.htm#dispatch > > >Beam Visitor and navigational messes the hell off my planet! > > What a nice, rational, objective, remark. No, it is me, a chaotic emotional human (at times). > > > ----- > Robert C. Martin (Uncle Bob) | email: unclebob(a)objectmentor.com -T-
From: Patrick May on 18 Jun 2005 07:12 "topmind" <topmind(a)technologist.com> writes: > Patrick May wrote: > > You have already been pointed to the publicly available > > FitNesse. You have thus far failed to raise any issues with its > > design or implementation despite claiming to have developed a Wiki > > using your preferred approach. Please demonstrate how you would > > improve this software by eliminating the use of OO techniques. > > I never claimed that I can objectively improve on it. I am only > questioning suggestions that the OO version is objectively better > than non-OO versions. Robert Martin has already described how the use of polymorphism allowed a new storage mechanism to be implemented in a very short period of time with no impact on existing code. You haven't shown how you could achieve the same benefit as rapidly and cleanly using your preferred techniques. > I am complaining that you guys have no objective evidence for your > claims. Actually, what you're doing is coming into a venue that exists for the discussion of a particular set of software development techniques and attempting to ascribe simplistic positions to the other participants. This is a variant of the straw man fallacy. > That is NOT the same as claiming I have objective evidence it is > better. Nope, you're very careful to either retract or fail to defend any claims you make. That behavior does raise the question of what your purpose is in participating here. Sincerely, Patrick ------------------------------------------------------------------------ S P Engineering, Inc. | The experts in large scale distributed OO | systems design and implementation. pjm(a)spe.com | (C++, Java, Common Lisp, Jini, CORBA, UML)
From: Patrick May on 18 Jun 2005 07:17
"topmind" <topmind(a)technologist.com> writes: > And, see how ugly the Visitor pattern is? Even some GOF (pattern) > fans are otherwise embarrassed by it. Visitor is a means for non-intrusively adding behavior to classes in languages such as C++ and Java that tightly bind methods to classes. CLOS (the Common Lisp Object System) doesn't have this issue, so the Visitor pattern is unnecessary. You are criticizing one particular language design choice, not an inherent feature of OO. Sincerely, Patrick ------------------------------------------------------------------------ S P Engineering, Inc. | The experts in large scale distributed OO | systems design and implementation. pjm(a)spe.com | (C++, Java, Common Lisp, Jini, CORBA, UML) |