Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Does turtle graphics have the wrong associations?

1 view
Skip to first unread message

Alf P. Steinbach

unread,
Nov 12, 2009, 1:21:01 AM11/12/09
to
One reaction to <url: <url: http://preview.tinyurl.com/ProgrammingBookP3> has
been that turtle graphics may be off-putting to some readers because it is
associated with children's learning.

What do you think?


Cheers,

- Alf

Terry Reedy

unread,
Nov 12, 2009, 2:31:41 PM11/12/09
to pytho...@python.org

I just started using the module for simple plots.
I am not a child.
You cannot please everyone.

AK Eric

unread,
Nov 12, 2009, 2:36:39 PM11/12/09
to

I used Turtle back on the Apple in the early 80's... so I personally
have very positive feelings towards it ;) To each their own eh?

Peter Nilsson

unread,
Nov 12, 2009, 10:13:18 PM11/12/09
to
"Alf P. Steinbach" <al...@start.no> wrote:
> One reaction to <url: <url:http://preview.tinyurl.com/ProgrammingBookP3> has
> been that turtle graphics may be off-putting to some
> readers because it is associated with children's learning.

[I'll be honest and say that I merely glanced at the two
pdf files.]

Who is your target audience? The opening Getting Started
paragraph would probably put off many beginners right from
the get go! You're talking about a 'first language' but
throwing 'syntax', 'windows', 'graphics', 'networking',
'file and database access' and 'standard libraries' at them.

The success of 'XXXX for Dummies' is certainly not their
accuracy, but rather that they make far fewer assumptions
that people already know the subject being tought! That
assumption seems almost ingrained in every 'beginner'
programming book I've ever seen!

> What do you think?

Whilst everyone knows children tend to think visually more
than abstractly, the same is precisely true of adults.
However, the ultimate problem with Turtle is that it ends
up teaching a 'mathematical' perspective and it's far from
intuitive how you map that perspective to tackling more
real world issues. It's simply substituting one difficult
abstraction with another.

My recollection is that many children struggled with Turtle
graphics because they had very little concept of trigonometry.
[Why would they? Many wouldn't learn for another 2-10 years.]
Adults tend to have even less concept since they almost never
use trig (or much else from school ;-) in the real world.

They can see the patterns and understand there's a logic to
it, but they struggle replicating it. Get an angle wrong
and you end up with a mess where it's not clear whether it's
your algorithm or the maths that's at fault.

The visual aspect might pique interest, but may put just as
many people off. In any case, it won't relieve the difficulty
of having to teach what is fundamentally an abstraction that
doesn't have very good parallels with how people approach
problems in the real world. Humans simply don't think like
mathematicians^W computers. :-)

I've met a lot of mathematics and comp sci teachers who
honestly believe that you can't teach these subjects without
a mathematical perspective. That stands in contrast to the
number of people I see using spreadsheets with a very high
proficiency who would never dream of saying they were good
at mathematics or programming.

--
Peter

Vincent Manis

unread,
Nov 13, 2009, 1:36:09 AM11/13/09
to AK Eric, pytho...@python.org
On 2009-11-12, at 11:36, AK Eric wrote:
> On Nov 12, 11:31 am, Terry Reedy <tjre...@udel.edu> wrote:
>> Alf P. Steinbach wrote:
>>> One reaction to <url: <url:
>>> http://preview.tinyurl.com/ProgrammingBookP3> has been that turtle
>>> graphics may be off-putting to some readers because it is associated
>>> with children's learning.
Take a look at Abelson and diSessa's _Turtle Geometry: The Computer as a Medium for Exploring Mathematics_ (MIT Press, 1986). This is most definitely not a kids' book. Chapter titles include `Topology of Turtle Paths', `Piecewise Flat Surfaces', and `Curved Space and General Relativity'.

