<div dir="ltr">I used Scala for our intro course last year, mostly because I wanted types. I know Matthias thinks types are a horrible thing to make students deal with first semester, but I found that students made different kinds of mistakes than they did in Racket. When you're writing containsDoll and the system tells you you're returning a List instead of a Boolean for an empty list, before you even try to run the test cases, you don't get yourself into issues where you get nested type mistakes that give you errors on functions you don't find out about until you're way down the call stack. That said, I missed so much of what DrRacket does for making things nice for beginners. I had hoped to make providing something like that a long-term project, but it appears I'm going into industry instead.<div>
<br></div><div>Since Pyret provides beginner type-checking through contract-like structures, I probably would have used it if I'd known about it in time. But I can't deny that being able to integrate with all the stuff I had done in Java for AP Computer Science was a huge win. Anybody thought about compiling Racket to the JVM? Clojure, Groovy, Jython, and JRuby seem to be all the rage. And the name Jacket is just awesome. :-)</div>
<div><br></div><div>Todd</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 27, 2014 at 12:31 PM, Prabhakar Ragde <span dir="ltr"><<a href="mailto:plragde@uwaterloo.ca" target="_blank">plragde@uwaterloo.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2014-06-26, 1:29 AM, <a href="mailto:users-request@racket-lang.org" target="_blank">users-request@racket-lang.org</a> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I heard Cornell and Harvard use OCaml, of all things. . . .<br>
</blockquote>
<br>
Cornell appears to use Python and MATLAB in their first courses; I don't see OCaml until third year. Harvard uses OCaml in a second course; C, PHP, Javascript in a first.  Even CMU uses OCaml in a second or third course, after Python and a safe version of C.<br>

<br>
We use Racket by choice in our first courses at Waterloo, and I use Haskell as well in my advanced version, but I wouldn't be unhappy if I had to use OCaml (though the students might be more unhappy). And if I were forced to use an imperative language, I would choose Python, probably (though I'd probably just stop teaching the first course). --PR<br>

____________________<br>
 Racket Users list:<br>
 <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/<u></u>users</a><br>
</blockquote></div><br></div>