|
From: Justin F. <je...@ey...> - 2001-06-27 20:33:00
|
Alex Black wrote:
> hi Justin,
>
> that sounds like one module with a library to me.
Un, uh
> so, you have the library compute great circle,
> do a query for the store,
> spit it into a template,
> and output.
> I echo Odysseas' response re: a view on a set... though I will now try and
> create scenarios in my head for needing module communication. :)
.......
> > I don't think this is a trivial request, because if
> > BC grows up to be big, and people "use" data dropping
> > and picking up from a built-in a standard place, the
> > ultimate interchange of code between developers would
> > become easier.
>
> I think you may be right, though I need to come up with a complex example
> that would force me into it :)
----------------------------
Now this is NOT the start of a polemic. And, remember, the
end result of this request is one line in Init establishing
an array called, for example, BC_LUNCHBOX, in global scope.
This would not, I allege, cause you to be injustly accused
of forcing policy.
And now, dah, dah, for the "complex example" that intersects
with, shall we say, maintainability and administration of
500 web sites that need/use the great circle distance
between two ZIP's.
1. This site for bird lovers-in-detail has a computation
ability to determine how long certain types of
birds take to fly between cities. The distance
is computed, then a table is looked into for
average MPH for a particular type of bird.
2. This site for bird lovers-in-extreme-detail has
the same thing, but, but, they want the site
to go to the US weather bureau and get the current
prevailing wind, compensate for the flight direction,
and give the time for flight.
3. This site for bird lovers-in-really-extreme-detail has
the same thing, but, but, they want the site
to go to the US weather bureau and get the current
prevailing wind, compensate for the flight direction,
and THEN take into consideration the day of the year
because the cuckolded titmouse is known to fly faster
in the summer than the winter -- and give the time for flight.
4. This site for glider pilots wants the same-kind-of thing
but wants a look-up table for glider types.
n-1.
n.
500.
Yes, I know, I could do some libraries, and maybe I am thinking
wrongly. But, by simply loading in sequence a set of maybe
3-5 modules I could solve a _lot_ of problems by refining the
granularity if I have data passing.
I sure as hell am not going to design 500 different modules.
I will pay the price of the exposure of having to design 500
different layouts. I also, by module loading order, have the
ability of dynamic "switching" by, say, loading different
look-up tables, or even different methods of, say, Great
Circle computations, something that may be necessary in
Northern Canada where longitude convergence makes certain
algorithms less accurate than others.
Fantasy, you say? Sure. But I seem to believe that the
correct "way" to use BC is to atomize down more than you.
do. BC is a Lego set for me, and I like to build to finer
detail, therefore, my perception of BC is that it allows
to build with small pieces, not large pieces that are
"application size".
NOW, I STILL DON'T know what these mystical "Managers" are
going to look like. Are they going to allow me to do
generic queries for ZIP on potentially 500 databases of
different names and ZIP imbedded in potentially 10
different field names in potentially 10 different table
names, AND STILL USE SOMETHING LIKE one generic, but
configurable, module that solves all requirements from
500 customers? I donno. I certainly can imagine that
for some reason or other, I would wish to simply insert
one extremely "thin" module in between module 3 and
module 4 merely to use Init() (Output just returns)
to go look something
up in a database and deposit the data behind it
for use, or for overriding data that the previous
module computed, that succeeding modules _may_
expect.
And, I have not even addressed the great promise of BC that
is important for me, namely the hope that I will be
able to snarf BC modules from other developers, while
contributing modules for public consumption, WHILE
NOT having to, say, install 100 libraries that are
necessary for these feriners-gewritten-Kode. I think
that a data-passing facility would allow greater
compatability for exchange.
I donno. I have started thinking this way, I will
keep thinking about it. Maybe I don't need data
passing to trailing modules... It seems like it
would be useful, right now.
Regards,
--
Justin Farnsworth
Eye Integrated Communications
321 South Evans - Suite 203
Greenville, NC 27858 | Tel: (252) 353-0722
|