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.