SCOUG Logo


Next Meeting: Sat, TBD
Meeting Directions


Be a Member
Join SCOUG

Navigation:


Help with Searching

20 Most Recent Documents
Search Archives
Index by date, title, author, category.


Features:

Mr. Know-It-All
Ink
Download!










SCOUG:

Home

Email Lists

SIGs (Internet, General Interest, Programming, Network, more..)

Online Chats

Business

Past Presentations

Credits

Submissions

Contact SCOUG

Copyright SCOUG



warp expowest
Pictures from Sept. 1999

The views expressed in articles on this site are those of their authors.

warptech
SCOUG was there!


Copyright 1998-2024, 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.

The Southern California OS/2 User Group
USA

SCOUG-Programming Mailing List Archives

Return to [ 01 | April | 2003 ]

<< Previous Message << >> Next Message >>


Date: Tue, 1 Apr 2003 17:49:32 PST8
From: "Lynn H. Maxson" <lmaxson@pacbell.net >
Reply-To: scoug-programming@scoug.com
To: < "scoug-programming@scoug.com" > scoug-programming@scoug.com >
Subject: SCOUG-Programming: Message One

Content Type: text/plain

" ... Nothing like having a bottle opener, can opener,
corkscrew, AND a knife all in one package. A Swiss Army
Knife is great for a picnic, but a REAL fillet knife is much
better for cleaning fish. ..."

Analogies sometimes bring insight into a situation.
Unfortunately they can also bring confusion.

We seek to increase, in fact maximise, the individual's
productivity in the development and maintenance of software.
We intend to do it through strict adherence to the guideline
"let people do what software cannot and software what
people need not". That adherence essentially says to let
people do the creative work and the software the clerical.

This assumes that we can make the distinction.

I say this somewhat facetiously as a major difference between
third and fourth generation HLLs lies in who does the analysis,
design, and construction. In third generation languages we
perform these stages manually. In fourth generation the
software performs them.

Now if you understand the principle of logical equivalence,
then the specifications contain the necessary and sufficient
information while analysis, design, and construction represent
different logically equivalent forms of the same information. I
tried also to illustrate that using the predicate logic option of
logic programming (the basis of fourth generation languages)
you can specify ranges of data values, leaving it up to the
software as part of its exhaustive true/false proof to
automatically generate the test data.

So if you only have five stages--specification, analysis,
design, construction, and testing--and you can relegate four
of them to software, that logically implies their clerical
nature. That's the penalty we pay when mired in third
generation mode with C, C++, JAVA, Python, Perl, and
whatever else you fish out of this pot.

That leaves only specification as the creative (non-clerical)
task which requires people to do what software cannot. Once
done the software takes over. That leaves us with only two
written input forms, one, the text of the user requirements,
and, two, their translation into formal specifications. Literate
programming offers us a means not only to associate the two
forms but also ease the task of keeping them in sync.

Now how many tools do we need to write text or code? Do
we need two editors or can we do equally well with only
one? What's the best filet knife when we base both, easily
discernable forms in ascii text? Why have two when they
can't do more (or better) than one?

So you develop an "extra-smart" editor which lets you do
your creative thing on input while it does its clerical thing on
output. Just because its clerical thing executes a seamless
sequence of activities producing the various outputs along the
way doesn't mean it has to compromise on any activity. Thus
its analogy to a Swiss Army knife or any other such
multi-purpose tool falls way off the mark.

A multi-purpose tool in hardware may have to compromise its
function due to physical constraints. It doesn't apply to
software which we base 100% in logic within the physical
constraints of the host system. We have only three such
physical constraints with respect to software: storage
(internal and external), channels (i-o), and processor.
Today's technology brings all of these in excess of any
physical needs in executing software.

I don't engage in speculation about how fourth generation
languages work. SQL executed tens of millions of times daily
works that way. I didn't invent it. I don't make it up.

It doesn't violate or modify the software development process
in any manner. It simply shifts who, people or software, does
what. It allows people to do less and software more. No
matter how you cut it that increases productivity.

=====================================================

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 [ 01 | April | 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.