SCOUG-Programming Mailing List Archives
Return to [ 04 |
August |
2003 ]
<< Previous Message <<
>> Next Message >>
Content Type: text/plain
Peter Skye writes:
"... Is that true, Lynn? Is the HLL you envision a secret
experiment in AI? ..."
Peter,
I would revert to the all inclusive "we" here but instead will
simply say "I" look forward to the time when you can rejoin us
in person in these endeavors. As to your question all of AI is
included within logic programming. I've made no secret that
we need to use more of logic programming so that we can do
less in terms of overall effort. While I am opposed to any
reference to "smart" software as if it were an intrinsic
attribute I am certainly not opposed to translating (as
opposed to transferring) more human smarts into software.
While "faster, better, cheaper" makes good for comparison
purposes it also represents an iterative goal we should have
in improving software. The ultimate goal lies in reaching
optimal limits: fastest, best, and cheapest. Fastest in
performance; best in terms of necessary and sufficient, i.e.
minimal, logic; and cheapest to produce and maintain.
I am somewhat surprised that no one has mentioned the
parallel between the open source community and enterprise
IT. Both "own" the code they write. Both can justify
increased production costs for productivity gains on the basis
of repeated use. Initially enterprises operated as a community
and shared code as the libraries of SHARE and GUIDE will
attest. When I began in this business such sharing across
enterprises was normal.
Whether the value of anything is worth the cost of acquiring
it comes down to individual value systems: what's it worth to
you relative to the cost and effort required. Open source
where the community is both user and producer has value and
cost systems different from those of user- or producer-only.
In short they reflect different business models with respect to
cost justification.
All, however, have an interest in increased productivity and
reduced software costs. Anything we achieve here will apply
across the board. Everyone benefits.
You make a strange argument, logically inconsistent, which I
have to comment upon here. If the assembly language
programmer knows that no sort field will exceed 16
characters, he can incorporate that in his code. The HLL
programmer, having the same knowledge as the assembly
programmer, can do it also. The difference lies in how that is
communicated to the software tool.
If you can't communicate it, then the tool author may have to
revert to a general instead of a specific case. That's the
crucial point, providing that communication. In logic
programming this "assumption" would exist as a rule with
respect to any sort field. It could exist as a general rule, a
default for all sort fields, possibly overriding by a specific rule
for an individual sort field.
Now the assembly language programmer has a problem. He
cannot state a rule in assembly language except through a
comment. He can only impose it. The responsibility falls on
him to impose it wherever it applies. The same is true for the
third generation HLL programmer.
However, logic programming (AI and the rest) is goal-oriented
and rule-based. A means exists then for communicating rules
to the implementation, allowing it to impose them globally
instead of the programmer. Moreover such rules are not
comments, but source code, i.e. instructions.
Maintenance then consists simply of changing the rule. This in
turn causes the implementation to regenerate the output code
reflecting all global changes. This is a principal difference
between earlier language generations (first, second, and
third) and fourth generation. The difference lies in that
earlier language generation programmers must impose the rule
throughout, essentially translating the "what" into a series of
"how"s, i.e. extra clerical writing, while fourth generation
language programmers simply express the rule, the "what" as
it were, leaving it up to the software to determine "where"
and "how".
Is it a secret conspiracy to incorporate AI in an HLL? No, it's
an intelligent person observing how fourth generation
languages work. That observation says that both less initial
writing and eventual rewriting is necessary, both of which
lead to increase productivity and lower software maintenance
costs.
As a general rule software should do no more and no less
than necessary and sufficient.
=====================================================
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".
=====================================================
<< Previous Message <<
>> Next Message >>
Return to [ 04 |
August |
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.
|