When I taught with DrScheme back in the day it was a very good experience overall, and while I haven't taught with DrRacket I understand that the team has continued to do great things, and that this is probably a perfect first environment for many teaching contexts. FWIW in my context the restricted language subsets were more of a hinderance than a help, but since we could get around them, and since everything else about the environment was so nice, I was quite happy with the experience overall.
But I nonetheless think that actual Clojure can also be a great first language. Although it would take a *lot* work to do all of the things that the PLT/Racket people have done, I think that we're already on the cusp of having sufficiently good Clojure environments for beginners. For me, I think we'll be over the threshold for teaching Clojure as a first language as soon as the "quick real start" story gets a little better, making it trivial for total newbies to set up an environment and start coding, with a few essential features like auto-re-indenting and as few unnecessary sources of confusion as possible. Once we're over that threshold (and many projects are quite close, but not yet quite there IMHO) I think that Clojure-first will be a reasonable path, and that things will then get even better as the work that people are doing on improved error messages etc. can be incorporated. So I hope that Clojure tool developers will continue to push in this direction too! -Lee PS if anyone is curious about how I've been using just lein + Gorilla REPL as a teaching environment, which I mentioned earlier, you might want to look at my brief notes at http://faculty.hampshire.edu/lspector/temp/Secrets-of-Gorilla-REPL.pdf. Note that this is still missing one key feature for more general use: Save Without Markup. Right now, any edited file will be "polluted" with markup, which would obviously be problematic in many situations. A student in my group is looking into adding this feature. > On Feb 22, 2016, at 8:34 AM, Mark Engelberg <mark.engelb...@gmail.com> wrote: > > Racket is a language that is explicitly designed for creating other > languages. DrRacket is a remarkable pedagogical IDE. For those who are > interested in providing a smooth learning path to Clojure, one of the best > ways to do that would be for our community to invest some effort in building > a "Clojure language mode" for DrRacket. It wouldn't have to be incredibly > efficient, and wouldn't have to support the full range of Clojure constructs, > just a nice pedagogical subset of Clojure. > > Racket-implemented languages interoperate with each other and with the IDE, > so beginning programmers could use DrRacket and get great error messages and > graphical stack traces in the IDE, as well as access to all its great > teachpack libraries (such as the functional graphics/animation library) and > the ability to use the various curricula designed by the PLT group. > > The transition from Racket to Clojure already is fairly small, but this way, > beginners could then work through a tried-and-true curriculum using Cloure > syntax for a truly seamless transition to full-blown Clojure once they are > ready. > > I believe this would be far easier and more useful than trying to build a > robust set of features for beginner programmers into Clojure (given that the > DrRacket team has already spent decades on this problem, so we're better off > figuring out how to leverage their work than trying to reinvent and > reimplement it). > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.