I'm investigating languages and IDEs for a project involving teaching high-school students (around grade 11). It will teach basics of programming as an introduction to computer science (e.g., including how numbers/strings/characters are represented, using procedures and arrays, control flow, a little bit of algorithms, only very basic I/O). The non-negotiable requirements for this project are:
- a free up-to-date cross-platform IDE (Win & Mac incl. 64-bit) with debug
- a compiler where it's easy to learn from your mistakes
- together with the IDE, a gentle installation+learning curve
So far, the best options I see are the following. Are there others I should know about? I am giving a short explanation with each one to generally show what I am looking for. In order from most to least promising:
Promising:
- Pascal + FreePascal IDE (it seems a little buggy but actively developed?)
- Python + Eclipse + PyDev (good but features are overwhelming/hard to navigate)
- Scheme + DrScheme/PLTScheme (good but very different)
- Python + IDLE (looks unnatural to do debugging, to me)
- Boo + MonoDevelop
Not promising:
- Pascal + Lazarus (IDE overwhelming, e.g. not obvious how to "start from scratch")
- Groovy + Eclipse (debugging mode gets into Java)
Preferably, as a rule of thumb, the language should be direct enough that you don't need to wrap every program in a class, don't need to reference a System object to println, etc.
I tried a little bit to see if there is something in JavaScript or (non-Visual) Basic along the lines of what I want, but found nothing so far. I would say that C/C++/C#, Java, Ruby, VB do not fit my criteria for languages for this project.
To reiterate my questions: are any of those options really awesome or un-awesome? Are there other options which are even MORE awesome? Anything for Basic or JavaScript which meets all of the criteria? Thanks!
Edit: It's helpful for people say whether they're recommending tools they've actually used; also, I edited the list above based on first round of responses.