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 [ 09 | August | 2003 ]

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


Date: Sat, 9 Aug 2003 14:20:40 PDT7
From: Peter Skye <pskye@peterskye.com >
Reply-To: scoug-programming@scoug.com
To: scoug-programming@scoug.com
Subject: SCOUG-Programming: English as programming language (was: Warpstock 2003 Presentation)

Content Type: text/plain

Lynn H. Maxson wrote:
>
> Peter,
>
> I can't let you get away with this one.

Well, GOOD! It's about time you realized what I was doing and did
something about it! :))

> "...In short, not every English phrase is a program. I can
> write non-programs in COBOL, PL/I and assembler too. ..."
>
> You may be able to write "incorrect" or "nonsensical"
> programs in any programming language, but you cannot write
> "non-programs": you must conform to the syntactical and
> semantic rules. Whatever you write--good, bad, or
> indifferent--remains a program: it adheres to the rules.

"Twas brillig, and the slithey toves did gyre and gimbel in the wabe."
(Or something like that.)

Or how about this famous one:

REWIND DISK DRIVE
IF ERROR DO
REWIND CARD PUNCH
END

Just pushin' yer buttons. :)

> "I think that we've learned enough in the past 40 years
> to allow a more general free-flowing syntax. ..."
>
> No. . . .
>
> Unlike English, the [COBOL Language Committee] decided
> not to end every statement (sentence) with a terminator
> (period). Instead they opted to begin each sentence
> (statement) with a "keyword", which was also a "reserved"
> word. They allowed this keyword, which marked the
> beginning of a statement to also serve as the terminator
> of the previous statement. This allowed whole groups of
> statements, i.e. statement groups, to occur with only a
> single terminator, a period, at the end. So if you had
> an embedded, i.e. nested, statement group, e.g. a
> decision control structure (if...then...else...) not
> terminated with a period, incorrect logic existed.
>
> This lead to the not infrequent search for the missing
> period. I can tell you from personal experience in
> hundreds of occurrences that the discovery process
> could take hours and in a few cases days.

Here lies the fundamental difference between your project and the golden
path (complete with mine field) which I was attempting to lead you down.

Your project offers an easier, more efficient way for programmers to get
the job done. Open source, concrete syntax, code optimization -- all
these make the programming environment more efficient. (One person
argues that code optimization doesn't increase programmer productivity
but I disagree since the programmer then spends less time "manually"
tuning the code.)

My push for English is fundamentally a documentation issue. Document
the problem, document the potential solutions, test until you're happy
without regard to the programming language used (or perhaps using
something other than a digital machine).

I propose more documentation, the bane of many projects. I propose more
comments in the code, the bane of many programmers. I propose voice
documentation appended to the code in appropriate places. And yes, I
propose creating a robust subset of English which can be used for
"writing" programs.

But mostly, I'm trying to get you to define the scope of your project.
You spend most of your time raising the horizon; I'm trying to also get
you to limit it so you don't lose your Warpstock audience.

> in PL/I every program element, including group statement
> initiators and terminators, is a statement and every
> statement ends in a semi-colon. In Python if you say
> with one statement per line, you do not need to use a
> statement terminator, a semi-colon. If you have more
> than one statement per line, you do.

I can't remember ever putting more than one PL/I statement on a line.
Yet I like the semicolon; to me it's a good fit with the readability of
the code even though I've probably typed a million "unnecessary" semi's.

> "...The output need not be an executable. Rather, the
> program could create source code in an existing computer
> language -- perhaps RPG, perhaps SQL, perhaps Rexx,
> perhaps PL/I, whatever. ..."
>
> Now here you must really believe there's a horse in the
> manure pile you've gathered. To say that it need not
> be executable is to say it's a specification language
> only, something for which no compiler exists.

I was trying to lead you a little farther along that golden path. You
finally got suspicious, did you?

I'm trying to get you to commit to documentation. "Compiling" the
documentation is plausible but requires development far outside your
project's scope. It matters little if the documentation is typed on a
keyboard or entered via microphone and voice recognition. (Recorded
sound search engines now exist -- they use phonics.)

Possibly of interest, the sentence diagramming technology I referred to
a few times stems from research into the machine writing of English.
You create a dictionary of sentence "diagrams", weight each one,
randomly choose the next one (based on weight) and "fill in the
blanks". Very easy to do until you want some continuity to the plot.

> "...And I think [English] belongs
> in the new HLL we're discussing."
>
> If the two forms are logically equivalent
> (and that is the key here), why on God's
> green earth would you not just pick one?

Because I was trying to get you to bring up documentation, which you
never did.

> I happen to believe that PL/I in terms
> of data types and operators is the most
> complete programming language ever written.

I own VisualAge PL/I Enterprise, which might assure you that I agree.

> And now finally:
>
> "...The subject title of this discussion is "Warpstock
> 2003 Presentation". You said earlier that this was a
> presentation you hoped to give at Warpstock.
>
> You're going to give a presentation that _isn't_ about
> your project?"
>
> Yes. The proposed presentation has the title
> "Opening Open Source".

Oh boy! Something else to debate you about. Hehehehehe...

So tell me, Lynn, what part of Open Source are you going to open? Might
you consider a subtle topic change, say to "Opening Open Source To
Include Documentation"?

- Peter

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

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