Skip to content

Commit 0179e0c

Browse files
committed
more doc resources
1 parent ca038a6 commit 0179e0c

File tree

1 file changed

+123
-3
lines changed

1 file changed

+123
-3
lines changed

content/about/documentary.adoc

Lines changed: 123 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,128 @@ Featuring Rich Hickey, Alex Miller, Stuart Halloway, and many more, this full-le
2121

2222
Documentary made possible with the support of https://building.nubank.com/engineering/[Nubank]!
2323

24-
[#trailer]
25-
.Trailer
26-
video::JJEyffSdBsk[youtube, width=400, height=225, title="Clojure: The Documentary [OFFICIAL TRAILER]"]
24+
[#video]
25+
.Video
26+
video:Y24vK_QDLFg[youtube, width=400, height=225, title="Clojure: The Documentary"]
27+
28+
== Show Notes
29+
30+
=== Foundational Research Papers
31+
32+
* https://curtclifton.net/papers/MoseleyMarks06a.pdf[Out of the Tarpit] — Ben Moseley & Peter Marks (2006). Identifies mutable state as the primary source of accidental complexity in software.
33+
* https://infoscience.epfl.ch/record/64398/files/idealhashtrees.pdf[Ideal Hash Trees] — Phil Bagwell. Research on Hash Array Mapped Tries (HAMTs), the direct inspiration for Clojure's persistent data structures.
34+
* https://dl.acm.org/doi/10.1145/1065944.1065952[Composable Memory Transactions] — Tim Harris, Simon Marlow, Simon Peyton-Jones & Maurice Herlihy (2005). Software Transactional Memory; a key influence behind Clojure's STM concurrency model.
35+
* https://docs.google.com/spreadsheets/d/1P3z4Nh02l6zIeGypgQ5wKGUe6Lq0lUCR-R35b0MF7mU/edit?gid=1078381722#gid=1078381722[Paper Bibliography] - a full list of talks used by Rich while developing Clojure, compiled by Michael Fogus
36+
37+
=== Influential Books
38+
39+
* https://paulgraham.com/onlisp.html[On Lisp] — Paul Graham. Widely referenced book on advanced Lisp techniques. Free online.
40+
* https://pragprog.com/titles/shcloj4/programming-clojure-fourth-edition/[Programming Clojure (4th ed.)] — Alex Miller, Stuart Halloway & Aaron Bedra. The first edition by Stuart Halloway launched alongside Clojure 1.0.
41+
* https://www.manning.com/books/the-joy-of-clojure-second-edition[The Joy of Clojure] — Michael Fogus & Chris Houser.
42+
43+
=== Talks by Rich Hickey
44+
45+
* https://www.infoq.com/presentations/Simple-Made-Easy/[Simple Made Easy] (https://www.youtube.com/watch?v=LKtk3HCgTa8[YouTube]) — Strange Loop 2011. Defines the distinction between "simple" and "easy."
46+
* https://www.infoq.com/presentations/Value-Values/[The Value of Values] (https://www.youtube.com/watch?v=-6BsiVyC1kM[YouTube]) — 2012. The case for immutable values over mutable objects.
47+
* https://www.youtube.com/watch?v=f84n5oFoZBc[Hammock Driven Development] — On thinking deeply about problems before writing code.
48+
* https://stuartsierra.com/2007/11/15/clojure-a-lisp-worth-talking-about/[Sierra's Blog on LispNYC Presentation] — 2007. An early public introduction to Clojure.
49+
* https://github.com/matthiasn/talk-transcripts[Talk Transcripts] — Community-maintained transcripts of Clojure talks by Rich Hickey and others.
50+
* https://www.youtube.com/playlist?list=PLZdCLR02grLrEwKaZv-5QbUzK0zGKOOcr[Rich Hickey Talks] - A playlist of many of Rich's online talks.
51+
52+
=== Paul Graham's Essays
53+
54+
* https://paulgraham.com/avg.html[Beating the Averages]
55+
* https://paulgraham.com/icad.html[Revenge of the Nerds]
56+
* https://paulgraham.com/articles.html[other essays]
57+
58+
=== Important Companies and Projects
59+
60+
* https://www.cognitect.com/blog/[Cognitect Blog] — The consultancy that stewarded Clojure for many years.
61+
* https://nubank.com.br/en/[Nubank] — World's largest independent digital bank, running core infrastructure on Clojure and Datomic. Acquired Cognitect in 2020 and currently stewards Clojure's development.
62+
* https://www.datomic.com/[Datomic] — Distributed database built on immutable facts, designed by Rich Hickey and Cognitect.
63+
64+
=== Community & Archival Resources
65+
66+
* https://www.cognitect.com/blog/2008/9/24/java-next-overview[Java.next Blog Series] — Stuart Halloway's 2008 series on emerging JVM languages.
67+
* https://chouser.us/clojure-log/[Clojure IRC Log Archive] — Preserved archive of the original Clojure IRC channel.
68+
69+
== Clojure Dialects & Runtimes
70+
71+
=== Core
72+
73+
* https://clojure.org/[Clojure] — Runs on the JVM. Follow the https://clojure.org/guides/getting_started[official getting started guide] or pick up https://www.braveclojure.com/[Brave Clojure] for a free, beginner-friendly introduction.
74+
* https://clojurescript.org/[ClojureScript] — Compiles to JavaScript. Powers frontend development with libraries like https://reagent-project.github.io/[Reagent] and https://day8.github.io/re-frame/[Re-frame].
75+
* https://github.com/clojure/clojure-clr[ClojureCLR] — Clojure on the .NET CLR.
76+
77+
=== Beyond the Core
78+
79+
* https://babashka.org/[Babashka] — Fast scripting without JVM startup time.
80+
* https://jank-lang.org/[Jank] — Targets LLVM for native compilation.
81+
* https://github.com/Tensegritics/ClojureDart[ClojureDart] — Flutter mobile apps.
82+
* https://github.com/squint-cljs/squint[Squint] / https://github.com/squint-cljs/cherry[Cherry] — Compile to ES modules.
83+
* https://github.com/ilevd/clojure-like[Other Clojure-like projects]
84+
85+
=== Data Science
86+
87+
* https://github.com/clj-python/libpython-clj[libpython-clj] — Call Python libraries (NumPy, pandas, scikit-learn) directly from Clojure.
88+
* https://scicloj.github.io/noj/[Noj] — Clojure-native data science toolkit from https://scicloj.github.io/[SciCloj], combining dataframes, visualization, and machine learning.
89+
* https://github.com/generateme/tablecloth[Tablecloth] — Combine Python interop with Clojure's dataframe library.
90+
91+
=== Clojure & AI
92+
93+
* https://github.com/editor-code-assistant/eca[ECA] - Editor Code Assistant
94+
* https://github.com/BetterThanTomorrow/calva-backseat-driver[Backseat Driver] - Clojure Tools for Copilot
95+
* https://github.com/bhauman/clojure-mcp[ClojureMCP] — MCP server connecting AI assistants (Claude, Codex, Gemini) to your Clojure REPL with structure-aware editing.
96+
* https://github.com/ctford/mcp-nrepl[MCP-nREPL] — Minimal Babashka MCP server giving coding agents direct nREPL access.
97+
* https://github.com/bhauman/clojure-mcp-light[clojure-mcp-light] — Lightweight CLI tools for delimiter repair and REPL eval with any LLM coding assistant.
98+
* https://clojurians.slack.com/archives/C068E9L5M2Q[#ai-assisted-coding on Clojurians Slack] — Active community channel for AI + Clojure development.
99+
100+
== Getting Started
101+
102+
. *Full experience* — Follow the https://clojure.org/guides/getting_started[official getting started guide] with step-by-step installation videos for https://www.youtube.com/watch?v=huGyv5yLIM8[macOS], https://www.youtube.com/watch?v=544xOAIg3y0[Linux], https://www.youtube.com/watch?v=TQgzA3QLz-k[Windows WSL], and https://www.youtube.com/watch?v=NFDAChdzThg[Windows]. The videos use https://calva.io/[Calva] in VS Code.
103+
. *Quickest path* — Install https://babashka.org/[Babashka] and start scripting immediately. No JVM setup needed.
104+
. *Web / frontend* — Try https://shadow-cljs.github.io/docs/UsersGuide.html[ClojureScript with Shadow CLJS].
105+
. *Mobile apps* — Try https://github.com/Tensegritics/ClojureDart[ClojureDart] for Flutter.
106+
. *Already a Python user* — Use https://github.com/clj-python/libpython-clj[libpython-clj] to call your favorite Python libraries directly from Clojure.
107+
. *Editor* — https://calva.io/[Calva] provides Clojure development in VS Code with interactive REPL, structural editing, and AI integration via https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva-backseat-driver[Backseat Driver]. See the https://clojure.org/guides/editors[editors guide] for more options.
108+
109+
== Glossary
110+
111+
Watched the documentary and want to dig in? Here are a few terms you'll encounter.
112+
113+
[cols="1,3", options="header"]
114+
|===
115+
| Term | Definition
116+
117+
| Lisp
118+
| A family of programming languages that represent code as nested lists enclosed in parentheses. Clojure is a Lisp dialect.
119+
120+
| REPL
121+
| Read-Eval-Print Loop. An interactive session that reads an expression, evaluates it, prints the result, and repeats. Clojure developers use the REPL to build and test programs while they run.
122+
123+
| Functional programming
124+
| A programming style built around functions that take values and return values, minimizing mutable state and side effects.
125+
126+
| Value
127+
| A piece of data that does not change after creation: a number, a string, or a persistent collection. Clojure defaults to values; you opt in to mutable state explicitly when you need it.
128+
129+
| Persistent data structure
130+
| A collection that preserves its previous version when you modify it. Adding an element returns a new collection; the original remains unchanged. "Persistent" here means version-preserving, not stored to disk.
131+
132+
| Accidental complexity
133+
| Difficulty in software caused by your tools and design choices, not by the problem itself. Contrasted with _essential complexity_, which is inherent to the problem domain.
134+
135+
| STM
136+
| Software Transactional Memory. A concurrency model that coordinates shared-state changes through transactions instead of locks.
137+
138+
| Hosted language
139+
| A language designed to run on an existing platform rather than its own runtime. Clojure runs on the JVM, ClojureScript compiles to JavaScript, and ClojureCLR targets the .NET CLR.
140+
|===
141+
142+
== Follow Clojure
143+
144+
https://www.youtube.com/@ClojureTV[YouTube] · https://www.reddit.com/r/Clojure/[Reddit] · http://clojurians.net/?utm_source=clojure.org&utm_medium=show_notes&utm_campaign=clojure_documentary&utm_content=clojurians_slack[Slack] · https://www.linkedin.com/feed/hashtag/clojure/[LinkedIn]
145+
146+
https://2026.clojure-conj.org/?utm_source=clojure.org&utm_medium=show_notes&utm_campaign=clojure_documentary&utm_content=clojure_conj_2026[Clojure/Conj Conference 2026] — September 30 – October 2, Charlotte, NC · https://www.linkedin.com/company/clojure-conj/[LinkedIn]
27147

28148

0 commit comments

Comments
 (0)