You speak to the core of open source where you have access  
to and can maintain all the source for all the software from  
the basic tools on up.  I don't know why the HLL programmer  
has to do a subroutine call instead of writing an inline sort  
program like the assembly language programmer.  I know that  
I have done so using PL/I.  Of course, I have also used PL/I to  
invoke a generalize sort routine, because I chose not to spend  
the time writing one. 
You do, however (and as always), bring up an interesting  
point: whether or not in a specific instance you generate inline  
or out-of-line source.  In most current systems you cannot use  
the same code for both.  Your assembly language programmer  
cannot.  Your HLL programmer cannot. 
The real question is "why not?".  Why can you not designate  
a specific instance as either inline or out-of-line?  It doesn't  
affect the logic of the program as both are logically  
equivalent.  In the vernacular this occurs through  
meta-programming, something as simple as "inline" in the  
source statement invoking the sort.  Through this means,  
assuming the default is "out-of-line", the implementation  
simply processes the same source in one of two ways. 
You can add this meta-programming capability to a symbolic  
assembler or an HLL compiler.  It assumes in either case the  
existence of a "source template" invoked through a standard  
API.  I know this is possible because it is a meta-programming  
option in OS/2 PL/I for builtin functions, though it applies  
globally to all use instances instead of allowing selection on  
an instance-by-instance basis. 
The truth is that unless you have implemented a symbolic  
assembler with this meta-programming option your assembly  
language programmer relative to the HLL programmer will  
throw in the towel when it comes to, one, writing each source  
instance, and, two, maintaining them if he wants to switch  
their invocation form over time. 
I realise that this places me in danger of writing several  
"theoretical paragraphs relegating a concrete example to  
irrelevance".  I have to plead guilty.  However, I couldn't resist  
yet another unnecessary implementation limitation which  
impacts the productivity of any programmer, assembly  
language or HLL. 
Someone is going to pipe in somewhere along the line that this  
reference to source "templates" comes suspiciously close to  
something in current object-oriented implementations.  I think  
it's called STL for Standard Template Library.  I tend to  
regard object-oriented as a complicated way to achieve  
simple ends, but I just get tired of having people accuse me of  
inventing things. 
===================================================== 
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.