I've found that (some of) Clojure's advanced features are best taught in
terms of simpler ideas
that most programmers would be familiar with.

For example, excuse the plug, I motivated multimethods by relating them to
simple conditionals
like "case". I think I succeeded in making MMs just look like a fancier
conditional, which is much
more friendly than an "arbitrary dispatch mechanism" ;)

http://pragprog.com/magazines/2011-07/growing-a-dsl-with-clojure

I'm brainstorming how we could approach teaching the other features you
mentioned similarly.

Thanks,
Ambrose

On Wed, Jul 13, 2011 at 6:52 PM, Albert Cardona <sapri...@gmail.com> wrote:

> Chas,
>
> "It seems that relatively few people are taking advantage of some of
> Clojure’s most sophisticated and unique features: metadata; protocols,
> records, and types; and multimethods.  These facilities are absolutely
> game-changers, at least IMO.  Either most domains have no use for them
> (I can’t believe that), or most people don’t know how to use them
> effectively, thus they are left unused.  Those of us that write about
> and teach Clojure, take note."
>
>
> What prevents me from using it is that clojure 1.3.* is still alpha or
> early beta, and it's been for a long time.
> If clojure 1.3 was released and development continued into 1.4, I
> predict that protocols and records would suddenly start being used a
> lot more.
>
> Albert
>
> --
> http://albert.rierol.net
> http://www.ini.uzh.ch/~acardona/
>
> --
> 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 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

Reply via email to