I've given a fair bit of thought to this because I teach beginning programmers 
and I also teach Clojure, but my Clojure classes currently require at least one 
prior programming course. 

I'd love to start with Clojure, and to my mind the main obstacle is indeed that 
the programming environments that are available, while continually improving 
with respect to beginner-friendliness, aren't quite there. 

After switching among many of the alternatives over the last several years 
(during which I've been very grateful to the tool developers who have always 
been responsive and helpful), this semester I am trying something new, using 
just leiningen + a version of Gorilla REPL modified to allow the opening of any 
.clj file. So far I am really happy with this, which is working well for my 
class and also giving me more hope for teaching total novices Clojure in the 
future.

The need for occasional Java interop is also an issue, but in my experience 
it's a minor one that can be dealt with on a case by case basis.

And documentation that assumes too much knowledge can also be an issue, but 
again, this is improving and less of a problem, I think, than the programming 
environment issues.

One little feature of the core language itself that I find to be difficult for 
beginners is the way that regular parentheses () are used in printed values for 
different data types... But I know this can't change, and I don't know if 
anything can be done to make that less confusing.

 -Lee

PS I second the shout out to Elena Machkasova's work! 



> On Feb 21, 2016, at 6:45 AM, Val Waeselynck <val.vval...@gmail.com> wrote:
> 
> And of course, let's not forget about Clojure Bridge 
> <http://www.clojurebridge.org/>!
> 
> On Sunday, 21 February 2016 12:42:24 UTC+1, Val Waeselynck wrote:
> I believe there was a Clojure programming environment released exactly for 
> this... but can't see to find it on Google.
> 
> I too believe it is great for beginners, except for maybe 2 aspects:
> if Clojure is your first language, the 2nd language is likely to be painful 
> :) - I heard feedback about a guy who learned to program in Clojure and found 
> Python pretty messed up afterwards.
> because of Clojure's hosted nature, most learning resources today presume 
> some programming experience.
> You should maybe contact Chris Granger if you want to invest some time in 
> this, what with Light Table and Eve he's probably one of the persons who have 
> given this topic most thought.
> 
> See also the work of Elena Machkasova who has taught introductory CS classes 
> with Clojure: https://www.youtube.com/watch?v=k5erDyDPzgc 
> <https://www.youtube.com/watch?v=k5erDyDPzgc>.
> 
> I personally believe one of the most important features for learning is the 
> REPL. Declarative data notation plays a great role too, and built-in 
> documentation is the cherry on the cake.
> 
> Personal feedback: In France, in prep school, we learn programming with OCaml 
> - which is indeed great especially for the kind of mathematical / algorithmic 
> stuff we do, but I think Clojure has the advantage of targeting platforms 
> suited to a wider range of applications (including websites).
> 
> HTH,
> 
> On Sunday, 21 February 2016 11:45:44 UTC+1, Terje Dahl wrote:
> 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.
> 
> Is there anything written about this? 
> Arguments ... experiences ... perhaps even research ...?
> 
> -- 
> 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 
> <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 
> <mailto:clojure+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

--
Lee Spector, Professor of Computer Science
Director, Institute for Computational Intelligence
Hampshire College, Amherst, Massachusetts, USA
lspec...@hampshire.edu, http://hampshire.edu/lspector/, 413-559-5352

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