As well as being a very nice 2D graphics API, turtles let you explore very deep math. Of course, they also let you explore cybernetics and feedback; see some of the old MIT AI Lab reports on LOGO for that (you can find them at MIT's CSAIL lab website). For a lot of that, you actually need a robot turtle, like perhaps a LEGO Mindstorms robot. Seymour Papert (who did a lot of the MIT LOGO work) was, before his terrible motor accident, in research chair endowed by...LEGO. Hmmm... :)

Of course, some people don't like Python itself because they are afraid of snakes.

> I used Turtle back on the Apple in the early 80's... so I personally
> have very positive feelings towards it ;) To each their own eh?

I did my master's thesis on LOGO about 10 years before that, and I have VERY warm and fuzzy feelings about turtles :)

-- v

Raymond Hettinger

unread,
Nov 13, 2009, 1:58:27 AM11/13/09
to

How about calling it Raptor Graphics that will please everyone ;-)


Raymond

Vincent Manis

unread,
Nov 13, 2009, 2:09:57 AM11/13/09
to pytho...@python.org
On 2009-11-12, at 19:13, Peter Nilsson wrote:
> My recollection is that many children struggled with Turtle
> graphics because they had very little concept of trigonometry.
> [Why would they? Many wouldn't learn for another 2-10 years.]
> Adults tend to have even less concept since they almost never
> use trig (or much else from school ;-) in the real world.
>
This paragraph is based upon a complete misunderstanding of turtle geometry. You do NOT use trigonometry to teach it, because the goal isn't to replicate cartesian geometry. The whole point about turtle geometry is that the student viscerally imagines him/herself BEING the turtle, and moving around the room according to the succession of FORWARD and TURNRIGHT commands. This is easier to visualize when one has an actual robot that draws pictures on butcher paper, as the second iteration of the MIT/BBN turtle work did (and they worked in middle schools, Grades 4-8, so there was no issue of trigonometry).

> They can see the patterns and understand there's a logic to
> it, but they struggle replicating it. Get an angle wrong
> and you end up with a mess where it's not clear whether it's
> your algorithm or the maths that's at fault.

Kindly explain to me the difference between `algorithm' and `maths' here. I believe you just said that if there's a bug in the design, the program won't work. Hmmm.

This reminds me of a well-known anecdote about the original LOGO study done at Muzzey High in Lexington, MA, in 1968. A group of NSF funding people was doing a tour of the school, and they came across a Grade 5 student who was doing a family tree program. The NSF people were impressed by the complexity of the program. One of them said in a patronizing tone, `I guess this stuff really helps you learn math'. She got quite angry, and responded, `This stuff has NOTHING to do with math!'

> The visual aspect might pique interest, but may put just as
> many people off. In any case, it won't relieve the difficulty
> of having to teach what is fundamentally an abstraction that
> doesn't have very good parallels with how people approach
> problems in the real world. Humans simply don't think like
> mathematicians^W computers. :-)

Having taught grade 8 math, I can tell you that cartesian geometry is much LESS intuitive to people that are learning it than the relative polar coordinates of turtle geometry are. (`Oh, you want to get to the mall food court? Turn left, and walk past about 10 stores. The food court is right after the Gap.')

> I've met a lot of mathematics and comp sci teachers who
> honestly believe that you can't teach these subjects without
> a mathematical perspective. That stands in contrast to the
> number of people I see using spreadsheets with a very high
> proficiency who would never dream of saying they were good
> at mathematics or programming.

It is true that you can't teach computer science to children without having a strong understanding of the mathematical foundations. It is also true that when you teach it to children that you very carefully hide the mathematical formalism.

I might point out that the people who had most to do with the invention of turtle geometry were Wally Feurzeig (who was my boss when I worked at BBN in the 1970s) and Seymour Papert. Papert had spent a lot of time working with Jean Piaget in Switzerland. If you read the original LOGO memos, you will see his clear explanations on how this material ought to be taught to people with no math background, including children who are too young to do symbolic thinking (that kicks in in the early teens). That's why the visceral `I am a turtle' approach works well with middle-school kids.

-- v
>
> --
> Peter
> --
> http://mail.python.org/mailman/listinfo/python-list

Alf P. Steinbach

unread,
Nov 13, 2009, 2:51:30 AM11/13/09
to
* Raymond Hettinger:

He he. :-)

