
The best programming language for kids and beginners
- Rook Zimbabwe
- Addict
- Posts: 4322
- Joined: Tue Jan 02, 2007 8:16 pm
- Location: Cypress TX
- Contact:
As long as I still have the monopoly for silly responses! 
That said:
I used to teach Computer Science in What in Texas we call "Middle School" which is grade 6,7, and 8 and covers years 11 - 14 mostly.
I also taught Art. [vanity makes me include that! ]
I used Chipmunk Basic when I was stuck in the computer lab full of Macs and Moonrock basic or liberty basic when I was in the PC lab.
The school bought a BASIC for the PC lab VB5
I was the only computer teacher (of 3) that taught programming.
The others were Education Majors in school... they had about 12 - 16 hours of experience in Computer Science... They wouldn't know a variable from a procedure if it bit them in the butt and introduced itself!
[ I amaze myself with my wit at times! ]
I firmly suspect that the 800 line lmitation in PB will be FINE for education. Young children may want to program the next FPS, but they aren't... not when starting out.
You will probably get program of around 400 lines of code. That being the biggest I could think one of them would do. It is certainly larget than most teachers would want to scan through and grade!
If they want to go bigger... the school can pop for a LAB PACK. The kids will probably steal the licensed version anyway.


That said:
I used to teach Computer Science in What in Texas we call "Middle School" which is grade 6,7, and 8 and covers years 11 - 14 mostly.
I also taught Art. [vanity makes me include that! ]
I used Chipmunk Basic when I was stuck in the computer lab full of Macs and Moonrock basic or liberty basic when I was in the PC lab.
The school bought a BASIC for the PC lab VB5
I was the only computer teacher (of 3) that taught programming.
The others were Education Majors in school... they had about 12 - 16 hours of experience in Computer Science... They wouldn't know a variable from a procedure if it bit them in the butt and introduced itself!

I firmly suspect that the 800 line lmitation in PB will be FINE for education. Young children may want to program the next FPS, but they aren't... not when starting out.
You will probably get program of around 400 lines of code. That being the biggest I could think one of them would do. It is certainly larget than most teachers would want to scan through and grade!
If they want to go bigger... the school can pop for a LAB PACK. The kids will probably steal the licensed version anyway.

BTW, you may just want to take a look at Python.
Its free, I believe it has a localized version, and most importantly for beginners, they can make simple windows GUI programs right from the start.
I just picked up a Python book the other day, and its very easy to pick up and go. I would expect for a beginner, its a great start. The large number of string manipulations that can be done from the base language are again, notably easy for a beginner to pick up.
Take the following:
>>>mystring = "mississippi:
>>>mystring.count('s')
>>>4
Now granted, teaching someone to loop through a string variable and counting the s' is normally important to understand in most languages.
In this instance, the lanugage does it for you, and allows you to get beyond the grammer quicker, and focus on problem solving and algorithms.
Oh yeah, the above was done in interactive mode too.
I still find it a bit odd to use, but it is great for little teaching examples or demo's.
It also has a number of graphics add-ons that work pretty well apparently. This game is one of them.
http://www.pygame.org/thumb/808b80f8ec6 ... d1012b.png
https://sourceforge.net/project/showfil ... _id=566006

Its free, I believe it has a localized version, and most importantly for beginners, they can make simple windows GUI programs right from the start.
I just picked up a Python book the other day, and its very easy to pick up and go. I would expect for a beginner, its a great start. The large number of string manipulations that can be done from the base language are again, notably easy for a beginner to pick up.
Take the following:
>>>mystring = "mississippi:
>>>mystring.count('s')
>>>4
Now granted, teaching someone to loop through a string variable and counting the s' is normally important to understand in most languages.
In this instance, the lanugage does it for you, and allows you to get beyond the grammer quicker, and focus on problem solving and algorithms.
Oh yeah, the above was done in interactive mode too.
I still find it a bit odd to use, but it is great for little teaching examples or demo's.
It also has a number of graphics add-ons that work pretty well apparently. This game is one of them.
http://www.pygame.org/thumb/808b80f8ec6 ... d1012b.png
https://sourceforge.net/project/showfil ... _id=566006

