- Video dokumenter resmi berdurasi 1 jam telah dirilis, membahas bagaimana Clojure tumbuh menjadi bahasa infrastruktur bagi fintech global
- Menelusuri dan memperkenalkan asal-usul unik Clojure, komunitas yang berpusat pada nilai, serta pengaruhnya terhadap cara berpikir tentang perangkat lunak
- Tautan YouTube: How a programmer's pet project changed the way we think about software
- Show notes merangkum makalah inti, buku, ceramah, dan studi kasus perusahaan yang menjadi fondasi Clojure
- Juga memperkenalkan runtime seperti Clojure, ClojureScript, ClojureCLR serta proyek ekstensi seperti Babashka, Jank, ClojureDart
- Halaman resminya berperan sebagai hub komprehensif ekosistem Clojure, mencakup alat AI, data science, integrasi editor, dan kanal komunitas
Ringkasan dokumenter
- Dokumenter Clojure membahas bagaimana Clojure bermula dari masa cuti panjang dua tahun Rich Hickey dan sebuah ide yang keras kepala, lalu berkembang hingga menjalankan stack engineering salah satu perusahaan fintech terbesar di dunia
- Tokoh-tokoh utama seperti Rich Hickey, Alex Miller, dan Stuart Halloway tampil, mengeksplorasi asal-usul Clojure yang tidak konvensional, komunitas yang berpusat pada nilai, serta pengaruhnya terhadap cara berpikir tentang perangkat lunak
- Dokumenter ini diproduksi dengan dukungan Nubank
Show notes
-
Makalah riset dasar
- Out of the Tarpit (2006) — Ben Moseley & Peter Marks, menunjukkan bahwa mutable state dalam perangkat lunak adalah penyebab utama kompleksitas insidental
- Ideal Hash Trees — Phil Bagwell, riset tentang Hash Array Mapped Tries (HAMTs) yang memberi inspirasi langsung bagi struktur data persisten Clojure
- Composable Memory Transactions (2005) — Tim Harris dkk., memperkenalkan konsep Software Transactional Memory (STM) yang memengaruhi model konkurensi Clojure
- Paper Bibliography — daftar makalah yang dirujuk Rich Hickey saat mengembangkan Clojure, disusun oleh Michael Fogus
-
Buku berpengaruh
- On Lisp — Paul Graham, buku penting tentang teknik Lisp tingkat lanjut, tersedia gratis secara online
- Programming Clojure (4th ed.) — ditulis bersama oleh Alex Miller, Stuart Halloway, dan Aaron Bedra, edisi pertama terbit bersama Clojure 1.0
- The Joy of Clojure — karya Michael Fogus & Chris Houser
-
Ceramah utama Rich Hickey
- Simple Made Easy (2011) — ceramah ikonik yang mendefinisikan perbedaan antara "simple" dan "easy"
- Clojure at LispNYC (2007) — presentasi publik pertama Clojure
- Are We There Yet? (2009) — analisis model state Clojure dan konsep waktu dalam pemrograman
- Hammock Driven Development (2010) — menekankan pendekatan berpikir mendalam tentang masalah sebelum menulis kode
- The Value of Values (2012) — menekankan pentingnya immutable values
- Writing Datomic in Clojure (2012) — menjelaskan alasan Datomic ditulis dengan Clojure
- Effective Programs - 10 Years of Clojure (2017) — refleksi atas perkembangan 10 tahun Clojure dan prioritas fitur yang berfokus pada pemecahan masalah nyata
- Talk Transcripts — arsip transkrip ceramah Rich Hickey dan komunitas
- Rich Hickey Talks — playlist kumpulan video ceramah Rich
-
Esai Paul Graham
-
Perusahaan dan proyek utama
- Cognitect — perusahaan konsultan yang lama mengelola Clojure
- Nubank — bank digital independen terbesar di dunia, menjalankan infrastruktur intinya dengan Clojure dan Datomic, lalu memimpin pengembangan Clojure setelah mengakuisisi Cognitect pada 2020
- Datomic — database terdistribusi berbasis immutable facts, dirancang oleh Rich Hickey dan Cognitect
-
Materi komunitas dan arsip
- Java.next Blog Series (2008) — seri blog Stuart Halloway tentang tren bahasa JVM
- Clojure IRC Log Archive — arsip rekaman kanal IRC Clojure awal
- Clojure Etiquette — panduan etika komunitas yang berasal dari posting Rich di mailing list
Dialek dan runtime Clojure
-
Inti
- Clojure — berjalan di JVM, menyediakan panduan memulai resmi dan buku pengantar gratis Brave Clojure
- ClojureScript — dikompilasi ke JavaScript dan mendukung library frontend seperti Reagent dan Re-frame
- ClojureCLR — Clojure yang berjalan di .NET CLR
-
Ekstensi
- Babashka — mendukung scripting cepat tanpa waktu startup JVM
- Jank — compiler native yang menargetkan LLVM
- ClojureDart — untuk pengembangan aplikasi mobile berbasis Flutter
- Squint / Cherry — varian ClojureScript yang dikompilasi menjadi modul ES
- Other Clojure-like projects — menyediakan daftar proyek serupa lainnya
-
Data science
- libpython-clj — memanggil langsung library Python seperti NumPy, pandas, scikit-learn dari Clojure
- Noj — toolkit data science native Clojure yang dikembangkan SciCloj, mengintegrasikan dataframe, visualisasi, dan machine learning
- Tablecloth — menggabungkan interoperabilitas Python dengan dataframe Clojure
-
Clojure dan AI
- ECA (Editor Code Assistant) — alat bantu pengeditan kode
- Backseat Driver — alat Clojure untuk Copilot
- ClojureMCP — server MCP yang menghubungkan assistant AI dan REPL seperti Claude, Codex, dan Gemini
- MCP-nREPL — server MCP minimal berbasis Babashka yang memberi agen coding akses ke nREPL
- clojure-mcp-light — alat CLI ringan untuk assistant coding berbasis LLM
- #ai-assisted-coding (Clojurians Slack) — kanal komunitas aktif terkait AI dan pengembangan Clojure
Memulai
- Pengalaman lengkap — panduan resmi menyediakan video instalasi untuk macOS, Linux, dan Windows, menggunakan Calva di VS Code
- Jalur tercepat — instal Babashka dan langsung mulai scripting, tanpa perlu konfigurasi JVM
- Web/frontend — mulai dengan ClojureScript + Shadow CLJS
- Aplikasi mobile — kembangkan aplikasi Flutter dengan ClojureDart
- Pengguna Python — panggil langsung library Python melalui libpython-clj
- Editor — Calva mendukung REPL, pengeditan struktural, dan integrasi AI (Backseat Driver) di VS Code, lihat panduan editor
Glosarium
- Lisp — keluarga bahasa yang merepresentasikan kode sebagai nested list yang dibungkus tanda kurung; Clojure adalah salah satu dialek Lisp
- REPL — Read-Eval-Print Loop, sesi interaktif yang membaca ekspresi, mengevaluasinya, lalu menampilkan hasil
- Pemrograman fungsional — gaya pemrograman yang meminimalkan mutable state dan efek samping, serta berpusat pada fungsi
- Value — data yang tidak berubah setelah dibuat; Clojure pada dasarnya menggunakan nilai yang immutable
- Persistent Data Structure — koleksi yang mempertahankan versi sebelumnya saat dimodifikasi; "persistent" di sini berarti pelestarian versi
- Accidental Complexity — kompleksitas yang muncul bukan dari masalah inti, melainkan dari alat atau pilihan desain
- STM (Software Transactional Memory) — model konkurensi yang mengoordinasikan perubahan shared state dengan transaksi alih-alih lock
- Hosted Language — bahasa yang berjalan di atas platform yang sudah ada, bukan runtime miliknya sendiri; Clojure berjalan di JVM, ClojureScript di JS, dan ClojureCLR di .NET
Mengikuti Clojure dan komunitas
- Mengelola kanal resmi seperti YouTube, Reddit, Slack, dan LinkedIn
- Clojure/Conj Conference 2026 — dijadwalkan berlangsung di Charlotte, North Carolina, AS, pada 30 September hingga 2 Oktober 2026
6 komentar
Clojure sudah muncul sejak cukup lama, jadi saya penasaran kenapa pembicaraan tentang Clojure kembali muncul lagi.
Saya pernah punya pengalaman mengulas sebuah buku pada masa-masa awal Clojure muncul. Setelah itu saya melihat beberapa perusahaan mencoba menggunakannya, tetapi kesimpulannya adalah bahasa ini tidak mudah dipakai di lingkungan perusahaan. Lalu sempat terasa seperti tenggelam dan dilupakan, jadi saya pun bertanya-tanya mengapa sekarang kembali dibicarakan.
Saya sendiri sudah memakai Java sejak masa awal dan dalam waktu yang lama, tetapi JVM sampai sekarang masih banyak dipakai karena perusahaan besar sudah punya banyak perangkat lunak yang dikembangkan dengan Java, lalu (dalam kasus Amerika Serikat) sebagian besar tenaga kerja dari India memakai Java, dan juga karena Java diajarkan dari SMA hingga universitas, dan seterusnya. Namun menurut pendapat saya, di era sekarang ini Java sudah tidak terlalu cocok lagi. Saya suka Lisp, tetapi saya tidak menemukan dalam tulisan di atas poin apa yang membuat bahasa yang cukup minor seperti ini, bersama pendekatan JVM yang terasa mulai meredup, kembali disorot sebagai keunggulan di era AI saat ini.
Saya belum pernah benar-benar belajar bahasa pemrograman fungsional, jadi saya berpikir untuk mulai dengan Clojure. Bagaimana sebaiknya saya belajar? Mohon banyak saran dari para developer.
Pengalaman saya dan kesimpulan banyak orang adalah bahwa pendekatan yang tepat untuk mempelajari bahasa fungsional adalah mempelajarinya melalui bahasa fungsional murni.
Ini adalah pandangan yang muncul saat bahasa fungsional mulai naik daun dan ketika sempat mendapat banyak perhatian, dan saya juga setuju dengan itu. Saya mempelajarinya melalui Erlang pada masa awal kemunculannya, dan saat itu itu merupakan pengalaman yang cukup mengejutkan dan menakjubkan.
Kalau begitu, bagaimana Anda mempelajari bahasa pemrograman fungsional murni? Selama ini saya mempelajari bahasa pemrograman (C, Go, Python, dll.) melalui buku pemrograman + proyek sampingan; apakah untuk bahasa pemrograman fungsional juga tidak masalah jika mengikuti arah belajar seperti ini?
Mungkin berbeda untuk tiap orang, tetapi rasanya pembelajaran di bidang komputer umumnya memang dilakukan dengan cara yang Anda sebutkan. Belakangan ini juga ada opsi belajar lewat video, jadi sebaiknya memilih metode belajar yang paling cocok untuk diri sendiri.
Komentar Hacker News
Clojure adalah hal terbaik yang pernah terjadi dalam karier saya
Berkat bahasa ini, gaji saya naik dua kali lipat dan saya bisa pindah ke industri yang lebih stabil
Suasana inklusif di konferensi Heart of Clojure benar-benar luar biasa. Komunitasnya masih aktif sampai sekarang, dan semangat komunitas Jank yang membuat dialek Clojure untuk pekerjaan tingkat rendah sangat mengesankan
Masalahnya, kebanyakan perusahaan lebih mementingkan kemudahan mengganti developer daripada stabilitas atau ketulusan sebuah bahasa. Akibatnya kualitas menurun, lalu mereka mencoba menggantinya dengan AI dan akhirnya merusak perusahaan mereka sendiri dalam siklus buruk
Hal yang mengejutkan saya saat memakai Clojure secara komersial adalah banyak developer bahkan tidak tahu filosofi bahasanya, ceramah Rich Hickey, atau cara memakai REPL. Meski begitu, mereka tetap berada di posisi untuk mengelola codebase Clojure, dan itu terasa aneh
Alasan saya pindah ke Clojure justru karena feedback loop yang pendek, jadi kalau itu tidak dimanfaatkan, saya tidak tahu kenapa bahasa ini dipakai
Berkat Clojure, selama 10 tahun terakhir saya bisa menjalankan bisnis yang berkelanjutan sebagai pendiri solo
Karena klien dan server berbagi sebagian besar logika bisnis, bahkan codebase yang kompleks pun tetap mudah dikelola
Yang terpenting, bahasa dan ekosistemnya berfokus pada stabilitas, jadi tidak seperti bahasa lain yang membuat tanah di bawah kaki terasa goyah setiap beberapa tahun
Clojure memang bukan bahasa yang baru atau berkilau, tetapi ia adalah pendamping jangka panjang yang bisa diandalkan
Dulu saya menulis kode dengan Clojure setiap hari, dan saya ingat pernah makan malam bersama Rich Hickey di Clojure/Conj
Startup pertama saya juga dibangun sepenuhnya dengan Clojure, dan saat AWS masih punya sedikit layanan, saya termasuk eksperimentator awal yang mengompilasi Clojure ke JS lalu menjalankannya di Lambda
Sampai sekarang pun saya senang membayangkan menonton video terkait topik ini
Saya sudah memakai Clojure sejak 2013, dan bahasa ini memberi dampak yang sangat positif pada hidup saya
Saya pengguna yang agak tidak ortodoks; sebagian besar karya seni saya dibuat dengan Clojure
Saat menjalankan startup pun, Clojure membantu saya menghindari burnout
Kegiatan komunitasnya juga sangat menyenangkan, dan saya berterima kasih atas dedikasi begitu banyak orang
Clojure adalah bahasa dan ekosistem yang luar biasa
Pada masa awal saya pernah berdonasi ke proyek Rich, dan selama beberapa tahun saya menghasilkan uang dari pengembangan Clojure
Sekarang saya tidak terlalu sering memakainya, tetapi dua jam lalu pun saya masih menikmati memperbarui contoh dari buku Clojure lama
Dan apakah menurut Anda Clojure cocok untuk aplikasi ML/AI, serta mengapa bahasa ini tidak dipakai lebih luas meski interop dengan Python bagus?
Di atas JVM, Clojure adalah bahasa alternatif favorit saya
Ia mewarisi tradisi Lisp, tetapi yang menarik adalah filosofinya yang merangkul platform host, alih-alih omong kosong ingin membangun ulang JVM dari nol
Zig juga mengambil pendekatan serupa, dan saya merasa filosofi integrasi semacam ini adalah poin penting yang meningkatkan adopsi dan kepraktisan
Benar-benar hebat. Hanya saja saya kecewa karena borkdude tidak ikut dimasukkan
Ungkapan jwr, “stable long-term companion”, benar-benar membekas buat saya
Perusahaan-perusahaan tempat saya bekerja yang hanya mengejar hal baru pada akhirnya justru menghabiskan lebih banyak waktu untuk migrasi
Stabilitas memang terdengar membosankan, tetapi itu satu-satunya cara agar tim kecil bisa bertahan lama
Saya senang memakai Clojure, tetapi sebagian besar pekerjaan saya menuntut interaksi dengan bahasa C, jadi sulit menjadikannya bahasa utama
Saya tidak tahu kalau Datomic sekarang gratis untuk lisensi. Dulu saya tidak memakainya karena biayanya terlalu tinggi, jadi ini menarik
Contohnya: Datalevin, Datahike, Asami
Ada juga XTDB, tetapi ia meninggalkan Datalog dan bergerak ke arah lain
Ada juga situs perbandingan: Clojurelog (agak lama)