While Python tends towards clarity and predictability, Ruby tends more toward conciseness and power. That means some things are not as straightforward to figure out.
While Python tends towards clarity and predictability, Ruby tends more toward conciseness and power. That means some things are not as straightforward to figure out.
I started with C when I was 12 years old, and I'm sure that has made me a much better programmer than I could have been had I started with something easier like Php. In that aspect I think VB.net (which is NOT the same as VB6) is a good language for high-school kids to start with and learn the ropes.
I'm also a bit confused about your statement about Ruby having a more forgiving syntax and taking that in a positive light. For an Intro to Programming course rigid syntax is ideal as it helps to avoid atrocities against whitespace and other crimes of legibility.
I said two things:
1) I think Python is not a good language for high school because of it's syntax which is not directly translatable to the bulk of other programming languages (and I say the same thing about Lisp now that I'm on it). At this point I made a comment that I would find Ruby a little tiny bit better (but not suitable either) because of it's forgiving syntax, not because of the flexibility aspect of it's syntax (as omitting parenthesis and comas would probably lead to confusion). Python is not forgiving in it's whitespace requirements, while Ruby can make use of blocks and curly brackets in a way that translates better to other programming languages.
2) That I learned C at an early age and it had a big impact in the way I developed as a programmer, to which you responded that you learned Java a year earlier than I did C without making a point out of it. What is this a competition now to see who learned to program earlier?
What language you learned on makes no difference 5 years later, but it does have a big impact on the first, maybe second year. As such, it should be a language where the knowledge and workflow is easily transfered to other languages. VB.net (which I actually dislike anyways) is a pretty straightforward language from which you can move to a plethora of other languages easily. Neither Ruby or Python are suitable for this.