Transcript language design.

Mark Wieder mwieder at ahsoftware.net
Wed Jun 9 21:43:18 EDT 2004


Alex-

Wednesday, June 9, 2004, 4:11:53 PM, you wrote:

AT> 1.  Simple script.
AT>      put "something" into field1
AT> Of course, what I meant was
AT>      put "something" into field field1
AT> so it was disappearing into an unintended local variable.

Yup. I think many of us have been here before in starting out. Put
quotes around any of the runrev objects and you'll stay out of trouble
here.

 put "something" into field "field1"   --no problem
 put "something" into "field1"         --error

AT> When I finally spotted this, I decided I should turn on explicitVariables -
AT> but the documentation warns against doing this in development mode  (I
AT> can't actually find this paragraph again - but there was definitely a
AT> paragraph about "this can help you find hard to debug problems. If you use
AT> this, you should use "Suspend Development Tools" to avoid 
AT> confusion").  Does this really cause problems ?

I always have explicitVariables turned on. I've read the warnings and
I continue to ignore them. Even if I didn't have it turned on, I would
always explicitly declare my variables. But I do think that whatever
possible problems explicitVariables may cause are far outweighed by
having the compiler catch some errors before they cause any real
trouble.

AT> I don't think I've ever encountered a language where a valid expression
AT> could cause unwanted side-effects in an expression using only a single
AT> instance of an operator. Sigh.

...I may be wrong, but I don't think I've ever encountered a language
where this wasn't the case. Take, for example, in C the difference
between = and ==. How many times have you typed

if (c = 3)   instead of    if (c == 3)  ?

I've gotten into the C habit of writing

if (3 == c) just to avoid those kinds of things.

-- 
-Mark Wieder
 mwieder at ahsoftware.net



More information about the use-livecode mailing list