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.

Reply via email to