Last edited by koehler on Mon Jul 28, 2008 6:31 am, edited 1 time in total.
@thanos
IMO you need a language that addresses these key points:
multiplatform - otherwise you limit your audience. Not everyone has/wants/can afford Windows.
multipurpose - not everyone wants to write games, not everyone wants to write apps. You need a language that supports both well.
easy syntax & concepts- for beginners, the classic "Hello Word" program is a milestone. Any language you choose should be able to do this in 2 or 3 lines of simple code.
multinational - unicode is important as is the language of the IDE GUI, not everyone speaks American English or wants to learn it.
free/cheap - you should choose a language that is free in a trial version - many potential buyers of your book will be put off by the additional purchase of a programming language / compiler - especially if they are only curious about programming as opposed to being determined to learn.
Ideally, your book should include a CD with your compiler and some example code. A limited trial version would be fine so long as your example code works in the Trial Version.
expandable / upgradeable - the language needs to be expandable so the trial version (perhaps with the cost of a licence fee or upgrade to a PRO version) can enable your audience to produce commercial grade tools / apps / games.
IMO you need a language that addresses these key points:
multiplatform - otherwise you limit your audience. Not everyone has/wants/can afford Windows.
multipurpose - not everyone wants to write games, not everyone wants to write apps. You need a language that supports both well.
easy syntax & concepts- for beginners, the classic "Hello Word" program is a milestone. Any language you choose should be able to do this in 2 or 3 lines of simple code.
multinational - unicode is important as is the language of the IDE GUI, not everyone speaks American English or wants to learn it.
free/cheap - you should choose a language that is free in a trial version - many potential buyers of your book will be put off by the additional purchase of a programming language / compiler - especially if they are only curious about programming as opposed to being determined to learn.
Ideally, your book should include a CD with your compiler and some example code. A limited trial version would be fine so long as your example code works in the Trial Version.
expandable / upgradeable - the language needs to be expandable so the trial version (perhaps with the cost of a licence fee or upgrade to a PRO version) can enable your audience to produce commercial grade tools / apps / games.
Ta - N
@naw
Thank you for your post.
You are right!
The perfect language for beginners should have all the above characteristics.
Regards.
Thanos
Thank you for your post.
You are right!
The perfect language for beginners should have all the above characteristics.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
I forgot Commercial Recognition - if the purpose of your book is to fast track your readers towards getting a job as a programmer then this is important. If on the other hand the purpose is to give your readers a grounding in programming fundamentals and sufficient knowledge to produce a working application, then this is much less important.thanos wrote:@naw
Thank you for your post.
You are right!
The perfect language for beginners should have all the above characteristics.
Regards.
Thanos
It seems to me that PB scores well with most of these criteria.
Ta - N
Thanks for the reply.naw wrote:I forgot Commercial Recognition - if the purpose of your book is to fast track your readers towards getting a job as a programmer then this is important. If on the other hand the purpose is to give your readers a grounding in programming fundamentals and sufficient knowledge to produce a working application, then this is much less important.
It seems to me that PB scores well with most of these criteria.
You are right again!
I will follow the road to give to my potential readers a grounding in programming fundamentals and sufficient knowledge to produce a working application.
After that background, to my opinion, it is easier for someone to learn another language with commercial recognition, such as C++ or Vb.Net etc. And it is easier to move from Purebasic to one of these languages, of course if it is necessary.
And finally, yes, the Purebasic scores well with most of these criteria because it is extremely powerful in many fields!
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
a thought occurred to me, what would be the most intuitive easy to learn programming language for a kid?
maybe this fellow has the right idea with his programming language "Peter" http://www.gemtree.com/peter.htm
maybe this fellow has the right idea with his programming language "Peter" http://www.gemtree.com/peter.htm
hey, jack.
The image from Peter interface reminds me of GameMaker events. It's great for a learning tool:
http://www.yoyogames.com/gamemaker
And it has a free version too. It might be of some interest.
The image from Peter interface reminds me of GameMaker events. It's great for a learning tool:
http://www.yoyogames.com/gamemaker
And it has a free version too. It might be of some interest.
Proud registered Purebasic user.
Because programming should be fun.
Because programming should be fun.
You're welcome - good luck with your projectthanos wrote: I will follow the road to give to my potential readers a grounding in programming fundamentals and sufficient knowledge to produce a working application.
After that background, to my opinion, it is easier for someone to learn another language with commercial recognition, such as C++ or Vb.Net etc. And it is easier to move from Purebasic to one of these languages, of course if it is necessary.
And finally, yes, the Purebasic scores well with most of these criteria because it is extremely powerful in many fields!
Regards.
Thanos
Ta - N
Hello jack,jack wrote:a thought occurred to me, what would be the most intuitive easy to learn programming language for a kid?
maybe this fellow has the right idea with his programming language "Peter" http://www.gemtree.com/peter.htm
i checked this out and it is really interesting.
Thank you for your suggestion.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
Thank you for your politeness and your wishes.naw wrote: You're welcome - good luck with your project
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!