From personal experience, I strongly disagree with the negative comments saying Forth isn't suitable for teaching children.
"Starting Forth" by Leo Brodie was the first programming book I ever read when I was about 6 or 7 years old, after my dad brought it home from work (where they used Forth). To me, the language felt very intuitive and easy to grasp. And Brodie's illustrations helped a lot with visualizing how it all worked.
Leo Brodie's "Starting Forth: An Introduction to the Forth Language and Operating System for Beginners and Professionals" is well-suited for any level student. It's quite fun and made a mark on my thinking. It's hard for a postfix dereference operator not to.
Yeah Forth doesn't seem very good as a teaching language. Maybe the "first lesson" part where you're just showing how you can build a toy program from simple words would go well, but any nontrivial project where you have to start incorporating DUP and OVER and ROT and PICK and friends seems like a nightmare to teach to anyone who hasn't programmed before.
Kids need an antidote to the brain damage that is standard mathematical notation. I prefer lisps variadic prefix notation, but if you're just doing fixed arity functions without higher order functions than prefix and post fix are as good as each other, and you don't have the dreaded sea of parenthesis.
I used Forth to explain numbers in different radices to my grandson.
Being able to interactively try things at the console was really helpful.
It also helps to separate the internal number in the machine from how we display it, due to the different operators to print numbers as signed or unsigned. This is something that I have seen young programmers confuse.
I think another area where Forth can help young people is in understanding some low level details like memory addresses and reading and writing memory. It seems simpler than abstracting it to "pointers", more like assembler but interactive.
This is exactly the kind of spelling mistake ChatGPT makes if you ask it to make spelling mistakes to make text look more authentic.
What seems to happen is it will get a lot of words like curriculum wrong that people rarely spell incorrectly because they're long enough that if your English isn't confident you would look it up or use a spell checker, or spell words incorrectly that people don't usually spell wrong like 'imediate' or 'puzzel'.
Let it be known that this is a spelling mistake I have made for years. I thought I had rooted out of this article. It must have made it back in with later drafts.
Decker, a hypercard style app, seems to give quick gratification. Looks like an easy and fun way to get started with programming. Was just posted to HN: https://news.ycombinator.com/item?id=49060856
Writing RPL on my HP48 as a young teenager influenced the way I thought about programming significantly. RPL IMO is underrated as an educational tool. It introduces the stack based concept, but also the "everything is an object" concept. As a useful language I'm not sure, but it was definitely fun to think about.
> I wanted to avoid teaching syntax. While Python makes sense as pseudocode [...] it is still nearly incomprehensible to new learners [...] I decided I wanted to either teach Forth or Haskell.
Sorry but this reads like a joke. If you find python incomprehensible, Forth and Haskell won't even register as languages.
From personal experience, I strongly disagree with the negative comments saying Forth isn't suitable for teaching children.
"Starting Forth" by Leo Brodie was the first programming book I ever read when I was about 6 or 7 years old, after my dad brought it home from work (where they used Forth). To me, the language felt very intuitive and easy to grasp. And Brodie's illustrations helped a lot with visualizing how it all worked.
Leo Brodie's "Starting Forth: An Introduction to the Forth Language and Operating System for Beginners and Professionals" is well-suited for any level student. It's quite fun and made a mark on my thinking. It's hard for a postfix dereference operator not to.
https://www.forth.com/wp-content/uploads/2018/01/Starting-FO...
I really love Forth and spend almost all my free programming time playing with it and I'd never teach it to a class of kids.
Yeah Forth doesn't seem very good as a teaching language. Maybe the "first lesson" part where you're just showing how you can build a toy program from simple words would go well, but any nontrivial project where you have to start incorporating DUP and OVER and ROT and PICK and friends seems like a nightmare to teach to anyone who hasn't programmed before.
My kid was curious about my HP-35 and I taught them how it works. They got it in no time and I made it an exercise to rewrite math expressions in RPN.
Not sure they are that interested in programming, but FORTH is a little sweet language.
My first experience with it was Paul Lutus’ GraFORTH. On the Apple II it was ridiculously fast.
Well that’s next weekend sorted, thanks!
lutus also created arachnophilia and sailed or is sailing around the world.
n coined the term careware. iirc.
first-hand info. i had downloaded n used arachnophilia.
he is on hn.
Paul Lutus is a treasure of humankind.
Kids need an antidote to the brain damage that is standard mathematical notation. I prefer lisps variadic prefix notation, but if you're just doing fixed arity functions without higher order functions than prefix and post fix are as good as each other, and you don't have the dreaded sea of parenthesis.
what aspect of school level “mathematical notation” is so bad as to be brain damage inducing?
probably the arbitrariness of it. PEMDAS is more or less burned into my brain at this point but its basically the qwerty of notations.
that’s not even notation though, that’s a rubric for the order of operations.
The need to remember operator precedence is a consequence of the infix notation syntax.
I used Forth to explain numbers in different radices to my grandson. Being able to interactively try things at the console was really helpful. It also helps to separate the internal number in the machine from how we display it, due to the different operators to print numbers as signed or unsigned. This is something that I have seen young programmers confuse.
I think another area where Forth can help young people is in understanding some low level details like memory addresses and reading and writing memory. It seems simpler than abstracting it to "pointers", more like assembler but interactive.
I doubly enjoyed reading this because I feel like I'm reasonably sure the author never ran this through an LLM because of the "cirriculum" typo.
This is exactly the kind of spelling mistake ChatGPT makes if you ask it to make spelling mistakes to make text look more authentic.
What seems to happen is it will get a lot of words like curriculum wrong that people rarely spell incorrectly because they're long enough that if your English isn't confident you would look it up or use a spell checker, or spell words incorrectly that people don't usually spell wrong like 'imediate' or 'puzzel'.
Let it be known that this is a spelling mistake I have made for years. I thought I had rooted out of this article. It must have made it back in with later drafts.
To be clear, I'm not accusing you of plagiarism at all. I'm just saying this kind of typo unfortunately doesn't prove anything.
I thought it was made on purpose so people have something xtra to chat about. Clever.
Because it occurred more than once, my first thought was it must be a British variant. But I guess not.
The u and i keys are adjacent, so it's a plausible typo.
Decker, a hypercard style app, seems to give quick gratification. Looks like an easy and fun way to get started with programming. Was just posted to HN: https://news.ycombinator.com/item?id=49060856
Writing RPL on my HP48 as a young teenager influenced the way I thought about programming significantly. RPL IMO is underrated as an educational tool. It introduces the stack based concept, but also the "everything is an object" concept. As a useful language I'm not sure, but it was definitely fun to think about.
> I wanted to avoid teaching syntax. While Python makes sense as pseudocode [...] it is still nearly incomprehensible to new learners [...] I decided I wanted to either teach Forth or Haskell.
Sorry but this reads like a joke. If you find python incomprehensible, Forth and Haskell won't even register as languages.
OP is speedrunning how to make kids hate programming.
This language is simple unintuitive and the Polish math notation will cause even more confusion.
>> Overall, I don't believe the programming language matters all too much.
Delusional. There is a reason why 99.99% of large projects are done in imperative languages.
I like programming a lot but if my programming journey were started by this teacher and might just became a chef instead.
This seems to be a "do novel things for novelty sake" thing.
Kids need to see the practical applications in the simples and most intuitive way of the things they are learning.
Forth or similar languages are not it.
Even in university level students these languages are both confusing and unintuitive and slow to develop in compared to imperative languages.
Why not Processing or P5.js?
did you read the post? it doesn't mention those by name but the reasons it gives for not teaching other languages/tools apply to those too
All things considered, unfortunately, we are better off teaching them plumbing or painting ...
Or just concentrate on reading writing and 'rithmetic and let them find a career they want that isn't forced on them