3 puan yazan GN⁺ 12 일 전 | 6 yorum | WhatsApp'ta paylaş
  • 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

  • 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
    • Datomicdeğ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
    • NojSciCloj 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ı yolBabashka kurup hemen script yazmaya başlayabilirsiniz; JVM kurulumu gerekmez
  • Web/frontendClojureScript + Shadow CLJS ile başlayın
  • Mobil uygulamalarClojureDart ile Flutter uygulamaları geliştirin
  • Python kullanıcılarılibpython-clj ile Python kütüphanelerini doğrudan çağırın
  • EditörCalva, 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

 
runableapp 11 일 전

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.

 
chebread 11 일 전

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.

 
runableapp 11 일 전

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.

 
chebread 11 일 전

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?

 
runableapp 11 일 전

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.

 
GN⁺ 12 일 전
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ü

    • Bu kısım benim de aklımda kalıyor. Clojure geliştiricileri arasında REPL yerine JVM sürecini sürekli yeniden başlatan çok fazla insan var
      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

    • Şu anda hangi dili kullandığını ve Clojure hakkında ne düşündüğünü merak ediyorum
    • Genel olarak bugün Clojure hakkında ne hissettiğini bilmek isterim
  • 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

    • Web siten gerçekten çok güzel ve çalışmaların da etkileyici
  • 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

    • Neden artık Clojure’u daha az kullandığını merak ediyorum. İş fırsatlarıyla mı ilgili?
      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

    • Eskiden bu yaklaşım bana ağır gelirdi ama şimdi Clojure’un niş bir dil olarak yer edinmesinin sebeplerinden biri olduğunu düşünüyorum
      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ü

    • Evet, Avrupa tarafındaki isimlerin eksik olması da üzücü. Metosin, Juxt, Borkent, Gaiwan(Arne), Flexiana, Peter Strömberg(Calva), Dustin Getz(hyperfiddle/electric), Christophe Grand(ClojureDart), Bojidar(CIDER), Renzo ve daha birçok harika isim var
  • 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

    • Janet’e bakabilirsin. Clojure kadar güçlü değil ama prototipleme ve scripting için harika
    • Jank da ilginç. Henüz erken aşamada ama C/C++ interop hedefliyor
    • Coffi, Java 22(Project Panama)’nin C FFI’si üzerine kurulu ve C ile binding yazmayı çok daha eğlenceli hâle getiriyor
    • Ben de C/C++ ile çok çalışıyorum ama bugünlerde Claude ile Project Panama wrapper’ları ürettirip üstüne Clojure katmanı ekleyince işler epey kolaylaşıyor
  • Datomic’in artık lisans ücreti gerektirmediğini bilmiyordum. Eskiden maliyeti çok yüksek olduğu için kullanmamıştım; ilginçmiş

    • Evet, ayrıca Datomic çeşitli Clojure tabanlı Datalog veritabanlarına ilham verdi
      Ö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)