SCOUG-Programming Mailing List Archives
Return to [ 03 |
September |
2003 ]
Content Type: text/plain
John Drabik writes:
"...Problem is: lots of glowing what-ifs, and no usable
description of what is meant, how it works, or what the
benefits are (other than lengthy "It's cool! It's hot! It fixes
everything!" which we've all heard so many, many times
before). ..."
Since Esther's first opined on its appropriateness as a topic for
discussion in this mailing list I've tried to respect her feelings.
However, the imaginative paraphrasing of "It's cool! It's hot!
It fixes everything!" has never come from this source. Besides
it's not the topic of my presentation "Opening Open Source".
Anyone who has followed my lengthy and detailed epistles
knows that I draw on existing software technology
exclusively. I have not depended upon invention, but
innovation, of basically offering a different way of doing old
things. I do not argue the "what", only the "how". Even that
I base on existing experience within the IT profession, within
programming.
I didn't invent logic programming. I can't take credit that the
four manual stages of specification, analysis, design, and
construction of the software development process with third
generation programming languages get reduced to one with
fourth: specification. I can't take credit that it allows
unordered input source from the statement level on up and
produces ordered output source. That's what it does. That's
the way it works. It does it regardless of whether or not I say
anything.
I left "testing", the fifth stage of software development out,
because logic programming comes in two forms: clausal logic,
e.g. Prolog and SQL and predicate logic. e.g. Trilogy and the
Z-specification language. Predicate logic has the form "for all
x, y, z,.... where x = value_range, y = value_range, z =
value_range, ....". As part of the exhaustive true/false proof,
the second stage of the two-stage proof engine of logic
programming, predicate logic will automatically construct the
enumerated sets of all variables across all their value ranges.
As a result it will produce all the "true" instances (0, 1, or
more) of members within that set. Just to insure that you
haven't missed the point that means it automatically
generates "all" of the test data. No number of beta testers or
amount of beta testing can do better.
So basically logic programming reduces five manual stages of
the software development process in third generation
languages to one in fourth. It does it with unordered input,
which unfortunately is camoflaged within fixed structure
(select...from...where...) of SQL. SQL uses clausal logic.
Therefore it only "tests" the data in tables of the "from"
clause. However, it "exhaustively" tests them against the
conditions of the "where" clause.
I didn't invent any of this. I observed it. I particularly
observed how much of the manual effort required to support
third generation languages gets shifted to software in fourth.
If my prinicpal cost in software development is people (and it
is) and my principal resource constraint in software
development is people (and it is), then why would I not opt
for something that offers the same output with less people
content?
I can't really speak to whether Esther uses SQL or not. I can
definitely state that she or anyone else who does is
programming. A similar thing applies to the use of a
spreadsheet or the desktop publishing features of a word
processor.
I want to be up front with you. I didn't invent any of these
things. However, they do illustrate rather well why you
"let people do what software cannot and software what
people need not".
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".
For problems, contact the list owner at
"rollin@scoug.com".
=====================================================
Return to [ 03 |
September |
2003 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|