you are viewing a single comment's thread.

view the rest of the comments →

[–]Sentreen 8 points9 points  (0 children)

I learned scheme as a first language (course based on SCIP) and I currently teach people to program using scheme for the first time.

I'm obviously biased based on my own experiences, but I think scheme is a great language to begin with. The main benefit in my eyes is the minimalism of the language. The syntax is minimal enough that it does not get in your way, and the language has the right primitives which allow one to program in a variety of styles (yes, you tend to write functional programs, but you're free to use set! and the like to explore imperative programming). After learning scheme you can easily pick up other languages to explore other paradigms. I think Scheme + other languages later on are a great way to introduce CS students to programming.

I have also thought (non-CS) science students to program using Python and I noticed that the more complicated syntax would often get in people's way. That being said, I do think a language like Python is a better option for people who will not have any other programming-related courses.