import turtle as raptor
raptor.shape( "triangle" )

def draw_poison_bush( level, angle, stem_length ):
start_pos = raptor.pos()
raptor.left( angle )
raptor.forward( stem_length )
if level > 0:
draw_poison_bush( level-1, 30, 0.7*stem_length )
draw_poison_bush( level-1, 0, 0.85*stem_length )
draw_poison_bush( level-1, -37, 0.65*stem_length )
raptor.right( angle )
raptor.goto( start_pos )

raptor.title( "A DANGEROUS poison bush!" )

raptor.left( 90 )
raptor.back( 180 )
draw_poison_bush( 6, 0, 80 )

raptor.mainloop()

Cheers,

- Alf

Alf P. Steinbach

unread,
Nov 13, 2009, 3:11:29 AM11/13/09
to
* Peter Nilsson:

> "Alf P. Steinbach" <al...@start.no> wrote:
>> One reaction to <url: <url:http://preview.tinyurl.com/ProgrammingBookP3> has
>> been that turtle graphics may be off-putting to some
>> readers because it is associated with children's learning.
>
> [I'll be honest and say that I merely glanced at the two
> pdf files.]
>
> Who is your target audience?

Someone intelligent who doesn't know anything or very much about programming and
wants to learn general programming.


> The opening Getting Started
> paragraph would probably put off many beginners right from
> the get go! You're talking about a 'first language' but
> throwing 'syntax', 'windows', 'graphics', 'networking',
> 'file and database access' and 'standard libraries' at them.
>
> The success of 'XXXX for Dummies' is certainly not their
> accuracy, but rather that they make far fewer assumptions
> that people already know the subject being tought! That
> assumption seems almost ingrained in every 'beginner'
> programming book I've ever seen!

Yes, I totally agree with not assuming knowledge. However, (without implying
that you think so) lack of knowledge is not lack of brains. I assume an
intelligent reader, someone who doesn't balk at a few technical terms here and
there.

Pedagogically it's a challenge, because a correspondence between knowledge and
brains is so often assumed, and the field of knowledge accordingly (but mostly
by historical accident) divided up into "basic", "medium level" and "advanced".

And so an explanation of something that's trivial to someone who already knows,
something in the "basic" category, might seem (to someone who confuses knowledge
with brains) to assume a dumb or childish reader. But in reality the
intellectual challenge of something in the traditional "basic" category can be
greater than for something conventionally regarded as "advanced". So I strive to
not make any distinction between traditional levels of knowledge in the field,
but rather to focus on what's relevant and on how hard something would be to
grasp for someone without the base knowledge and experience.

Uhm, yes, I agree. I've tried to limit the math to what most anyone can handle.
No geometry so far! Although it will have to be discussed for graphics. But
although most ch 2 examples are graphical, graphics generation as such is not
discussed. It's like the difference between driving a car and designing one. You
don't need an engineering degree to drive a car. :-)


Cheers, & thanks,

- Alf

Richard Heathfield

unread,
Nov 13, 2009, 3:27:00 AM11/13/09
to
In <hdj4aj$7k4$1...@news.eternal-september.org>, Alf P. Steinbach wrote:

> But in reality the intellectual challenge of something in the
> traditional "basic" category can be greater than for something
> conventionally regarded as "advanced".

And consequently is much harder to teach. I have nothing but
admiration for primary school children and their teachers, because
children can *actually learn to read*. Once you can read, future
learning objectives become much easier to achieve. Same with
programming - once you've grokked the core ideas, the rest is more or
less window dressing in comparison.

The gap between nought and one is much greater than the gap between
one and a thousand.

<snip>

> It's like
> the difference between driving a car and designing one. You don't
> need an engineering degree to drive a car. :-)

Right. Nowadays, you need a degree in electronics instead.

