Python and Flaming Thunder

s0suk3 at gmail.com s0suk3 at gmail.com
Thu May 22 08:29:20 EDT 2008


On May 21, 10:34 am, Dave Parker <davepar... at flamingthunder.com>
wrote:
> 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".

So it seems like you're designing a language for non-programmers.
That's good, I've never heard about anyone so interested in teaching
programming for kids and non-programmers. But in that case, you
shouldn't even be comparing it to Python.

> 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).

That stops being confusing after a few weeks of programming.
(Actually, IMO, it's not confusing, but it's tricky because sometimes
it's a hard typo to find. Though that will only be a syntax error in
Python.) But again, that'll be great for the kids! ;-)

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

Learning the symbols of a programming language is one of the first and
minimum requirements to learning any particular programming language--
we call that the "syntax" of the language.

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

So it seems that you got a great language for math teachers, non-
mathematicians, non-programmers, and kids! (what a great arsenal of
people...). Maybe if I have a kid someday I'll teach him Flaming
Thunder! (just kidding, you prick).



More information about the Python-list mailing list