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.
 
  |