--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
"Usenet is a strange place" - dmr 29 July 1999
Sig line vacant - apply within

BGB / cr88192

unread,
Nov 13, 2009, 9:22:09 AM11/13/09
to

"Peter Nilsson" <ai...@acay.com.au> wrote in message
news:ed7d74f6-c84d-40f1...@x25g2000prf.googlegroups.com...

> "Alf P. Steinbach" <al...@start.no> wrote:
>> One reaction to <url: <url:http://preview.tinyurl.com/ProgrammingBookP3>
>> has
>> been that turtle graphics may be off-putting to some
>> readers because it is associated with children's learning.
>
> [I'll be honest and say that I merely glanced at the two
> pdf files.]
>
> Who is your target audience? The opening Getting Started
> paragraph would probably put off many beginners right from
> the get go! You're talking about a 'first language' but
> throwing 'syntax', 'windows', 'graphics', 'networking',
> 'file and database access' and 'standard libraries' at them.
>
> The success of 'XXXX for Dummies' is certainly not their
> accuracy, but rather that they make far fewer assumptions
> that people already know the subject being tought! That
> assumption seems almost ingrained in every 'beginner'
> programming book I've ever seen!
>

yep, but I guess it depends some on the type of beginner...

many beginner books take the style of lots of examples and verbosity, and
trying to gradually ease the person into the topic, ...

also common is more of a "crash course" style, where topics are introduced
and defined, and where the contents tend to be far more categorical (in
these books, often the later chapters and/or appendices are long, and often
consist largely of definitions and reference material).

there are merits to both styles I think...


I have also seen where they try to fictionalize the topic, or turn it into
some huge mass of allegories, but I don't really like this style so much...

it is possible the 'turtle' may hold these sorts of associations...


>> What do you think?
>
> Whilst everyone knows children tend to think visually more
> than abstractly, the same is precisely true of adults.
> However, the ultimate problem with Turtle is that it ends
> up teaching a 'mathematical' perspective and it's far from
> intuitive how you map that perspective to tackling more
> real world issues. It's simply substituting one difficult
> abstraction with another.
>
> My recollection is that many children struggled with Turtle
> graphics because they had very little concept of trigonometry.
> [Why would they? Many wouldn't learn for another 2-10 years.]
> Adults tend to have even less concept since they almost never
> use trig (or much else from school ;-) in the real world.
>

yep, much the same as trying to teach trig in a pseudo-fantasy setting by
addressing the relative dimensions of the various parts of Excalibur...

one gets much more amusement out of just watching a sword fight where all
they do is whack the swords into each other and pause momentarily, with
whoever was doing the mixing unable to get the delay between the swords
hitting and the 'clang' much less than about 300ms...


> They can see the patterns and understand there's a logic to
> it, but they struggle replicating it. Get an angle wrong
> and you end up with a mess where it's not clear whether it's
> your algorithm or the maths that's at fault.
>

yep...

simple, unstructured, thinking is easier.
if one screws up somewhere, it is a lot easier to find and correct the
problem.

this is probably part of why procedural and OO have traditionally been more
popular than functional programming:
one does not have to try to bend their mind so much to get things written or
figure out just what the hell is going on...

granted, some level of mind-bending in necessary for programming, but IMO it
is more of a necessary evil...


> The visual aspect might pique interest, but may put just as
> many people off. In any case, it won't relieve the difficulty
> of having to teach what is fundamentally an abstraction that
> doesn't have very good parallels with how people approach
> problems in the real world. Humans simply don't think like
> mathematicians^W computers. :-)
>
> I've met a lot of mathematics and comp sci teachers who
> honestly believe that you can't teach these subjects without
> a mathematical perspective. That stands in contrast to the
> number of people I see using spreadsheets with a very high
> proficiency who would never dream of saying they were good
> at mathematics or programming.
>

apparently, I don't even approach math in a mathematical manner...


I had thought I had understood math, and I use it enough, but I am
suspecting that the thing I am familiar with is a good deal different than
that seen by mathematicians (partly as a result of some interactions with,
and observation of, physics teachers...).

or, it could be that my world is severely 'bent' because of my exposure to
computers, and almost complete lack of need or desire to write proofs or to
expand-out and perform huge amounts of symbolic manipulations by hand...


so, I guess my difficulty curve is rather "unusual" as well...

I live in a world where vectors and matrices are fairly simple, and
quaternions would be, apart from my near inability to intuitively understand
or visualize their behaviors...

and, in this same world, set theory and predicate logic are evil beasts best
avoided at all cost...


and, it seems, traditional math screws me over even with seemingly trivial
problems...

and, it does not take long to figure out that, for example, even a trivial
operation such as renormalizing a vector becomes a marathon of pain...

A=<Ax, Ay, Az>
|A|=sqrt(Ax^2+Bx^2+Cx^2)
B=A/|A| = <Ax/|A|, Ay/|A|, Az/|A|> = <Ax/sqrt(Ax^2+Bx^2+Cx^2),
Ay/sqrt(Ax^2+Bx^2+Cx^2), Az/sqrt(Ax^2+Bx^2+Cx^2)>=...


I would far much rather think:
N(A)=A/|A|

and leave it as that, this way we factor out everything leaving mostly
abstract operations...
(once we know the operation, we no longer need to care what it is or how it
works...).

but, other people want to expand everything out and turn it into a big
evil-looking mess, bleh...


> --
> Peter


Jonathan Campbell

unread,
Nov 13, 2009, 9:54:37 AM11/13/09
to
Alf P. Steinbach wrote:
> One reaction to <url: <url:
> http://preview.tinyurl.com/ProgrammingBookP3> has been that turtle
> graphics may be off-putting to some readers because it is associated
> with children's learning.
>

Incidentally ... something you may wish to consider for inclusion in you
book ... games programming and Pygame.

See, e.g.,

Andy Harris, Game Programming (L Line: The Express Line to Learning),
John Wiley & Sons, 2007, ISBN-10: 0470068221 or

Will McGugan, Beginning Game Development with Python and Pygame : From
Novice to Professional, APRESS, 2007, ISBN-10: 1590598725.

I have the impression that there are many young people who could learn
programming via games programming. On the other hand, in languages like
C++ or Java, the threshold to games programming is extremely high.

Not so using Pygame.

The additional nice thing about Pygame is that it is based on a Python
binding of SDL (Simple DirectMedia Layer) an open-source games API. This
could mean easy migration to C++ games programming (using SDL).

Best regards,

Jon C.

--
Jonathan Campbell www.jgcampbell.com BT48, UK.

Robert Maas, http://tinyurl.com/uh3t

unread,
Nov 19, 2009, 5:00:58 AM11/19/09
to
> > Who is your target audience?
> From: "Alf P. Steinbach" <al...@start.no>

> Someone intelligent who doesn't know anything or very much about
> programming and wants to learn general programming.

I think of what a computer *does* as data processing, and then
programing is simply telling the computer what data processing to
do. In calculator mode, you just tell the computer one step at a
time and immediately see the result before giving the next command.
In program mode, you tell the computer the whole sequences of steps
before the computer does even the first, which requires planning
the whole sequence in your mind ahead of time. Lisp's REP allows
you to use calculator mode when doing a dry run, then just wrap
PROG around it and viola you have a program of all the steps
together, thus bridging the gap between calculator and program mode
painlessly.

The two "hard" things about programming are syntax and planning.
REP gets rid of the need to plan in your mind before writing the
code, but you're still stuck with the syntax. My proposed no-syntax
IDE *also* gets rid of the need to bother with any
programming-language syntax. I've been proposing it for years, but
nobody has shown any interest, so I'm spending my time on other
things, but sometime in the next several months I am very likely to
go ahead and implement no-syntax IDE as part of
http://TinyURL.Com/NewEco.

> I assume an intelligent reader, someone who doesn't balk at a few
> technical terms here and there.

