Re: Which kid's beginners programming - Python or Forth?
On Tue, 28 Jun 2005 12:58:21 -0700, rumours say that Dave Benjamin [EMAIL PROTECTED] might have written: BORT wrote: I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. Kids your backwards talking like if forth love will they then. I have a nephew that would love Forth only for that. The perfect language for many kids I know would be Python with boolean operators reversed. Oh, and 'print' should be 'do_NOT_print'. -- TZOTZIOY, I speak England very best. Dear Paul, please stop spamming us. The Corinthians -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Scanning quickly through the various response, I noticed that at least one person suggested rur-ple (rur-ple.sf.net), hence Python. I would second that ;-) ... but then, I am biased as the author of rur-ple! rur-ple is intended to be a complete learning environment for learning programming and Python for complete beginners. At the core of it are a set of lessons (about 40 so far). Before the end of the summer, rur-ple should include a complete tutorial on writing games using Python (and pygames). My goal is for rur-ple to be usable by 10 years old (with guidance) and young adults (by themselves) to learn about programming. Check it out ... and let me know what appeals to you (if anything) and what doesn't. It's free :-) André -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. My programming classes were a long, long time ago in a land far, far away. My programming muscles, which were never truly developed, have atrophied even so. That said, I want to learn this as we go. The PROCESS of research and using net resources for a self-learning adventure is almost as much of the goal as learning a programming skill. That said, a good learning goal for my kid would be to create a spelling tutor for his little brother. My (simple) vision would be: 1. an input file of this week's word list 2. use a free text-to-speech engine to call out one word at a time 3. in turn, monitor each key press as a particular word is being typed, beeping on an incorrect keystroke and going to the next word if correct I don't care if it takes a year or two to get to this level, I just want a vehicle that will take us there. I told my son, who wants to learn how to compute probabilities, that we have to start with some boring stuff so we can learn how to do the cool stuff. Adding and subtracting aren't really fun, but figuring odds on rolling dice IS fun. Learning to program will be kind of like that. He accepted that explantion. So, that said... In ~simplest~ terms for the stated goal -- Forth or Python? the goal is NOT the spelling tutor... it is learning how to use a tool to solve a problem. I am asking which tool is more suited to an otherwise arbitrary direction of spelling tutor program. [NOTE: This is not a troll. I'm geting ready to bark up a tree and I prefer to avoid the wrong one. I am cross-posting.] Thanks As a pre-learning-Python stage you might use the Firefox browser: 1. Set up a text file with correctly spelled words. 2. Open that file with Firefox. 3. Ctrl F to open the search window at the bottom of the screen. 4. Enter each word to test. Fun? for the younger brother and a suggestion as to the functionality you might build into the second stage of your Python program. Colin W. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Gentle folk of comp.lang.python, I heartily thank you all for your input. I think I'm taking the boys through the door marked Logo. We may be back this way, though. We will likely need MORE in the nebulous future. I am impressed with the outpouring of support here! Before you commit totally to the LOGO idea, take a look at Guido van Robot: http://gvr.sourceforge.net/ http://gvr.sourceforge.net/about.php http://gvr.sourceforge.net/lessons/rfrank/ Cheers, Nick. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Rocco Moretti [EMAIL PROTECTED] wrote: So for Math you'd do something like: y = b + mx + cx^2 (Where ^2 is a superscript 2) For Python it would be: y = b + m*x + c*x**2 IIRC, for Forth it would be something like (please excuse the mistakes in operator notation): x 2 ^ c * m x * + b + 'y' setvar In FORTH you don't generally use variables unless you really have to - that is what the stack is for, so you'd write a word like this... variable c 10 c ! variable m -2 m ! variable b 14 b ! : quad ( x -- b + m*x + c*x**2 ) dup dup ( x x x ) * c @ * swap ( cx**2 x ) m @ * + ( m*x + c*x**2 ) b @ + ( b + m*x + c*x**2 ) ; And now we test 7 quad . 490 ok Was that easy? Not really! Compared to python... c = 10 m = -2 b = 14 def quad(x): return b + m*x + c*x**2 ... quad(7) 490 Was it fun? Well yes it was! FORTH is much lower level than python and you learn different things from it. At each step you have to worry about what is on the stack which attention to detail is important for a programmer. Its a lot of work to do even the simple stuff though. Its much easier to understand how FORTH works, and even implement your own from scratch. I learnt FORTH a long time ago, and I haven't used it for many many years! Its major pull back then was that it was fast, and easier to write than assembler. I don't think that really matters now though, Python is just as fast thanks to the 3 GHz machine I'm running it on (rather than the 4 MHz one I ran FORTH on then!) I think FORTH would be an interesting supplimentary language for anyone to learn though... *However* I reckon Python would make a much better first language than FORTH. The batteries included approach make a young programmers life much, much more fun, rather than starting from almost nothing (in modern terms) with FORTH. And like FORTH, Python has the interactive console which is essential when starting out. -- Nick Craig-Wood [EMAIL PROTECTED] -- http://www.craig-wood.com/nick -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Nick Craig-Wood [EMAIL PROTECTED] wrote: In FORTH you don't generally use variables unless you really have to - that is what the stack is for Exactly. Every language has its natural way of doing things. You can usually bludgeon a language into doing things some other way, and newcomers to a language usually try to do exactly that. Eventually they catch on to the idioms. Storing temporary values in variables in a stack language is like iterating through the items of a list in Python by incrementing an integer and using it as an index. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
There's a reprint this morning on slashdot of a 1984 review Byte did on the brand-new Macintosh (executive summary: cool machine, needs more memory). The first four software packages available for the new machine? MacWrite/MacPaint (they seem to count this as one package) Microsoft Multiplan Microsoft BASIC CSI MacForth No mention of Python :-( -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
[EMAIL PROTECTED] (Roy Smith) writes: There's a reprint this morning on slashdot of a 1984 review Byte did on the brand-new Macintosh (executive summary: cool machine, needs more memory). The first four software packages available for the new machine? MacWrite/MacPaint (they seem to count this as one package) Microsoft Multiplan Microsoft BASIC CSI MacForth No mention of Python :-( That's because the time machine doesn't work that far into the past. It's primary use is to retroactively fix bugs in Python, so the design spec only called for the ability to go back to the first public release of Python. mike -- Mike Meyer [EMAIL PROTECTED] http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: In my earlier browsing, I eliminated Logo early on, thinking we would hit its capability ceiling too quickly and then backtrack in order to make a transition to a REAL language. uh... I've been browsing on Logo tonight and, even without the Lego robots, I may go that route. Shoot, I thought Logo was just moving hokey sprites in increasingly complex patterns until I saw the book list at: It's probably ideal for ages 7 and 10. Note that even the name _logo_ is Greek for _word_. There's plenty of non-hokey sprite stuff you can do with Logo, it's just that the turtle graphics are the most visually obvious form of Logo and what most people who had any exposure to Logo remember most easily. The language itself shares a great deal with Lisp. There are numerous modern Logo interpreters, so you shouldn't have any problem finding something both you and the kids can use, like UCBLogo for Unix or MSWLogo for Windows (based on UCBLogo). If you want to go that route, there's even a set of computer science texts based on Logo, called _Computer Science Logo Style_ by Brian Harvey, maintainer of UCBLogo. -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis Does the true light / Of love come in flashes -- Sandra St. Victor -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT ha scritto: All, The Forth-Python pull was heading to a conclusion just like Tastes Great vs. Less Filling or Ford-Chevy. However, friendly folks at comp.lang.forth pointed me to Amazon.com and _Mindstorms: Children, Computers, and Powerful Ideas_ by Seymour Papert. The book is by Logo's inventor and, according to the reviews, addresses the larger goal I most want to achieve. snip I thought you were limiting the choice to python/forth. Logo is a nice dialect of lisp, so I think you're making a good choice ;) But I'd consider Squeak. It is the best educational-but-not-only environment I've seen (which does not mean there are not better, but I've seen quite a bit of them) Squeak not only has programming at the hand but it also provide you with a complete educational system, with music, painting, animations etc. And there is nothing that could get a kid involved like making a rabbit explode. I now want to read the book. Period. However, my kids both love Legos which uses a Logo implementation for their robotics toys. I could probably capture both the 10 yr old AND the 7 yr old if we can spring for the $200 Lego Mindstorm set. Sort of blows away my specification of free, but... In my earlier browsing, I eliminated Logo early on, thinking we would hit its capability ceiling too quickly and then backtrack in order to make a transition to a REAL language. uh... I've been browsing on Logo tonight and, even without the Lego robots, I may go that route. Shoot, I thought Logo was just moving hokey sprites in increasingly complex patterns until I saw the book list at: http://el.media.mit.edu/logo-foundation/products/books.html Hmm... When all is said and done, maybe the choice is kind of like physical exercise. I can spend weeks choosing the most effective work out and diet combination. But, until I cut back on biggie size grease brugers with double shakes and get off of the couch every now and then, the choice of workout is moot. In fact, one I use is better than the best that I don't use. Gentle folk of comp.lang.python, I heartily thank you all for your input. I think I'm taking the boys through the door marked Logo. We may be back this way, though. We will likely need MORE in the nebulous future. I am impressed with the outpouring of support here! Thanks to all! -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: Gentle folk of comp.lang.python, I heartily thank you all for your input. I think I'm taking the boys through the door marked Logo. We may be back this way, though. We will likely need MORE in the nebulous future. I am impressed with the outpouring of support here! Others in the thread mentioned it briefly, but when you do come back to the door marked Python, someone has eased the transition slightly: http://pylogo.org/ '''PyLogo is a Logo interpreter written in Python. Its implementation is small, and is based on the language as implemented by UCBLogo. The Logo language is a learning language, intended for children for which more complete languages aren't appropriate. Many of Logos language design choices are driven by this, and differ from Python.''' Although given it's 0.1 version status, it may be a little rough around the edges. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
In article [EMAIL PROTECTED], BORT [EMAIL PROTECTED] wrote: Gentle folk of comp.lang.python, I heartily thank you all for your input. I think I'm taking the boys through the door marked Logo. We may be back this way, though. We will likely need MORE in the nebulous future. I am impressed with the outpouring of support here! Thanks to all! You're welcome. I want to leave you with one parting comment: I first started programming when I was nine years old, in the mid-1970s. We used TTYs with a timeshared HP1000 and BASIC. Given modern computers and editors I think that any programming language that isn't excessively baroque will do fine for young people. They can always unlearn bad habits later. -- Aahz ([EMAIL PROTECTED]) * http://www.pythoncraft.com/ f u cn rd ths, u cn gt a gd jb n nx prgrmmng. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Forth clarifications below... Rocco Moretti wrote: So for Math you'd do something like: y = b + mx + cx^2 IIRC, for Forth it would be something like (please excuse the mistakes in operator notation): x 2 ^ c * m x * + b + 'y' setvar Assuming these are all VALUEs: x DUP * c * m x * + b + TO y [Portability] Much Forth code you find on the net is written to the ANS standard, and is thus portable. Free standard Forth systems are available for all platforms. There are ANS and IEEE standards for Forth, but official standards tend to leave things implementation dependent, especially in platform specific things like file access. Standard I/O and file I/O are part of the ANS standard. To further compound the issue, a Forth system tends to be self contained and insular - interaction with the surrounding environment may be minimal at best. Python, where possible, tries to shield the user from platform specifics, while still allowing full access to the environment. There are a number of Python bindings to C libraries which give near complete control to the desktop/screen/sound system, etc. Forth-bound libraries will likely be rarer, and again, interpreter specific. That is unfortunately true. There are FFI (foreign function iterfaces) available for the most popular Forth systems, but how they work is not standardized. Forth has nothing like the module libraries of Python. Graphics, object-orientation, and data-types are all available or easily implemented in a particular Forth, but those batteries are not included as they are in Python. Ian -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Ivan Van Laningham wrote: [...] Seriously, PostScript is a lot more fun to learn than Forth, and more directly useful. Since the rewards are so immediate, a kid's attention could be gained and kept pretty easily. PostScript is easy, but I'm afraid some technical details could get in the way of enjoyable exploration, e.g. font types or scaling. PostScript is also a single purpose language: it can print static graphics and with a slightly more complex setup it can display static graphics on the screen, period. No interactivity, no files, no network, no general computation or data structures. But I'd still recommend Python as a first programming language. Keep to the standard stuff--ignore list comprehensions and so on--until he or she has the basic control flow down pat. Python is general purpose; it can do graphics with a path/stroke model like Postscript's and a whole world of other things. There are many complex features in Python that shouldn't be introduced before the need arises. List comprehensions, however, *are* the basic control flow; loops are much more verbose and they should be used only when necessary. Lorenzo Gatti -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: I told my son, who wants to learn how to compute probabilities, that we have to start with some boring stuff so we can learn how to do the cool stuff. Adding and subtracting aren't really fun, but figuring odds on rolling dice IS fun. Learning to program will be kind of like that. He accepted that explantion. I'm not sure that you actually have to start with the boring stuff. Imagine that you have a small, but complete program that executes some random function a thousand times and plots the distribution. Your son could probably * start to change parameters to the function * try out the different distributions in the library * combine them to form new distributions (e.g. roll two n-sided dice) * build more complex simulations (pit two DungeonsDragons fighters against each other by rolling simulated dice) It's a bit more work for you as you'll have to decide on each step how much of the infrastructure you implement without taking away all the challenges. Python vs. FORTH: what you learn from Python is more easily transferred to other programming languages. And if you happend to speak German, there is Python für Kids http://www.amazon.de/exec/obidos/ASIN/3826609514/qid%3D1119950457/302-9800191-4449651 Daniel -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
[EMAIL PROTECTED] wrote: List comprehensions, however, *are* the basic control flow; loops are much more verbose and they should be used only when necessary. List comprehensions are probably a bad idea for entry level programmers: - for and while loops are much easier to debug as you can insert print statements everywhere - list comprehensions don't allow you to break complex expressions into several simpler ones by using local variables, everything has to happen in one expression Daniel -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
In addition, for and while loops are pretty universally found in all program languages. It is therefore an essential part of material supposed to teach programming. Adriaan Renting| Email: [EMAIL PROTECTED] ASTRON | Phone: +31 521 595 217 P.O. Box 2 | GSM: +31 6 24 25 17 28 NL-7990 AA Dwingeloo | FAX: +31 521 597 332 The Netherlands| Web: http://www.astron.nl/~renting/ Daniel Dittmar [EMAIL PROTECTED] 06/28/05 11:39 AM [EMAIL PROTECTED] wrote: List comprehensions, however, *are* the basic control flow; loops are much more verbose and they should be used only when necessary. List comprehensions are probably a bad idea for entry level programmers: - for and while loops are much easier to debug as you can insert print statements everywhere - list comprehensions don't allow you to break complex expressions into several simpler ones by using local variables, everything has to happen in one expression Daniel -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Adriaan Renting [EMAIL PROTECTED] wrote: In addition, for and while loops are pretty universally found in all program languages. It is therefore an essential part of material supposed to teach programming. And, even if they're not called for or while (they might be do, foreach, repeat...until, etc), the basic idea of a looping construct which defines how many times an enclosed group of statements will be executed is absolutely universal. I can't think of a language from assembler to HyperCard that doesn't have a version of the for loop. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
On 27 Jun 2005 20:16:12 -0700, BORT [EMAIL PROTECTED] wrote: Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. FORTH is 'way outside the mainstream of current programming, while Python is, if anything, excessively buzz-word compliant. If you want to teach your kid something that will a basis for learning anything about current practices in programming, teach him Python. Matt Feinstein -- There is no virtue in believing something that can be proved to be true. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
[EMAIL PROTECTED] writes: Ivan Van Laningham wrote: [...] Seriously, PostScript is a lot more fun to learn than Forth, and more directly useful. Since the rewards are so immediate, a kid's attention could be gained and kept pretty easily. PostScript is easy, but I'm afraid some technical details could get in the way of enjoyable exploration, e.g. font types or scaling. PostScript is also a single purpose language: it can print static graphics and with a slightly more complex setup it can display static graphics on the screen, period. No interactivity, no files, no network, no general computation or data structures. PostScript is _not_ limited to static stuff, and it _does_ support interactivity. See eg. http://www.cs.technion.ac.il/~wagner/index_files/aaa.html Of course, this is just academic fun(?). PostScript is mostly used for printers, and as for yet, quite few papers support animated graphics :- And yes, I also encourage to try Python. List comprehensions, however, *are* the basic control flow; loops are much more verbose and they should be used only when necessary. Hm. My experience is that people find loops easier to understand - varies somewhat, though. For some, 'more verbose' is 'more easy to understand'. -- # Edvard Majakari Software Engineer # PGP PUBLIC KEY available Soli Deo Gloria! $_ = '456476617264204d616a616b6172692c20612043687269737469616e20'; print join('',map{chr hex}(split/(\w{2})/)),uc substr(crypt(60281449,'es'),2,4),\n; -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Philippe C. Martin wrote: Hi, A couple links ... http://www.summerland.uku.co.uk/ http://pylogo.org/ http://www.python.org/sigs/edu-sig/ BORT wrote: Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. My programming classes were a long, long time ago in a land far, far away. My programming muscles, which were never truly developed, have atrophied even so. That said, I want to learn this as we go. The PROCESS of research and using net resources for a self-learning adventure is almost as much of the goal as learning a programming skill. That said, a good learning goal for my kid would be to create a spelling tutor for his little brother. My (simple) vision would be: 1. an input file of this week's word list 2. use a free text-to-speech engine to call out one word at a time 3. in turn, monitor each key press as a particular word is being typed, beeping on an incorrect keystroke and going to the next word if correct I don't care if it takes a year or two to get to this level, I just want a vehicle that will take us there. I told my son, who wants to learn how to compute probabilities, that we have to start with some boring stuff so we can learn how to do the cool stuff. Adding and subtracting aren't really fun, but figuring odds on rolling dice IS fun. Learning to program will be kind of like that. He accepted that explantion. So, that said... In ~simplest~ terms for the stated goal -- Forth or Python? ...the goal is NOT the spelling tutor... it is learning how to use a tool to solve a problem. I am asking which tool is more suited to an otherwise arbitrary direction of spelling tutor program. [NOTE: This is not a troll. I'm geting ready to bark up a tree and I prefer to avoid the wrong one. I am cross-posting.] Thanks Over on comp.python.education, David Handy recently announced his book with a fairly long message (excerpted here): ... Written by a homeschooling Dad and professional software developer, Computer Programming is Fun! fills a need for a book that teaches computer programming to teenage youth. ... 208 pages, $29.95 plus taxes and shipping if applicable Order from the author's web site: http://www.handysoftware.com/cpif/ ... Why teach computer programming to teenagers? For the same reason you would teach them piano or any other musical instrument. Consider the computer an instrument for the mind. I've not seen the book myself, but it seems like it is targeted to very nearly your situation, so I'd investigate it. --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Dennis Lee Bieber wrote: On Tue, 28 Jun 2005 08:18:55 -0400, Matt Feinstein [EMAIL PROTECTED] declaimed the following in comp.lang.python: FORTH is 'way outside the mainstream of current programming, while Unless one is coding low-level objects on a MUCK (and even that, on the MUCKs I sometimes visit, requires sysop approval to access the MUF interpreter -- the mundanes make do with MPI, a LISP-like language). Not unless... perhaps because? Whatever a MUCK is, it's definitely not part of the mainstream of current programming, even if you're the one doing it... -Peter -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. Kids your backwards talking like if forth love will they then. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. Call me biased, but I'd recommend Python, and it all comes down to a single concept: Transferability. As others have mentioned, Forth programming is in somewhat of it's own class. It's not really imperative, object oriented, or declarative. It's based on an interesting, but rarely used, principle of stack programing. Great for someone who is expanding their horizons, but not a lot of value for a beginning programmer who might want to branch out to C/Visual Basic/Java/etc. Also, due to the stack-based nature of the beast, the base way of specifying mathematical operations doesn't transfer to/from elsewhere, unless you're talking about old HP calculators. Python uses the standard mathematical notation, and even uses mathematical precedents (i.e. multiplication before division). So for Math you'd do something like: y = b + mx + cx^2 (Where ^2 is a superscript 2) For Python it would be: y = b + m*x + c*x**2 IIRC, for Forth it would be something like (please excuse the mistakes in operator notation): x 2 ^ c * m x * + b + 'y' setvar Where you read from left to right, and imagine pushing items onto a stack, and when you encounter an operator, you pop the appropriate number of items, act on them, and push the result back onto the stack. Granted, you can get Forth dialects with the ability to do infix (mathematical) notation, but that leads to another transferability issue, that between interpreters. There is one official Python interpreter, and the developers work dang hard to make sure it runs on every commonly used platform. The other interpreters are usually special purpose, and tend to be up front about where they differ from the official Python. Thus, if you see Python code somewhere, it is highly likely it will run on your Python interpreter Forth, as it has been around much longer, is a much more fragmented community, with many more interpreters. What works on one may not work on another, and a particular interpreter is likely to be available only for a single platform. With Forth it is *very* easy to extend the language, and so an interpreter-specific piece of code that someone posts may not work for you on your interpreter, especially if you're using a free interpreter for Windows, which tends to be the bastard step child of free stuff. There are ANS and IEEE standards for Forth, but official standards tend to leave things implementation dependent, especially in platform specific things like file access. To further compound the issue, a Forth system tends to be self contained and insular - interaction with the surrounding environment may be minimal at best. Python, where possible, tries to shield the user from platform specifics, while still allowing full access to the environment. There are a number of Python bindings to C libraries which give near complete control to the desktop/screen/sound system, etc. Forth-bound libraries will likely be rarer, and again, interpreter specific. It's been quite some time since I've looked at Forth, and the reference material that I used then was probably outdated anyway, so someone with more recent experience can correct me if I'm wrong. However, I would think it's highly likely that the experience you receive with Forth is going to depend heavily on which interpreter you choose to use. P.S. Any 10 year old getting into programing would likely love a library like PyGame (www.pygame.org) - I'd suggest seeing if the Forth you're considering has something similar before deciding. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Rocco Moretti wrote: It's been quite some time since I've looked at Forth, and the reference material that I used then was probably outdated anyway. Sorry, thought of one more thing Python has going for it vs. Forth - reference material. Check the catalog of your local library. I'd guess that there is more choice for Python programming books vs. Forth programming books. If your local library does have a Forth book, it's likely that it'll be discussing some 1970's interpreter that ran on a now-defunct timesharing system, if mine is any indication. If you can afford to buy books, the selection at a new or used bookseller is going to be *much* better with Python than with Forth. My local new bookseller has at least a shelf of Python books. I don't think I saw any Forth ones last time I was there - they might have had a single title that I missed. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
On 6/29/05, Rocco Moretti [EMAIL PROTECTED] wrote: Sorry, thought of one more thing Python has going for it vs. Forth - reference material. Check the catalog of your local library. I'd guess that there is more choice for Python programming books vs. Forth programming books. I just checked, and you're quite right: the State Library of Tasmania has only one Forth book -- but it has two Python books (Python Essential Reference and Python Pocket Reference). Not that the local booksellers are any better -- I've only found one place that had anything better than the dreadful Teach yourself Python in 24 hours, and since I bought Python in a Nutshell from them a year ago, they've not got any more in stock. Thank goodness for Amazon, especially as it's cheaper to order from Amazon than to get the bookstore to order a book in for me... -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Ivan Van Laningham [EMAIL PROTECTED] writes: In which case, you should start with PostScript;-) I learned it by plugging a glass tty into the serial port on one of the very first AppleWriters and typing away. None of this fancy-shmancy '' business;-) But what a great reward, having graphics come out the printer when you typed 'show'. This is why Logo came with turtle graphics. Something very simple, but very powerfull - and the kids could get immediate results from it. I'm surprised the OP missed Logo in his search. It's one of the few languages designed to teach computing to children. There are free implementations for most popular platforms. Someone has already provided a link to pylogo. That might be a good starting place. mike -- Mike Meyer [EMAIL PROTECTED] http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
On Tuesday 28 June 2005 10:22 pm, Mike Meyer wrote: Ivan Van Laningham [EMAIL PROTECTED] writes: In which case, you should start with PostScript;-) I learned it by plugging a glass tty into the serial port on one of the very first AppleWriters and typing away. None of this fancy-shmancy '' business;-) But what a great reward, having graphics come out the printer when you typed 'show'. This is why Logo came with turtle graphics. Something very simple, but very powerfull - and the kids could get immediate results from it. I suppose it's worth mentioning then, that Python has it's own implementation of turtle graphics? I think it's in the standard library, isn't it? The Live Wires graphics module is also a good start --- very similar to the kind of graphics interface that I had when I was learning on my TRS-80 Color Computer with BASIC. ;-) -- Terry Hancock ( hancock at anansispaceworks.com ) Anansi Spaceworks http://www.anansispaceworks.com -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
All, The Forth-Python pull was heading to a conclusion just like Tastes Great vs. Less Filling or Ford-Chevy. However, friendly folks at comp.lang.forth pointed me to Amazon.com and _Mindstorms: Children, Computers, and Powerful Ideas_ by Seymour Papert. The book is by Logo's inventor and, according to the reviews, addresses the larger goal I most want to achieve. I now want to read the book. Period. However, my kids both love Legos which uses a Logo implementation for their robotics toys. I could probably capture both the 10 yr old AND the 7 yr old if we can spring for the $200 Lego Mindstorm set. Sort of blows away my specification of free, but... In my earlier browsing, I eliminated Logo early on, thinking we would hit its capability ceiling too quickly and then backtrack in order to make a transition to a REAL language. uh... I've been browsing on Logo tonight and, even without the Lego robots, I may go that route. Shoot, I thought Logo was just moving hokey sprites in increasingly complex patterns until I saw the book list at: http://el.media.mit.edu/logo-foundation/products/books.html Hmm... When all is said and done, maybe the choice is kind of like physical exercise. I can spend weeks choosing the most effective work out and diet combination. But, until I cut back on biggie size grease brugers with double shakes and get off of the couch every now and then, the choice of workout is moot. In fact, one I use is better than the best that I don't use. Gentle folk of comp.lang.python, I heartily thank you all for your input. I think I'm taking the boys through the door marked Logo. We may be back this way, though. We will likely need MORE in the nebulous future. I am impressed with the outpouring of support here! Thanks to all! -- http://mail.python.org/mailman/listinfo/python-list
Which kid's beginners programming - Python or Forth?
Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. My programming classes were a long, long time ago in a land far, far away. My programming muscles, which were never truly developed, have atrophied even so. That said, I want to learn this as we go. The PROCESS of research and using net resources for a self-learning adventure is almost as much of the goal as learning a programming skill. That said, a good learning goal for my kid would be to create a spelling tutor for his little brother. My (simple) vision would be: 1. an input file of this week's word list 2. use a free text-to-speech engine to call out one word at a time 3. in turn, monitor each key press as a particular word is being typed, beeping on an incorrect keystroke and going to the next word if correct I don't care if it takes a year or two to get to this level, I just want a vehicle that will take us there. I told my son, who wants to learn how to compute probabilities, that we have to start with some boring stuff so we can learn how to do the cool stuff. Adding and subtracting aren't really fun, but figuring odds on rolling dice IS fun. Learning to program will be kind of like that. He accepted that explantion. So, that said... In ~simplest~ terms for the stated goal -- Forth or Python? ...the goal is NOT the spelling tutor... it is learning how to use a tool to solve a problem. I am asking which tool is more suited to an otherwise arbitrary direction of spelling tutor program. [NOTE: This is not a troll. I'm geting ready to bark up a tree and I prefer to avoid the wrong one. I am cross-posting.] Thanks -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Hi, A couple links ... http://www.summerland.uku.co.uk/ http://pylogo.org/ http://www.python.org/sigs/edu-sig/ BORT wrote: Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. My programming classes were a long, long time ago in a land far, far away. My programming muscles, which were never truly developed, have atrophied even so. That said, I want to learn this as we go. The PROCESS of research and using net resources for a self-learning adventure is almost as much of the goal as learning a programming skill. That said, a good learning goal for my kid would be to create a spelling tutor for his little brother. My (simple) vision would be: 1. an input file of this week's word list 2. use a free text-to-speech engine to call out one word at a time 3. in turn, monitor each key press as a particular word is being typed, beeping on an incorrect keystroke and going to the next word if correct I don't care if it takes a year or two to get to this level, I just want a vehicle that will take us there. I told my son, who wants to learn how to compute probabilities, that we have to start with some boring stuff so we can learn how to do the cool stuff. Adding and subtracting aren't really fun, but figuring odds on rolling dice IS fun. Learning to program will be kind of like that. He accepted that explantion. So, that said... In ~simplest~ terms for the stated goal -- Forth or Python? ...the goal is NOT the spelling tutor... it is learning how to use a tool to solve a problem. I am asking which tool is more suited to an otherwise arbitrary direction of spelling tutor program. [NOTE: This is not a troll. I'm geting ready to bark up a tree and I prefer to avoid the wrong one. I am cross-posting.] Thanks -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT [EMAIL PROTECTED] wrote: So, that said... In ~simplest~ terms for the stated goal -- Forth or Python? ...the goal is NOT the spelling tutor... it is learning how to use a tool to solve a problem. I am asking which tool is more suited to an otherwise arbitrary direction of spelling tutor program. Forth is an interesting language. But, as a practical tool, Forth is somewhat of an orphan. You're going to find a lot more in the way of Python resources than you're going to find Forth resources (for example, 1945 posts to comp.lang.python vs 236 to comp.lang.forth in the past 2 weeks). I know most popular doesn't always mean best, but in this case, I think it's an important factor. The more you can find in the way of tutorials, libraries, and on-line help, the easier it will be to master. Not to mention, that when you're done learning Python, you will have learned a modern language which includes concepts common to many languages in common use today. When you learn Forth, you will have learned Forth. About the best that can be said about that is that It'll give you a head-start if your next goal is to learn PostScript :-) -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: So, that said... In ~simplest~ terms for the stated goal -- Forth or Python? ...the goal is NOT the spelling tutor... it is learning how to use a tool to solve a problem. I am asking which tool is more suited to an otherwise arbitrary direction of spelling tutor program. Python is easier to learn that most other popular programming languages. For a games approach, check out this online book targeted to kids: http://staff.easthighschool.net/lee/computers/book/ It uses pygame and Lee Harr's pygsear. For another graphical approach, playing around with images and sound files, see the Jython Environment for Students (JES). Jython is python running on top of java's virtual machine. http://coweb.cc.gatech.edu/mediaComp-plan/94 http://coweb.cc.gatech.edu/mediaComp-plan/27 http://coweb.cc.gatech.edu/mediaComp-plan For text-to-speech, if you are using Windows and python, see the pyTTS module and this link: http://www.cs.unc.edu/~parente/tech/tr02.shtml If you are using jython, see FreeTTS instead: http://freetts.sourceforge.net/docs/index.php But since your son is only 10 years old, I'd really recommend first some non-python development environments that are even more geared to kids: - Lego Mindstorms, which has a graphical programming environment to control robots you build (you connect a flow chart to describe the program instead of having to type and indent everything perfectly). It is targetted specifically for kids his age, but it is a bit expensive. - http://agentsheets.com/ - Very neat java-based authoring tool, but unfortunately costs money too. Trial version only lasts 10 days, but you can learn a lot in that time using this tool. - NetLogo (and the older version StarLogo): http://ccl.northwestern.edu/netlogo/ Uses Logo to script hundreds of turtles in parallel. This is a free tool. - http://e-slate.cti.gr/ really awesome authoring tool, but hasn't been updated in a couple of years because I guess the funding ran out. -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
Hi All-- Roy Smith wrote: When you learn Forth, you will have learned Forth. About the best that can be said about that is that It'll give you a head-start if your next goal is to learn PostScript :-) In which case, you should start with PostScript;-) I learned it by plugging a glass tty into the serial port on one of the very first AppleWriters and typing away. None of this fancy-shmancy '' business;-) But what a great reward, having graphics come out the printer when you typed 'show'. Seriously, PostScript is a lot more fun to learn than Forth, and more directly useful. Since the rewards are so immediate, a kid's attention could be gained and kept pretty easily. But I'd still recommend Python as a first programming language. Keep to the standard stuff--ignore list comprehensions and so on--until he or she has the basic control flow down pat. Metta, Ivan -- Ivan Van Laningham God N Locomotive Works http://www.andi-holmes.com/ http://www.foretec.com/python/workshops/1998-11/proceedings.html Army Signal Corps: Cu Chi, Class of '70 Author: Teach Yourself Python in 24 Hours -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT wrote: Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. You may find RUR interesting http://rur-ple.sourceforge.net/ (Learning Python: Child's Play with RUR-PLE!) -- http://mail.python.org/mailman/listinfo/python-list
Re: Which kid's beginners programming - Python or Forth?
BORT said unto the world upon 27/06/2005 23:16: Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like best FREE programming language for kids. After MUCH clicking and high-level scanning, I am looking at Python and Forth. Both have advocates that say each is a great approach to learning computers. snip [NOTE: This is not a troll. I'm geting ready to bark up a tree and I prefer to avoid the wrong one. I am cross-posting.] Thanks Hi, I don't know a thing about Forth. I'm a hobbyist programmer with enough Python , and a tourist's level of a few other languages. So, no pro here :-) Qualifying done: A great thing about Python is the community. Roy Smith's stats comparing mailing list activity is useful data. I would also add that with the leading and closing bits of your post, it seems like perhaps you've seen an ugly flame or two in the past, no? Well, this is a very friendly place by 'net standards. One can get flamed in comp.lang.python, but you have to work at it. Hard. Another good community resource would be the Tutor mailing list -- there are a core group of posters who are very good at explaining things in a patient and novice-friendly way (and a number of intermediate folks like myself who sometimes ask, sometimes answer): http://mail.python.org/mailman/listinfo/tutor. A useful (and free) book aimed at high school students is How to Think Like a Computer Scientist: Learning with Python http://greenteapress.com/thinkpython/. Though an adult when I came to Python, I found it useful while first starting and a bit intimidated by the prospect. It quickly got me to a place where reading grown up books like Learning Python was easy enough. Best, Brian vdB -- http://mail.python.org/mailman/listinfo/python-list