In my experience running the local clojure user group, a lot of clojure
beginners (NOT programming beginners) struggle with two things: the
paradigm switch (immutable data etc) and clojure's error messages.

I think if a beginner to programming started with clojure, they may be able
to sidestep the paradigm switch (because they haven't yet learned any
alternative approaches), but would struggle even more with the error
messages. Java stack traces are rather daunting at the best of times, but I
can imagine a beginner seeing something cryptic like wrong arity followed
by a 20 line stack trace would be rather demoralising.

Since this is a problem even seasoned programmers (but new to clojure)
have, I feel this needs to be improved before I'd be comfortable
recommending the language to absolute programming beginners.

Beyond that, as long as you introduce the concepts one at a time (should be
relatively easy, since clojure is all about untangling the various
concepts), then I think clojure would make a pretty interesting language to
teach programming with. When I tutored first year CS students in the past,
the biggest issue was introducing too much at once, but I feel that most of
clojure can be drip-fed as needed.
On Mon 22 Feb 2016 at 07:55 Michael Sperber <sper...@deinprogramm.de> wrote:

>
> Terje Dahl <te...@terjedahl.no> writes:
>
> > I believe that the simplicity of Clojure's syntax in combination with its
> > clean functional nature and prefix notation makes it ideal as a "first
> > language" for anyone who wants to start programming - including, and
> > perhaps especially kids.
>
> There's a lot of research out of the PLT and DeinProgramm projects on
> this. You'll find the relevant ones here:
>
> http://deinprogramm.de/publications.html
>
> These are not about Clojure per se, but discuss Scheme, which is close
> enough.
>
> tl;dr: No, Clojure is not an ideal language for teaching beginners.  For
> teaching beginners, you should use a language specifically engineered
> for beginners, such as the teaching languages that come with Racket.
> (The transition to Clojure from these languages should be quite easy,
> though.)
>
> --
> Regards,
> Mike
>
> --
> 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.
>

-- 
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