Dependence on Programming Experts

Rob Cozens rcozens at pon.net
Sat Jul 15 12:33:50 EDT 2006


Hi Lynn,

>I am named in this thread!

I hope it was clear that I wasn't attributing my remark, "the way for 
Runtime Revolution to differentiate itself from competitors and 
attract developers from other platforms is to adopt the syntax of its 
most successful competitors." to you, but rather suggesting that that 
is the message those who advocate incorporating optional syntax from 
other development platforms are sending to Revolution marketing staff.

I continue to harp on this subject because I would like to spare the 
Revolution community the two most unpleasant experiences in my 
professional career:

*  Working with software totally lacking in internal consistency, and

*  Working with syntax that had different meanings depending on how 
it was positioned or formatted.

  Both came in one user-hostile package known as Berkeley Unix C 
running under the Bourne (sp?) shell.

The Bourne shell was a Unix command line interface.  The terminology 
and command modifiers used by the various shell commands were so 
totally inconsistent I can only conclude that Bourne shell was a 
collection of UC Berkeley CS class projects, each written without 
reference to the others.

The construct is command /modifier/ modifier/...., where modifier is 
a single letter [eg: command/A/B/C], optionally extended by "=".

* Some pairs of commands used the same modifier (eg. /A) to mean 
something different in the two commands

* Some pairs of commands used different modifiers (eg: /A and /B)  to 
mean the same thing.

How much friendlier the Bourne shell would have been if each modifier 
had a single meaning, and a single modifier was used for a specific purpose!

And dear old C: the high-level equivalent of assembler language.  My 
biggest problem in learning and working with C was that there were 
multiple variations of the same statement that were all syntactically 
correct but had quite different meanings, often based on the presence 
or absence of parentheses or a terminating semicolon (eg: "statement" 
and "statement;" had two entirely different meanings).  I've never 
had the debugging nightmares in any other language as I did in C, and 
all too often it had to do with a syntactically correct statement 
with the wrong "punctuation".

So when people suggest that "x=5" and "(x=5)" should be supported by 
Revolution, but with entirely different meanings, it raises two red 
flags for me:

* The constructs are too similar to designate radically different things, and

* The use of "x=5" to mean "put 5 into x" is completely inconsistent 
with the Xtalk syntax upon which Revolution is built.

But thanks to Brian Yennie, the point is moot.   Now any Rev 
developer who wants to script "x=5" can do so with no effect on the rest of us.

  So while I have your attention, Lynn, let me suggest that an 
implementation of an enhanced version of Brian's script at the Script 
Editor level by RRLtd  would empower every Rev developer with the 
capability of defining a personal syntax, so long as she can script a 
translation into legal Revolution (I would prefer the sound of 
"Transcript " here).

  And if Brian or anyone else wants to Bugzillia this request, it's 
got 5 votes from moi.

Rob Cozens
CCW, Serendipity Software Company

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)




More information about the use-livecode mailing list