| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: One Ring to Bind Them
"Eric Kaun" <ekaun_at_yahoo.com> wrote in message
news:h2Zzc.1822$Pt.1440_at_newssvr19.news.prodigy.com...
> "Dawn M. Wolthuis" <dwolt_at_tincat-group.com> wrote in message
> news:can9nq$q7r$1_at_news.netins.net...
<snip>
<snip>
> My issues with declarative include:
> >
> > 1) There seem to be no standards for the black box that does something
> with
> > the declarations. I don't need standards-committees with years of
process
> > to adopt a standard -- I don't even know anything that would help ensure
> > portability of such declarations. SQL has come the closest and does
have
> > standards, but we all know you can't just take any code you write
against
> > one database and run it against another.
>
>
One issue ties back into the UI used by a developer for specifying anything. We aren't just talking about languages that are typed in, but some drawn with boxes, some spec'd with drop-down boxes, etc, so that the data collected for a specification (whether declarative or not) is related to the proprietary UI. Somehow we need to get not only a language captured, but also an IDE (bad word for me), sort of. So, there are standards being developed for IDEs. Whether a declarative or procedural or OO language flows from the UI, the user (developer) ends up specifying data that gets stored by the toolset as well as generating anything that might be needed. That was said in a convoluted way, but my point is that language standards are not enough to protect my investment as soon as I opt for a tool from Oracle or IBM or MS or whomever.
>
>
and the others who spoke up were right that a declarative language (such as SQL) does have declarations that are like sentences (SELECT this, that FROM arelation) while a language that is spec'd -- options chosen -- is a set of parms (kinda RPG-like for those who don't think that means role-playing games). And I do agree that English as we speak it is not the goal, but just like the Palm Pilot taught us to write so it could understand, I do think that is a reasonable way to approach a language. COBOL has its charm. Java, along with other modern languages are unnecessarily cryptic to the seasoned IT professional picking up the language for a first time.
> > 3) While hiding much that should be hidden, it "feels like" so much gets
> > hidden that people spend time trying to figure out how it does things in
> > order to be good at writing declarations
>
> A valid criticism. I could chalk much of that up to the
operationally-minded
> education of most programmers ("we're going to teach you to program just
> like a compiler writes machine code!"),
I'd argue that it is not just the instruction, but the nature of people that we think in terms of what to do in what order.
> but it is true that it's harder
> initially. I just think it would pay off, and that the learning curve,
while
> somewhat steep, has dividends (and not just in the long term; perhaps in
the
> "medium" range).
>
> > 4) Invariably functions become one of the things to get specified. If
we
> > are going to specify both data and functions, which, afterall, is what
> needs
> > to happen,
>
or upset the OO purists and write a class that IS a function ;-)
, but contrast that with any algebraic specification of a
> function; maybe something like Prolog, where you are simply defining terms
> using input patterns (pardon the gross oversimplification). True, you may
> have to optimize later; but you don't have to decide on the optimization
(or
> on a sub-optimal algorithm) early.
>
>
No, rather the opposite -- data and functions are two sides of the same coin. So, clearly I wasn't writing clearly. My point is that you either write a function directly in procedural or OO code or you spec them and spec when they are to be used -- 6 of one, half-dozen of the other. Having seen so many languages without trying to collect them over my career, I have not yet seen one that makes an order of magnitude break-through in productivity for the developer. It seems to me that Java and OO languages had a good chance of providing large chunks for reuse, but they aren't there. It isn't a silver bullet, but I'm thinking the services strategy, which is language independent, has a chance at helping to get some of those bigger gains. Knock on wood.
--dawn Received on Wed Jun 16 2004 - 10:20:13 CDT
![]() |
![]() |