Resmi Clojure Belgeseli
(clojure.org)- Clojure'un küresel fintech şirketlerinin altyapı dili olarak büyüme sürecini ele alan 1 saatlik resmi belgesel videosu yayımlandı
- Clojure'un benzersiz kökenlerini, değer odaklı topluluğunu ve yazılım düşünme biçimi üzerindeki etkisini izleyerek tanıtıyor
- YouTube bağlantısı: Bir programcının hobi projesi yazılım hakkında düşünme biçimimizi nasıl değiştirdi
- Gösteri notlarında Clojure'un temelini oluşturan ana makaleler, kitaplar, konuşmalar ve şirket örnekleri derlenmiş durumda
- Clojure, ClojureScript, ClojureCLR gibi çalışma zamanları ile Babashka, Jank, ClojureDart gibi genişletme projeleri de birlikte tanıtılıyor
- Resmi sayfa, yapay zeka araçları, veri bilimi, editör entegrasyonu ve topluluk kanalları dahil Clojure ekosistemi için kapsamlı bir merkez görevi görüyor
Belgesel özeti
- Clojure belgeseli, Rich Hickey'nin 2 yıllık izni ve inatçı bir fikirle başlayıp dünyanın en büyük fintech şirketlerinden birinin mühendislik yığınını çalıştıran bir teknolojiye dönüşme sürecini ele alıyor
- Rich Hickey, Alex Miller, Stuart Halloway gibi önemli isimler yer alıyor; Clojure'un alışılmadık kökenlerini, değer odaklı topluluğunu ve yazılım düşünme biçimi üzerindeki etkisini inceliyor
- Belgesel, Nubank sponsorluğunda hazırlandı
Gösteri notları
-
Temel araştırma makaleleri
- Out of the Tarpit (2006) — Ben Moseley & Peter Marks, yazılımdaki değiştirilebilir durumun rastlantısal karmaşıklığın başlıca nedeni olduğuna işaret ediyor
- Ideal Hash Trees — Phil Bagwell, Hash Array Mapped Tries (HAMTs) çalışmasıyla Clojure'un kalıcı veri yapıları için doğrudan ilham sağladı
- Composable Memory Transactions (2005) — Tim Harris ve diğerleri, Software Transactional Memory (STM) kavramını sunarak Clojure'un eşzamanlılık modelini etkiledi
- Paper Bibliography — Rich Hickey'nin Clojure geliştirirken başvurduğu makalelerin listesi, Michael Fogus tarafından derlendi
-
Etkili kitaplar
- On Lisp — Paul Graham, ileri düzey Lisp tekniklerini ele alan önemli bir eser, çevrimiçi ücretsiz sunuluyor
- Programming Clojure (4th ed.) — Alex Miller, Stuart Halloway, Aaron Bedra ortak yazımı; ilk baskı Clojure 1.0 ile birlikte yayımlandı
- The Joy of Clojure — Michael Fogus & Chris Houser
-
Rich Hickey'nin önemli konuşmaları
- Simple Made Easy (2011) — "simple" ile "easy" arasındaki farkı tanımlayan ikonik konuşma
- Clojure at LispNYC (2007) — Clojure'un ilk kamuya açık sunumu
- Are We There Yet? (2009) — Clojure'un durum modeli ile programlamada zaman kavramını analiz ediyor
- Hammock Driven Development (2010) — Kod yazmadan önce problemi derinlemesine düşünme yaklaşımını vurguluyor
- The Value of Values (2012) — değiştirilemez değerlerin (immutable values) önemini vurguluyor
- Writing Datomic in Clojure (2012) — Datomic'in neden Clojure ile yazıldığını açıklıyor
- Effective Programs - 10 Years of Clojure (2017) — Clojure'un 10 yıllık gelişimini ve gerçek sorun çözümüne odaklı özellik önceliklerini geriye dönük değerlendiriyor
- Talk Transcripts — Rich Hickey ve topluluktan konuşmaların arşivi
- Rich Hickey Talks — Rich'in konuşma videolarından oluşan oynatma listesi
-
Paul Graham'ın denemeleri
- Beating the Averages, Revenge of the Nerds ve diğer deneme derlemesi
-
Başlıca şirketler ve projeler
- Cognitect — Uzun yıllar boyunca Clojure'u yöneten danışmanlık şirketi
- Nubank — Dünyanın en büyük bağımsız dijital bankası; temel altyapısını Clojure ve Datomic ile çalıştırıyor, 2020'de Cognitect'i satın aldıktan sonra Clojure geliştirmesine öncülük etti
- Datomic — değiştirilemez olgulara (immutable facts) dayalı dağıtık veritabanı; Rich Hickey ve Cognitect tarafından tasarlandı
-
Topluluk ve arşiv materyalleri
- Java.next Blog Series (2008) — JVM dil eğilimlerini ele alan Stuart Halloway blog serisi
- Clojure IRC Log Archive — ilk dönem Clojure IRC kanalının korunmuş kayıtları
- Clojure Etiquette — Rich'in e-posta listesi yazılarından doğan topluluk görgü kuralları rehberi
Clojure lehçeleri ve çalışma zamanları
-
Çekirdek
- Clojure — JVM üzerinde çalışır; resmi başlangıç kılavuzu ve ücretsiz giriş kitabı Brave Clojure sunuluyor
- ClojureScript — JavaScript'e derlenir ve Reagent, Re-frame gibi frontend kütüphanelerini destekler
- ClojureCLR — .NET CLR üzerinde çalışan Clojure
-
Genişletmeler
- Babashka — JVM açılış süresi olmadan hızlı script yazımını destekler
- Jank — LLVM'i hedefleyen yerel derleyici
- ClojureDart — Flutter tabanlı mobil uygulama geliştirme için
- Squint / Cherry — ES modüllerine derlenen ClojureScript varyantları
- Other Clojure-like projects — diğer benzer projelerin listesi sunuluyor
-
Veri bilimi
- libpython-clj — Clojure içinden NumPy, pandas, scikit-learn gibi Python kütüphanelerini doğrudan çağırır
- Noj — SciCloj tarafından geliştirilen Clojure yerel veri bilimi araç takımı; dataframe, görselleştirme ve makine öğrenimini birleştirir
- Tablecloth — Python entegrasyonu ile Clojure dataframe yaklaşımını birleştirir
-
Clojure ve yapay zeka
- ECA (Editor Code Assistant) — kod düzenleme yardım aracı
- Backseat Driver — Copilot için Clojure aracı
- ClojureMCP — Claude, Codex, Gemini gibi yapay zeka asistanlarını REPL'e bağlayan MCP sunucusu
- MCP-nREPL — Babashka tabanlı minimal MCP sunucusu; kodlama ajanlarına nREPL erişimi sağlar
- clojure-mcp-light — LLM kodlama asistanları için hafif CLI aracı
- #ai-assisted-coding (Clojurians Slack) — yapay zeka ve Clojure geliştirme üzerine etkin bir topluluk kanalı
Başlangıç
- Tam deneyim — macOS, Linux ve Windows için kurulum videoları içeren resmi kılavuz sunuluyor; VS Code üzerinde Calva kullanılıyor
- En hızlı yol — Babashka kurup hemen script yazmaya başlayabilirsiniz; JVM kurulumu gerekmez
- Web/frontend — ClojureScript + Shadow CLJS ile başlayın
- Mobil uygulamalar — ClojureDart ile Flutter uygulamaları geliştirin
- Python kullanıcıları — libpython-clj ile Python kütüphanelerini doğrudan çağırın
- Editör — Calva, VS Code üzerinde REPL, yapısal düzenleme ve yapay zeka entegrasyonu (Backseat Driver) desteği sunar; editör kılavuzu bakılabilir
Sözlük
- Lisp — kodu parantezlerle çevrili iç içe listeler şeklinde ifade eden bir dil ailesi; Clojure, Lisp'in bir lehçesidir
- REPL — Read-Eval-Print Loop; ifadeleri okuyup değerlendirerek sonucu çıktılayan etkileşimli oturum
- Fonksiyonel programlama — değiştirilebilir durumu ve yan etkileri en aza indiren, fonksiyon merkezli programlama yaklaşımı
- Değer (Value) — oluşturulduktan sonra değişmeyen veri; Clojure varsayılan olarak değiştirilemez değerler kullanır
- Kalıcı veri yapısı (Persistent Data Structure) — değişiklik sırasında önceki sürümü koruyan koleksiyon; buradaki "persistent" sürüm koruma anlamındadır
- Rastlantısal karmaşıklık (Accidental Complexity) — problemin kendisinden değil, araçlardan veya tasarım seçimlerinden kaynaklanan karmaşıklık
- STM (Software Transactional Memory) — paylaşılan durum değişikliklerini kilitler yerine işlemlerle koordine eden eşzamanlılık modeli
- Hosted language — kendi çalışma zamanı yerine mevcut bir platform üzerinde çalışan dil; Clojure JVM'de, ClojureScript JS üzerinde, ClojureCLR ise .NET'te çalışır
Clojure'u takip etme ve topluluk
- YouTube, Reddit, Slack, LinkedIn gibi resmi kanallar işletiliyor
- Clojure/Conj Conference 2026 — 30 Eylül - 2 Ekim 2026 tarihleri arasında ABD'nin Kuzey Karolina eyaletindeki Charlotte'ta düzenlenecek
6 yorum
Clojure’un çıkmasının üzerinden epey zaman geçti ama Clojure’un yeniden konuşulmasının nedenini merak ediyorum.
Clojure ilk çıktığında bir kitabını inceleme deneyimim olmuştu. Sonrasında bunu kullanmayı deneyen birkaç şirket gördüm, ancak vardıkları sonuç şirketlerde kullanmanın kolay olmadığı yönündeydi. Sonra sanki unutulup gidecekmiş gibi görünüyordu; şimdi yeniden gündeme gelmesinin sebebinin ne olduğunu merak ediyorum.
Java’yı ilk dönemlerinden beri uzun yıllardır kullanıyorum ama artık JVM, büyük şirketlerde daha önce geliştirilmiş çok sayıda yazılımın Java olması, (ABD örneğinde) Hindistan’dan gelen iş gücünün çoğunlukla Java bilmesi, liseden üniversiteye kadar Java öğretilmesi gibi nedenlerle hâlâ çok kullanılsa da, bana göre artık bu çağa uygun değil. Lisp’i seviyorum ama oldukça niş bir dilin ve gerilemekte olan JVM yaklaşımının bu yapay zeka çağında yeniden anılmasının hangi avantajları öne çıkardığını yukarıdaki yazıda göremedim.
Fonksiyonel programlama dilini tam anlamıyla hiç öğrenmedim; Clojure ile başlamayı düşünüyorum, sizce nasıl çalışmalıyım? Geliştiricilerden bolca tavsiye rica ediyorum.
Benim deneyimim ve birçok kişinin vardığı sonuç, fonksiyonel dillerin saf fonksiyonel bir dille çalışılması gerektiğinin doğru yaklaşım olduğuydu.
Bu, fonksiyonel dillerin öne çıktığı ve epey ilgi gördüğü dönemde söylenmiş bir şeydi; ben de buna katılıyordum. Erlang ile onun ilk çıktığı dönemde çalıştım ve o zamanlar oldukça sarsıcı ve şaşırtıcı bir deneyimdi.
Peki, saf fonksiyonel programlama dilini nasıl öğrendiniz? Ben şimdiye kadar programlama dillerini (C, Go, Python vb.) geliştirme kitapları + yan projelerle öğrendim; fonksiyonel programlama dilleri için de böyle bir öğrenme yaklaşımını izlemek uygun olur mu?
Kişiden kişiye değişir ama sanırım bilgisayar alanındaki öğrenimi herkes sizin bahsettiğiniz yöntemle yapmıyor mu? Bu aralar videoyla çalışma seçeneği de var, bu yüzden kendinize uygun öğrenme yöntemiyle ilerlemek gerekir.
Hacker News görüşleri
Clojure, kariyerimde olan en iyi şeydi
Bu dil sayesinde maaşım iki katına çıktı ve daha istikrarlı bir sektöre geçebildim
Heart of Clojure konferansındaki kapsayıcı atmosfer gerçekten şaşırtıcıydı. Topluluk hâlâ çok canlı; özellikle düşük seviyeli işler için bir Clojure lehçesi oluşturan Jank topluluğunun tutkusu etkileyici
Sorun şu ki çoğu şirket, dilin istikrarı ya da samimiyetinden çok geliştiriciyi kolayca değiştirebilmeyi önemsiyor. Sonuçta kalite düşüyor ve AI ile insanları değiştirmeye çalışırken şirketi kendi elleriyle batıran bir kısır döngü oluşuyor
Clojure’u ticari olarak kullanırken şaşırdığım şey, birçok geliştiricinin dilin felsefesini, Rich Hickey’nin konuşmalarını ya da REPL kullanımını bile bilmemesiydi. Buna rağmen Clojure kod tabanını yöneten konumda olmaları düşündürücüydü
Benim Clojure’a geçme nedenim zaten kısa geri bildirim döngüsüydü; bundan yararlanmayacaksan neden bu dili kullandığını anlamıyorum
Clojure sayesinde son 10 yıldır tek kuruculu bir girişimci olarak sürdürülebilir bir iş yürütebildim
İstemci ve sunucu iş mantığının büyük kısmını paylaştığı için karmaşık bir kod tabanını yönetmek kolaydı
En önemlisi, dil ve ortam istikrar odaklı olduğu için diğer dillerde olduğu gibi birkaç yılda bir zeminin ayaklarımın altından kayması gibi bir durum olmadı
Clojure yeni ya da göz alıcı bir dil değil ama uzun vadede güvenilebilecek bir yol arkadaşı
Eskiden her gün Clojure ile kod yazardım ve Clojure/Conj’de Rich Hickey ile akşam yemeği yeme anım var
İlk startup’ımı da tamamen Clojure ile kurdum; AWS’nin daha birkaç servisi olduğu dönemde Clojure’u JS’ye derleyip Lambda’da çalıştıran erken deneycilerden biriydim
İlgili videoları izleme fikri bile beni hâlâ heyecanlandırıyor
2013’ten beri Clojure kullanıyorum ve hayatım üzerinde çok olumlu bir etkisi oldu
Ben biraz alışılmadık bir kullanıcıyım; sanatsal işlerimin çoğu Clojure ile üretildi
Bir startup yürütürken de Clojure sayesinde tükenmişlikten kaçınabildim
Topluluk faaliyetleri de büyük bir keyifti; pek çok insanın adanmışlığı için minnettarım
Clojure harika bir dil ve ekosistem
Başlarda Rich’in projesine bağış yapmıştım ve birkaç yıl Clojure geliştirerek para kazandım
Artık çok sık kullanmıyorum ama iki saat önce bile eski bir Clojure kitabındaki örnekleri güncellerken keyif alıyordum
Ayrıca Python ile interop iyi olmasına rağmen neden daha yaygın kullanılmadığını ve Clojure’un ML/AI uygulamaları için uygun olup olmadığını merak ediyorum
JVM üzerinde Clojure, en sevdiğim alternatif dil
Lisp geleneğini sürdürürken, JVM’yi yeniden inşa etmeye kalkmak yerine ev sahibi platformu benimseyen felsefesi çok çekici geliyor
Zig de benzer bir yaklaşım izliyor; bu tür bir entegrasyon felsefesinin benimsenme oranını ve pratikliği artıran kilit nokta olduğunu hissediyorum
Gerçekten harika. Yalnız borkdude’un yer almaması üzücü
jwr’nin “stable long-term companion” ifadesi aklımda kaldı
Çalıştığım şirketlerden yeniliğin peşinden koşanlar sonunda migration’a daha fazla zaman harcadı
İstikrar kulağa sıkıcı gelebilir ama küçük bir ekibin uzun süre ayakta kalmasının tek yolu bu
Clojure’u severek kullandım ama yaptığım işlerin çoğu C diliyle etkileşim gerektirdiği için onu ana dilim yapmam zordu
Datomic’in artık lisans ücreti gerektirmediğini bilmiyordum. Eskiden maliyeti çok yüksek olduğu için kullanmamıştım; ilginçmiş
Örneğin: Datalevin, Datahike, Asami
XTDB de var ama Datalog’dan vazgeçip başka bir yöne ilerledi
Karşılaştırma sitesi de mevcut: Clojurelog (biraz eski)