From: frebe on 29 Jan 2006 02:58 > Provide a resource manager for your map object and it > can participate in global transactions managed by Tuxedo or similar > products. My point if you are using a RDBMS the resource manager is already there. If you are using maps, lists, etc, you also need a resource manager specially written for these kind of collection classes. Fredrik Bertilsson http://butler.sourceforge.net
From: Dmitry A. Kazakov on 29 Jan 2006 05:12 On 28 Jan 2006 22:58:08 -0800, topmind wrote: > Christian Brunschen wrote: >> And you will be right to a point, but only to a point. Everything is a >> 'representation' on some level. But with objects, I can represent the >> _behaviour_, rather than just the _data_. The objects expose the behaviour >> and hide the data; the database can expose only the data, because that is >> the only thing it has. (Again, excluding for this argument the fact that >> database engines these days have grown extensions which include >> programming languages, precisely to circumvent these restrictions in the >> relational model.) > > But data is more "mathable" than behavior in this point in history This deserves an explanation, why do you think so. It seems obviously wrong. Mathematics deals with categories such as rings, fields, graphs, topos etc and studies their behavior. It has very little to do with processing data. >>>In fact, DB tables are more sharable across languages than objects. >>>Thus, by that criteria they are more generic. >> >> ... but only for storage of and sharing data. If you want to do more than >> that, the database is simply not sufficient. > > Perhaps, but OO is no improvement over other approaches. Plus, many > things that OO calls "behavior" can be *turned* into attributes if one > knows how. This is an argument to Turing completeness, so it is irrelevant, because a finer measure than equivalence is required here to judge. What you call tables can be converted to "behavior", and everybody knows how. >> Similarly, just because different object-oriented programming languages >> may have problemsinteroperating with each other's objects, isn't a failing >> of object-orientation. > > Non-OOP protocols are usually easier to share. True, when they are low-level. But note: 1. If they aren't then it is wrong 2. If they are and communication is inherently complex, then it is a heavy burden for the participants. Example: the boot time of well-known OSes paradoxically grows with the CPU speed, because protocols are so low-level. So your argument is actually: simple things are simple... -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
From: Dmitry A. Kazakov on 29 Jan 2006 05:24 On 28 Jan 2006 23:58:38 -0800, frebe wrote: >> Provide a resource manager for your map object and it >> can participate in global transactions managed by Tuxedo or similar >> products. > My point if you are using a RDBMS the resource manager is already > there. *A* resource manager, you mean. For my application I was forced to implement a sort of my own higher-order GC over the DBMS, because triggers were unable to collect what and how I needed it. > If you are using maps, lists, etc, you also need a resource > manager specially written for these kind of collection classes. Yes, because containers are decoupled from resource management for a good reason. There cannot be universal resource manager. Therefore all good container libraries are usually designed to be independent on resource management. However, if it is known in advance, which kind of management is needed, then it is [sometimes] possible to implement that on top of existing components. This is the power of OO (ADT) software design paradigm: an ability to decompose larger problems into relatively independent smaller ones. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
From: Dmitry A. Kazakov on 29 Jan 2006 05:39 On 28 Jan 2006 22:43:11 -0800, topmind wrote: >> OK, show us some use cases that support your assertions, then - that show >> that it is even _possible_. Show how a 'general-purpose string >> matching/finding tool' is a 'general-purpose tool' _outside_ of its domain >> - which is finding predefined patters within strings. > > That is an interesting challenge that I am not up to. I've encountered > programmers who claimed they could do such and they gave some > interesting examples of what can be done. However, I don't have the > link right now. I suggest you try a Perl forum perhaps. Generally they > can use strings to represent stacks, queues, lists, passible > "functions" (code snippets that are later Eval'ed), etc. and regex's to > parse and unparse such strings. Write a pattern that inverses an arbitrary string: "abcd" --> "dcba". You cannot do it with regular expressions, which are very limited in power. SNOBOL can this, but it is Turing-complete language. [ For all you need a user stack or equivalent and recursion. Standard regular expressions lack both. ] -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
From: Patrick May on 29 Jan 2006 05:55
"frebe" <fredrik_bertilsson(a)passagen.se> writes: > > Provide a resource manager for your map object and it can > > participate in global transactions managed by Tuxedo or similar > > products. > > My point if you are using a RDBMS the resource manager is already > there. If you are using maps, lists, etc, you also need a resource > manager specially written for these kind of collection classes. A resource manager for the entities within the domain of the RDBMS is available, yes. You are, however, moving the goalposts. Your original question was: "Can you name any other product offering transaction support for things not within their domain?" Transaction managers do exactly that. 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) |