From: frebe73 on
> > Are you totally ignorant about spatial databases?
> No, I am of any "relational data structure" (RDS) for the problem
> described. Your references to some software products are irrelevant as long
> you cannot assert that they solve the problem using such an RDS. In case
> they do, please, don't hesitate to present it us.

How do you expect such assertion to be made? Disassembling the
executables? I understand that you don't trust any documentation, but
why do think products like Oracle Spatial and PostGIS have specalized
index types, if they are not able to make use of them?

Fredrik Bertilsson
http://mybase.sf.net

From: Robert Martin on
On 2007-01-26 15:13:12 -0600, "topmind" <topmind(a)technologist.com> said:

>> One of the fundamental rules of Agile is YAGNI, "You
>> Aren't Going to Need It." In short, this rule says that you should not
>> include support for something just because you think you are going to
>> need it. Only provide support for what you need right now.
>
> Then why do you wrap all your SQL behind classes, methods etc? Was that
> an up-front need? Yagni adherence would dictate waiting until you
> actually need wrapping. (By the way, I somewhat disagree with Yagni. It
> is a good rule of thumb, but should not be sought dogmatically.
> Software development is about weighing gajillion tradeoffs. It's a
> tradeoff weighting symphony, You don't bang on just one piano key.)

I completely agree.

I wrap the SQL because I actually write the business rule code before I
know what the schema is, or even whether I'll be using an RDB. I need
to test those business, so I create interfaces that allow my test
drivers to provide data as though it came from a DB. Those interfaces
are later implemented by the database layer with SQL.


--
Robert C. Martin (Uncle Bob)��| email: unclebob(a)objectmentor.com
Object Mentor Inc.� � � � � ��| blog:��www.butunclebob.com
The Agile Transition Experts��| web:���www.objectmentor.com
800-338-6716� � � � � � � � ��|



From: Robert Martin on
On 2007-01-26 21:28:49 -0600, "topmind" <topmind(a)technologist.com> said:

>> Then you should also entertain the possibility that objects and RDBs
>> can be used synergistically.
>
> I am not saying it can't happen, only that nobody has *shown* it
> happening. OO and RDB's seem to overlap too much. They are different
> approaches to fairly similar needs.

I think lots and lots of people have shown that the two play nicely
together. They are different approaches to very different needs. RDBs
store, organize, search, fetch, and process data. OO languages help to
organize complex software systems.


--
Robert C. Martin (Uncle Bob)��| email: unclebob(a)objectmentor.com
Object Mentor Inc.� � � � � ��| blog:��www.butunclebob.com
The Agile Transition Experts��| web:���www.objectmentor.com
800-338-6716� � � � � � � � ��|



From: Robert Martin on
On 2007-01-26 19:01:55 -0600, "Daniel Parker" <danielaparker(a)gmail.com> said:

> Hmmm ... whatever happened to your idea of using arrays of
> interconnected data structures in 100 gigs or so of non volatile RAM,
> in preference to RDBMS?

Nothing. For those applications where that would work (e.g. embedded
applications) I think it works nicely. One day it may even work well
for certain enterprise solutions.
--
Robert C. Martin (Uncle Bob)��| email: unclebob(a)objectmentor.com
Object Mentor Inc.� � � � � ��| blog:��www.butunclebob.com
The Agile Transition Experts��| web:���www.objectmentor.com
800-338-6716� � � � � � � � ��|



From: topmind on

Robert Martin wrote:
> On 2007-01-26 21:28:49 -0600, "topmind" <topmind(a)technologist.com> said:
>
> >> Then you should also entertain the possibility that objects and RDBs
> >> can be used synergistically.
> >
> > I am not saying it can't happen, only that nobody has *shown* it
> > happening. OO and RDB's seem to overlap too much. They are different
> > approaches to fairly similar needs.
>
> I think lots and lots of people have shown that the two play nicely
> together.

"Play nicely" by what standards? The code in your book *runs*, yes,
but I would hate to have to maintain such code. Here are two sets of
opinions which suggest the OO+R land is not so rainbowee:

http://www.codinghorror.com/mtype/mt-comments-renamed.cgi?
entry_id=621

http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer
+Science.aspx

> They are different approaches to very different needs. RDBs
> store, organize, search, fetch, and process data. OO languages help to
> organize complex software systems.

Those are not necessarily mutually-exclusive. One way to manage
"complex software" is to meta-tize much of it such the tables become a
kind of domain-specific language such that one is "programming in the
tables" so that one is not dealing directly with programming
languages. Non-programmers or newbie programmers can then perhaps
participate also if a few RAD edit screens/grids are built. Product
categories, employee classifications/groups, pay deductions and their
sequence/priority, etc. become data in tables instead of boatloads of
classes hard-wired into programs. Queries also do much of the
collection-oriented work such that one is not wasting code iterating
thru linked lists of objects, etc. And if you did factor all these to
tables instead of classes, your OO code is more or less procedural
wearing bulky OO clothing. All roads lead to Rome.

Polymorphism is a smell of hardwiring going on.

(If there are not enough changes or "instances" to qualify for
tablization, then which paradigm is used for app code will not make
much difference anyhow. But I just find procedural simpler at the
small level.)

>
>
> --
> Robert C. Martin (Uncle Bob) | email: unclebob(a)objectmentor.com

-T-