Created
June 6, 2015 13:50
-
-
Save RabidArts/03ae489afaada87d1b5e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= P:Cubed Clojure Language Learning Resources = | |
(Taken from P-Cubed internal wiki. Public site = www.p-cubed.co.za) | |
Clojure is a dynamic programming language that targets the Java Virtual Machine (and the CLR, and JavaScript). | |
It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. | |
It also focusses a lot on handling concurrency elegantly. | |
Taster of the language: http://www.tryclj.com/ | |
While it's dynamically typed by default, it can be optionally statically typed using core.typed. | |
You can force things to be mutable as well (and consequently a concurrency nightmare) when it is required. | |
This is useful when enforcing contracts and type guarantees. | |
It works best in a live development style (interactive - code and test in fast cycles, seeing the changes you make as you go). | |
In many ways, Clojure is not just a language, it's a vision of what should and could be. | |
== Online Courses == | |
* [[http://rubylearning.com/blog/2010/03/09/clojure-101-a-new-course/|Free online course at RubyLearning.com with mentor that critiques your work]] | |
* [[http://pluralsight.com/training/Courses/Find?highlight=true&searchTerm=Clojure|Pay-for PluralSight courses]] | |
== Online Learning Resources: == | |
* [[http://www.braveclojure.com/|Clojure for the Brave and True]] - Great online tutorial | |
* [[http://www.4clojure.com/|Online Collaborative Exercises]] | |
* [[http://www.braveclojure.com/do-things/|Online Beginners Book]] | |
* [[http://en.wikibooks.org/wiki/Clojure_Programming/Examples/Cookbook|Clojure Cookbook (examples)]] | |
* [[https://www.youtube.com/watch?v=wNhK8t3uLJU|Explanation of Clojure static typing by creator]] | |
* [[https://github.com/typedclojure/screencasts|Screencasts of Clojure static typing]] | |
== Offline Learning Resources == | |
* [[https://github.com/functional-koans/clojure-koans|Koans for Clojure]] | |
* [[http://drcabana.org/2012/02/18/an-invitation-to-fp-for-clojure-noobs/|Project Euler Exercises]] | |
* [[https://github.com/relevance/labrepl|Environment for exploring the Clojure language]] | |
== Videos & Presentations == | |
* [[http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey|Rich Hickey - Are we there yet?]] | |
* [[https://www.youtube.com/watch?v=f84n5oFoZBc|Rich Hickey - Hammock-Driven Development (Re:Problem Solving)]] | |
* [[http://www.infoq.com/presentations/Simple-Made-Easy|Rich Hickey - Simple made Easy]] | |
* [[http://www.infoq.com/presentations/Value-Values|Rich Hickey - The Value of Values]] | |
* [[https://www.youtube.com/watch?v=ROor6_NGIWU|Rich Hickey - The Language of the System]] | |
* [[http://www.infoq.com/presentations/Design-Composition-Performance|Rich Hickey - Design, Composition, Performance]] | |
* [[http://www.infoq.com/presentations/datomic-functional-database|Rich Hickey - The functional database]] | |
* [[http://www.infoq.com/presentations/Deconstructing-Database|Deconstructing the Database]] | |
* [[https://www.youtube.com/watch?v=wASCH_gPnDw|Interview with Rich Hickey (Clojure Creator)]] | |
* [[http://www.infoq.com/presentations/clojure-data-state-value|Alex Miller - Clojure: Enemy of the State]] | |
* [[http://www.infoq.com/presentations/Clojure-The-Art-of-Abstraction|Alex Miller - The Art of Abstraction]] | |
* [[http://www.infoq.com/presentations/clojure-robots|Carin Meier - Clojure Robots]] | |
* [[https://www.youtube.com/user/ClojureTV|Clojure TV on youtube]] | |
* [[http://learn-clojure.com/clojure_videos.html|More Videos..]] | |
== Notable articles == | |
* [[http://michaelochurch.wordpress.com/2013/08/07/why-clojure-will-win/|Why Clojure Will Win - Has interesting things to say about static vs dynamic typing (5th para)]] | |
== Books == | |
* [[http://www.amazon.com/Joy-Clojure-Michael-Fogus|The Joy of clojure]] (Best as 2nd book) | |
* [[http://www.amazon.com/Clojure-Programming-Chas-Emerick|Clojure programming]] | |
== IDEs == | |
* Emacs with [[https://github.com/overtone/emacs-live|Emacs live]] (also see EVIL mode) | |
* [[http://www.lighttable.com/|Light Table]] | |
* [[https://code.google.com/p/counterclockwise/|CounterClockwise - Eclipse plugin]] | |
* [[https://cursiveclojure.com/|Cursive clojure - IntelliJ plugin]] | |
* [[https://nightcode.info/|Nightcode]] | |
== Other == | |
* [[http://dev.clojure.org/display/community/Clojure+Success+Stories|Clojure Success Stories]] | |
* [[http://clojuredocs.org/|Reference Docs]] | |
* [[http://briancarper.net/tag/157/clojure|Clojure Blogger - Brian Carper]] | |
* [[http://java.ociweb.com/mark/clojure/|Useful clojure links]] | |
* [[https://github.com/halgari/clojure-py|Clojure in Python]] | |
* [[http://clojure.org/cheatsheet|Clojure cheat sheet]] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment