Re: [Edu-sig] Why is Logo popular, while Python isn't?
I think the attraction to teaching with Python is that it is indeed a mainstream language, and not a special "teaching language". Very few real applications are written in Logo (unless I'm really out of touch).
Having the language you teach be a language you can actually use in later
I agree wholeheartedly with this - from the student perspective - from, say, the second half of high school and beyond. I think that by that stage the fact the students are learning a real world programming language brings an excitement to the enterprise that could not be true if presenting a "teaching" language. But - again from the student perspective - I don't think this has relevance for elementary or middle school. life is therefore an advantage True enough. But it depends on what the expectations are. Logo folk would claim this is true of Logo. The article referenced in Catherine's post at ftp://soe.berkeley.edu/pub/boxer/Distribution/20reasons.pdf makes the case that this is truer as to Boxer then it is for Logo.
Because it's so inclusive of different programming techniques, Python is a very good general purpose solution -- it provides good access to several types of programming technique: procedural, object-oriented, and functional. With the right modules installed, it has tremendous reach -- scientific, AI, web/CGI programming, email interaction, etc. For some people, it may be enough to know only Python.
Certainly agree as to Python's general usefulness as a teaching language, but question again whether these advantages kick in very much at an elementary school level.
So, I think it may well be worth using Python, even if it is slightly sub-optimal for teaching. But I think it *does* have some non-intuitive features -- at least from a seven-year-old's point of view. Personally I think the most obnoxious is the lack of simple loop constructs:
for i in range(10): print i
is not very intuitive to kids who don't know about domains and ranges -- fairly advanced math concepts, even if they seem trivial to me now.
for 1 < = i < 10:
would be more intuitive and Pyrex comes very close to this, with:
for i from 1 <= i < 10:
which Greg Ewing (Pyrex's author) proposed adding to mainstream Python. I'm not sure why we need the "i from" cruft, but it is better.
Interesting that something like Pyrex - which I have not looked at but think of as directed to the advanced user - would include syntax you see as better from the perspective of a kids intuition.
Also, I think they were a bit underimpressed with the graphics -- spoiled
on
computer games, I guess.
Broken record - but its OK since I have nothing to do with creating or maintaining it. Have you looked at VPython?
from visual import * Visual-2001-12-24 ball=sphere() ball.color=color.red
High quality, lit and shaded, OpenGL rendered sphere. The beauty being it all works from the interactive prompt. The sphere appears on sphere(), and changes color in front of one's eyes at ball.color=color.red. And all the basic functionality is in a dll (I do windows) of less than 700k. Perhaps because it is being used to do college level scientific visualization as its first mission, it is more overlooked than it might be as a tool for children. So I guess I am on one hand suggesting that Python might not be the way to go for elementary and middle schools, large scale and long term. But for those who are convinced otherwise, I certainly cannot see *not* bringing VPython into play in some fundamental way.
Still, for all that, I think Python is a pretty good starter language. I certainly like it better than C, fortran, lisp, basic, cobol, or perl for that purpose.
Agree. But the competition - if we insist on starting early (personally don't see it as either important that we do, or harmful that we might try)- is Logo (and apparently Boxer) rather than any of the languages you mention. Art
participants (1)
-
Arthur