Python and Flaming Thunder

Dave Parker daveparker at flamingthunder.com
Wed May 21 11:34:15 EDT 2008


On May 20, 7:05 pm, Collin <collinye... at shaw.ca> wrote:

> Personally, FT is a bit meh to me. The way you issue your statements I
> always think something is wrong, mainly because when I want to define,
> say, x, in python I'd go:
>
> x = "whatever"
>
> Instantly noting that I defined x. While in Flaming Thunder I'd have to
> type:
>
> Set x to "whatever"
>
> It just feels wrong.

Actually, it felt wrong to me when I first started working on Flaming
Thunder because I've been programming for decades and have had all of
the programming idioms burned into my brain.

But after getting input from children and teachers, etc, it started
feeling right.

For example, consider the two statements:

     x = 8
     x = 10

The reaction from most math teachers (and kids) was "one of those is
wrong because x can't equal 2 different things at the same time".
Many computer languages conflate "equality" with "assignment" and then
go to even more confusing measures to disambiguate them (such as using
== for equality, or := for assignment).

Plus, symbols are more confusing for people to learn about than
words.  There are lots of people who are fluent in English, but
dislike math.

So, I opted for a simple, unambiguous, non-mathematical way of
expressing "assignment" which makes sense even to the non-
mathematically inclined:

     Set x to 8.

That way, = can be reserved unambiguously and unconfusingly for the
mathematical notion of "equality" -- because it's in their math
classes that people learn what = means:

Set QuadraticEquation to a*x^2 + b*x + c = 0.



More information about the Python-list mailing list