There's a **major** difference between the ability to figure out
complex puzzles and the ability to memorize jargon. Case in point:
I placed top-five in Putnam math context despite disability whereby
it was very difficult for me to memorize vocabulary/jargon. Then I
flunked out of graduate school because suddenly I was expected to
(but unable to) memorize ten definitions/lemmas to solve each
homework problem.

Ideally, with either somebody like me with memorization disability,
or a very young child who just naturally by age has trouble
learning more than one concept or term simultaneously, you should
introduce only one concept or term at a time, and exerecise the
person's mind with that concept or term for a while before moving
to the next.

> It's like the difference between driving a car and designing one.
> You don't need an engineering degree to drive a car. :-)

Sure some humans can be trained like pigeons to do the motions of
driving a car through a fixed course without having the slightest
concept of what's really happening. But to be able to respond
appropriately to new situations, it really helps to understand that
the brake pedal does *not* stop the car, it merely pulls a lever
that presses a plate against a wheel causing excess friction
causing the wheel to gradualy slow down, which is connected to the
tires causing *them* to resist motion of car against road, which on
non-slippery surfaces and with *gentle* braking results in the car
slowing down, but with **sudden** pressure on brake, or on slick
surfaces, the wheels stop turning completely and simply slide
against the roadway, causing loss of control of both yaw and
momentum, so suddenly your whole car is spinning about a vertical
axis as well as no longer going around the road-curve but instead
veering in a straight line across opposing traffic lanes or over
the edge of the "S curve" of the Bay Bridge and then 200 feet down
to a rather violent meeting with Yerba Buena Island.

I hate that "CHECK ENGINE" light, because there's usually no way
the driver of the vehicle actually *can* check the engine in any
meaningful way to determine why the light is on. I think it really
means "check" in the sense of a cloak-room, where you "check" your
raincoat and umbrella by handing them to a clerk, thus you really
do "check" your automobile by handing it over to a mechanic.

<silly>By the way, I don't want Python running on my Macintosh,
because it might eat my mouse.</silly>

Steven D'Aprano

unread,
Nov 19, 2009, 4:28:42 PM11/19/09
to
On Thu, 19 Nov 2009 02:00:58 -0800, Robert Maas, http://tinyurl.com/uh3t
wrote:

> My proposed no-syntax
> IDE *also* gets rid of the need to bother with any programming-language
> syntax. I've been proposing it for years, but nobody has shown any
> interest

I'm interested. No-syntax IDE? How is this even possible?

The only way I can think of is some sort of wizard interface. E.g.
instead of having to remember the syntax for a slice, you click the
"Slice" button and the computer prompts you to enter some combination of
start, end, step, then generates the syntax [a:b:c] for you.

--
Steven

Robert Maas, http://tinyurl.com/uh3t

unread,
Nov 20, 2009, 5:35:47 AM11/20/09
to
> > My proposed no-syntax
> > IDE *also* gets rid of the need to bother with any programming-language
> > syntax. I've been proposing it for years, but nobody has shown any
> > interest
> From: Steven D'Aprano <st...@REMOVE-THIS-cybersource.com.au>

> I'm interested. No-syntax IDE? How is this even possible?

I guess you missed what I previously posted. The basic idea is that
you start with test data, and you use menus to select appropriate
data-processing actions to perform on that data. For example, you
manually key in a file name containing test data, or copy and paste
that same file name. Then you select "open file by that name" or
"load all lines from file by that name" etc. from a menu. If you
just opened the file, you now have a stream of input, and you can
select to read one line or one s-expression or one character etc.
from that file. After loading the whole file or one unit of data,
you now have some *real* data to work from. For example, with a
line of input, you might break it into words.

