Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
Non-English-based programming languages

Are there any programming languages with localizations for reserved words/commands?

I know it is not useful for most circumstances where documentation and support is usually in english, but I need to use to evaluate the ability of children before they have learned english. I think that if they can program in their own language it will be easier, and I can just evaluate their programming ability alone.

Also, is there any language that would be easier for kids to learn?

share|improve this question

marked as duplicate by rjzii, Mark Trapp Feb 8 '12 at 4:04

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Hi Billy, while I understand you've asked two separate questions (in the future, please don't do that: ask one thing at a time), your second question—asking for recommendations for programming languages for children—is off topic here. Your first question should be wholly covered by the duplicate question. –  user8 Feb 8 '12 at 4:05

3 Answers 3

Alan Kay spent much effort in building up an programming environment for kids with EToys, Squeek, Smalltalk. I remember, that control structures are symbolized by kind of puzzle pieces, which can only been sticked together, according to the syntax.

The general approach should be possible, if you don't make heavy use of libraries, or have the manpower to translate all of it.

Keywords could be translated with a preprocessor, which would of course be not too comfortable.

For every language which is available as OpenSource, changing the keywords in the source would be possible too. Of course the code would be incompatible with code from different languages. People would use identifiers, which are used as keywords in another language. But for teaching it to children, it might not be a big drawback.

share|improve this answer

Localised programming languages

If your target language allows words to change their form flexibly (cases for nouns, tenses for verbs, AND words can change their endings based on gender. One example is russian), then localization is not a good idea, and it'll be better to keep keywords untranslated.

English doesn't have those features, and because of that it is nearly perfect for programming and technical documents. On other hand, any attempt to use Russian for programming language I've ever seen were reliably producing horryfying mind-destroying abomination that I'm certain aren't safe for children to even look at - mostly because words do not follow their natural behavior. Unfortunately to see the problem in action you need native-speaker level language fluency.

Otherwise it should be possible to either write code preprocessor or modify language directly. If source code for interpreter is available, you could modify list of original keywords.

Also, is there any language that would be easier for kids to learn?

If I remember correctly, LOGO was originally designed for such purpose.

Somewhere after the age of 10, some kind of BASIC should work. Any language can be used as long as it can be fun - i.e. you can draw something something on screen, make shapes move, etc. - as long as you don't delve into boring things like string comparison/traditional classroom tasks and keep things simple. It shouldn't matter that it is in non-native language, because commands can be trated kind like lego blocks - i.e. you place them around, without really thinking what they mean in english.

Below the age of 10 it is hard to say, and you might want to ask elementary teacher or research pedagogical books.

Another problem is that when I was a kid playing with programmable microcalculator, there were no widely available computer games and multimedia applications, so the graphics you could see in arcade were some kind of miracle. While writing a simple program that could slowly move a circle around, your code you could perform similar miracle. Nowadays, situation is quite different, games are available and assests used in them took a lot of time to create, so one person will have hard time "making a miracle" similar to the computer game they saw.

So, at current time you'll probably have to either implement custom graphical framework (2D) or search for something that already have it.

share|improve this answer

I think this is precisely what you are looking for: http://scratch.mit.edu/

It is a programming language for kids and has localizations.

share|improve this answer
that is pretty awesome –  Billy Moon Feb 8 '12 at 0:53
It is - and given that it's Smalltalk, there are only five "reserved words" (nil, self, super, true and false in most Smalltalk flavours) and the language is basically "written in itself", kids won't have problems even if they dig past the GUI-based programming to the code underneath (assuming they understand some English though). Squeakland/EToys is also worth checking out, though I believe the Scratch interface is better. –  Amos M. Carpenter Feb 8 '12 at 2:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.