Hacker News new | ask | show | jobs
by sp4rki 5706 days ago
That's just not correct. What language you learn on does have an influence on what languages come easier to you as a second or third language. Also some languages make programming concepts and paradigms easier to learn than others. Any way, giving an introductory high-school class in Python, Ruby, or Lisp is IMO counter productive because of the whitespace requirement, the flexibility in syntax, and the amount of parenthesis on their respective languages.

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.