Reputation: 32468
I need to make a presentation for beginners about the Clojure language. What are your suggestions on selecting topics on it? What are the points I need to include?
Note: By beginners, I mean that they are experienced in other programming paradigms, but not in the functional programming model.
Upvotes: 5
Views: 1016
Reputation: 35702
You've got to think about your target audience. I'm going to make an assumption that they probably know Java.
The best authority on Clojure is the source himself, Rich Hickey. He's written an introduction to Clojure for Java Programmers.
Slides are here.
Him giving the presentation with audio is here and part2 is here.
Upvotes: 3
Reputation: 106351
I would demonstrate the basics of the language by firing up a REPL and running through a bunch of basic language features, slowly building up to something more interesting.
This Clojure quick tutorial gist may give you some ideas.
Upvotes: 2
Reputation: 1606
I found this blog entry yesterday -- impressive how easy is to make Clojure programs parallel (pmap in place of map :D ). Sadly, on my PC it didn't run on multiple cores but I haven't investigated it yet.
Use examples from books like Joy of Clojure -- they are very idiomatic and well designed. In this book there are also reasons on design of language and -- what is most important to you -- why functions+immutability is better for multithreaded programming than procedures+OO mutability.
Yes, I think parallelism is important to tell. But also -- in my opinion -- it is always crucial to convince non-lisp-listeners that The Parentheses Hell is not a hell but blessing ;) Tell about Beating the Averages and why Lisps are the most powerful languages in the world.
Try not to teach them a language but show why to learn it.
Oh, and prepare that someone in the audience will ask "why no for loop" or "why no constants" or "how come immutability doesn't lead to performance problems".
Upvotes: 2
Reputation: 87174
If need, you can take my presentation about Clojure - PDF is freely available...
Upvotes: 2
Reputation: 14197
I personally think this presentation is a great introduction to Clojure:
Clojure:Functional Concurrency for the JVM - Howard M. Lewis Ship
And obviously any presentation by Rich Hickey himself, for example
Clojure: A dynamic programming language for the JVM
Upvotes: 5