Document  
maintenance is as expensive, if not more so, than program  
maintenance.  Isn't is nice to have the same automated  
software process to reduce the cost of both? 
One of the reasons I stress the need for us to use open source  
tools, specifically the editor and compiler, is to be able to  
modify them away from file managers to a database manager. 
You see you only have two items to deal with, data referents  
and data references.  You can't reference data without giving  
it a name, e.g. "dcl sam fixed binary (31);" in PL/I or "int sam;"  
in C.  So the software during semantic analysis which seeks  
out the uses of such names has no trouble in using it as a  
unique identifier for a row in a table.  To avoid the one  
gotcha in synonyms (same name, different referent) the  
software can automatically append an index value to insure  
that the combination of the two fields, proper name and  
index, are unique. 
That takes care of all the referents, whose names are  
provided by the programmer (or writer).  That leaves only the  
references.  As all the references are text-based we need  
only use some initial prefix of the reference text, say sixteen  
bytes, plus an index to generate a unique name for each  
reference statement (code) or sentence (text).  Again the  
software can automatically do this. 
Now if you write something which has already been written  
before and exists in the source database, the software  
through this naming process will determine from the entire  
body of the statement or sentence if it already exists.  If it  
does, it will use the existing source name.  Otherwise it will  
create a new source entry. 
The point is that you no longer has to concern yourself with  
reuse.  The software will do it for you automatically.  It also  
means that while you can examine existing source for possible  
reuse, a somewhat expensive use of time, you do not have a  
need to do so.  If it is true for statements and sentences, it is  
also true for their assemblies, statement groups and  
paragraphs.  It holds true for all higher level assemblies. 
Now a UNIX programmer may extol the virtues of AWK and  
other utilities on processing files.  Therein lies the difference.   
Files is plural.  Database is singular.  A singular file is not  
global, while a database is.  The ability to globally maintain  
source regardless of use whether in source code or text or  
their combination allows a level of productivity heretofore not  
achievable in a file-base system with a file manager without a  
builtin query facility. 
Thus the fact that editors, compilers, make, linkers, etc.  
expect files on input means we are knowingly retaining a less  
productive means of processing.  Once you integrate your  
editor with a database interface such that it automates the  
storing, retrieving, maintaining, and reuse of source code and  
text at the statement and sentence level, you are closer to  
the point where you can implement global changes in the  
solution set as fast as they occur in the problem set: dSS/dt  
>= dPS/dt. 
So we are talking about a 20 byte unique name, a 16 byte  
proper name appended with a 4 byte index value, in which we  
only have to create ordered assemblies of names to create  
documents of source code or source text or any combination  
thereof. 
So it's not one document, but one document source. 
===================================================== 
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". 
===================================================== 
 >> Next Message >>
Return to [ 23 | 
January | 
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.