Caveat: When I said "no syntax", I mean no programming syntax, no
syntax to indicate function calls or variable assignment etc. You
still must deal with visual representation of strings and integers
and other essential data objects, which in a way may be considered
to be syntax. But if you want, you can avoid *all* syntax, even for
data, by drawing a *picture* of the individual bits. For some
low-level machine-language training, or boolean algebra lessons,
this might actually be preferable to Arabic numerals and English
letters to represent data values. Seeing a *picture* of something
that looks like a paper tape seems more binary-friendly than seeing
arabic digits "0" and "1" in rows across a page, when studying
operations upon boolean values or bitmasks.

Now if you don't like the burden of navigating the multi-level
menus, a search engine can be available, whereby you key in
keywords for the name of some data-processing operation you either
saw before or a name you can construct in your mind based on naming
conventions.

The extreme case of search engine would be if English-language
pseudo-code can be automatically converted into a very short menu
of most likely data-processing operations. I actually am seriously
considering doing NewEco software development by this means.
Basically I contract people to brainstorm with me in a Delphi
fashion to create the toplevel design of a new computer algorithm,
then we do top-down break into pieces, and continue top-down
break-down as far as it takes until the search engine recognizes
some step as something it already knows how to do.

> The only way I can think of is some sort of wizard interface.
> E.g. instead of having to remember the syntax for a slice, you
> click the "Slice" button and the computer prompts you to enter
> some combination of start, end, step, then generates the syntax
> [a:b:c] for you.

Yeah, it'll be vaguely like that in some ways. For major data,
we'll have the data first, all parameters to the next function to
apply, and *then* we select what function to call on those
parameters. But for minor parameters, we might allow you to choose
the function before filling in the minor-parameter slots. For
example, to select the nth character of string, we might have both
the string and the integer N before we select the NTH function, but
if N is a constant we might instead have just the string and select
the NTH function and fill in the constant N. With the pseudo-code
translation, some of the constant parameters might be apparent in
the English. For example, we have a string, and we say "select the
second word" (actually that's almost HyperTalk, the scripting
language of HyperCard on Macintosh computers), at which point the
constant parameter 2 would be supplied from the word "second" in
the English.

Terry Reedy

unread,
Nov 20, 2009, 2:39:51 PM11/20/09
to pytho...@python.org
Robert Maas, http://tinyurl.com/uh3t wrote:
>>> My proposed no-syntax
>>> IDE *also* gets rid of the need to bother with any programming-language
>>> syntax. I've been proposing it for years, but nobody has shown any
>>> interest

What you describe below is similar to various systems that have been
proposed and even implemented, including visual programming systems. And
there has been some success with non-programmers. But for most people,
it is simply easier to say/write what one means rather than point and
click. Point-and-click writing reminds me of point-and-click speaking.
Great for those who need it but a hindrance to those who do not.

This is not to say that traditional editors cannot be improved with
better backup memory aids. Indeed, even IDLE recognizes function names
and pops up a bar listing parameters.

Feel free to develop a Visual Python environment. I might even give it a
try.

>> From: Steven D'Aprano <st...@REMOVE-THIS-cybersource.com.au>
>> I'm interested. No-syntax IDE? How is this even possible?
>
> I guess you missed what I previously posted.

I did too and had the same question.

> The basic idea is that
> you start with test data, and you use menus to select appropriate
> data-processing actions to perform on that data. For example, you
> manually key in a file name containing test data, or copy and paste
> that same file name. Then you select "open file by that name" or
> "load all lines from file by that name" etc. from a menu. If you
> just opened the file, you now have a stream of input, and you can
> select to read one line or one s-expression or one character etc.
> from that file. After loading the whole file or one unit of data,
> you now have some *real* data to work from. For example, with a
> line of input, you might break it into words.

Processing a single data file is a common programming task, but not the
only general category. A specialized Visual Data Analysis with Python
might be a better and more focused project.

When I was doing statistical data analysis on a daily basis for a
living, I would have loved to have had a system that would read in the
first line and let me define (and name) the fields by point and click.
(I usually worked with fixed-width, column-delimited fields.)
Instead, I had to write a format statement and some summary analysis
code, run it, look at it for sanity, and decide if my format had been
correct.

Terry Jan Reedy

0 new messages