5 puan yazan GN⁺ 2025-12-03 | 3 yorum | WhatsApp'ta paylaş
  • İlk öğrenilen dilin bıraktığı imprinting etkisi, Ruby'ye karşı kendine özgü bir bağlılık yarattı ve birçok geliştiricinin kusurları bir "karakter" gibi benimsemesine yol açıyor
  • Ruby'yi geç dönemde öğrendiğinizde, süslü dış görünümün altında yatan dinamik tipin açıkları, footgun ve yavaş performans doğrudan ortaya çıkar ve bir önceki nesil gibi his bırakır
  • Twitter'daki Fail Whale olayı ile Scala'ya geçiş, ayrıca 2010'lar boyunca süren Ruby'den kaçış akışı, bu dilin performans sınırlarını doğruladı
  • Rails bir dönemi taçlandırdıysa da bugün bütünleşik felsefesi bir ölçeklenebilirlik duvarına dönüşmüş durumda ve web'in patlayıcı büyümesi içinde artık doğal olarak uyum sağlamıyor
  • Şu anda Ruby'yi destekleyen şey, Rails mirası, ilk dönem imprintini yaşayan geliştiricilerin duygusal bağlılığı ve güzel bir isme duyulan nostaljiden ibarettir

Programlama Dilleri ve “İmprinting”in Gücü

  • Psikolojide sözü edilen imprinting (iz bırakma etkisi) programlamada da benzer biçimde çalışır
    Tıpkı yeni bir kuzu/gaz yavrusunun ilk gördüğünü ebeveyn sanması gibi, ilk öğrenilen dil geliştiricinin sezgisini uzun süre etkiler
  • Ruby, tam da bu imprinting'in en tipik faydalanıcısıdır
    Programlamanın "ilk kez doğal hissettirdiği an" ile bağlantılı olduğu için, dile karşı derin bir bağlılık bırakır
  • Erken öğrenilen bir dilde sevgi kusurları gölgeler, geç öğrenildiğinde ise bulanıklık olmadan yalnızca gerçek yüzü görünür

Ruby'nin Doğuşu ve Özellikleri

  • Ruby, 1995 yılında Japonya'nın Osaka'dan geliştirici Yukihiro Matsumoto (Matz) tarafından oluşturuldu. Ruby, Batı dışı bir bölgede doğan tek başat programlama dilidir
  • Matz'ın nazik kişiliğinden türeyen, MINASWAN (Matz Is Nice And So We Are Nice) adlı topluluk motto suyu vardır
  • Noktalı virgül veya parantez kullanmadan özlü bir sözdizimi sunar; Python'dan bile daha akıcı bir İngilizce gibi okunur
  • Sıklıkla, programlamanın "anlaşıldığı" anı yeni başlayanlara veren bir dil olarak anılır

Ruby'yi Geç Öğrenince Ortaya Çıkan Gerçek Yüz

  • Birkaç dili geçtikten sonra Ruby'ye geçildiğinde, beklenen "zariflik"ten önce bir zamana kalmış savrukluk hissedilir
  • Görünüşü güzel kılmak için tasarlanmış sözdüzimiminin arkasında, dinamik tipin belirsizliği ve öngörülemeyen davranışları kalır
    • Ruby dinamik tipli bir dil olduğundan, küçük projelerde esnektir ancak büyük yapılarda hatalar yalnızca çalışma zamanında ortaya çıkar
  • Python ve JavaScript yıllar içinde tip araçları ve statik analiz ekosistemini (ör. TypeScript, mypy vb.) güçlendirerek gelişti
    • Ruby'de bunun karşılığı olan araçlar az olduğundan, "footgun" (kullanıcının kendine zarar verebilen özellik) olarak adlandırılan risk unsurlarına karşı savunmasız kalır
  • Küçük ölçekte yumuşak görünse de, sistem büyüdükçe hataların yalnızca çalıştırma anında açığa çıkma riski aynen taşınır

Ruby'nin Tutarlı Performans Sınırı

  • Başlıca dil performans karşılaştırmalarında Ruby neredeyse her zaman en alt sırada yer alır
  • Twitter'daki Fail Whale (hata anında görünen balina) dönemi, Ruby tabanlı altyapının sınırını simgeleyen bir olaydı ve 2010 Dünya Kupası sırasındaki büyük kesinti bu sınırın belirginleşmesini sağladı
  • Twitter ardından Scala'ya geçti ve 2014 Dünya Kupası yarı finalinde 32 milyon tweeti sorunsuz işledi; yeni backend öncekinin en fazla 100 kat daha hızlı çalışıyordu
  • 2010'lar boyunca birçok şirket Ruby altyapısından uzaklaştı; kalan bölümler çoğunlukla kalıntı niteliğinde korunuyor

Ruby'nin Kaybettiği Yer

  • Bir zamanlar Ruby ile rekabet eden Python, JavaScript ve Perl, her biri daha net bir alan edindi
    Python yapay zeka, bilim ve eğitim pazarını kapladı; JavaScript ise web'in tamamını ele geçirdi
    Perl gerileme halinde olsa da Ruby'nin onu yerine koyabileceği bir boşluk yoktu
  • Ruby'nin tek başına iyi yaptığı alanlar kayboldukça, bugün belirsiz bir ara bölgede kalıyor

Rails'in Son Dayanak Noktası

  • Ruby'nin gerçek iş yaşamında yaşayan en önemli nedeni Rails'tir
  • Rails, 2004'te DHH tarafından kamuya açıkladıktan sonra Web 2.0 dönemini yönetti ve o dönemde web geliştirmeye ait tüm parçaları tek bir bütünleşik vizyonda sundu
    • Danimarkalı geliştirici David Heinemeier Hansson (DHH), Matz'ın tersine tartışmalı ve karizmatik bir kişilik olarak bilinir
  • Web 2.0'ın ilk yıllarında Rails, veritabanı, ön yüz ve arka ucu bir arada sunan all-in-one paket olarak stüdyo şirketlerinde öne çıktı
    • Airbnb, GitHub, Twitter, Shopify, Stripe gibi şirketler Rails tabanlı olarak başladı
  • Ancak web'in ölçüsü patlayıcı biçimde büyüdükçe Rails'in bütünleşik yapısı bir ölçeklenebilirlik engeline dönüştü
    Frank Lloyd Wright'ın Usonian House'ı gibi, başlangıçta güzel görünürken zamanla neredeyse yeniden düzenlenmesi imkânsız bir yapıya dönüştü

Ruby'nin Düşüşü ve Kalan Güç

  • Stack Overflow Geliştirici Anketinde Ruby, 2013'te ilk 10'dan 2025'te 18. sıraya geriledi ve Assembly'nin bile gerisine düştü
  • Yeni geliştiriciler Python ve JavaScript'e yönelirken Ruby, geçmişi hatırlayan bazı geliştiricilerin dili olarak kalıyor
  • Bugün Ruby'yi destekleyen şey Rails mirası, ilk dönemden etkilenen geliştiricilerin duygusal bağlılığı ve "güzel ve okunması kolay sözdizimi"ne dair duygusal imajdir
  • Ancak yalnızca duygularla bir dilin konumunu yeniden yükseltmek mümkün değil; gerçeklik şimdi Ruby'den daha hızlı, daha güvenli ve daha ölçeklenebilir araçlara geçmiş durumda

3 yorum

 
roxie 2025-12-03

Dayanakları o kadar zayıf ki, insanı afallatan bir yazı...

 
GN⁺ 2025-12-03
Hacker News görüşü
  • Alternatif bağlantı archive.is/O7rEl

  • Yazıda öne sürülen gerekçelerin “hoşuma gitmiyor”, “dinamik tipleme olduğu için sevmiyorum”, “Twitter eskiden çökmüştü”, “yavaş”, “Stack Overflow anketinde sadece ilk 20’ye giriyor” düzeyinde olması bana oldukça zayıf geldi

    • Yazının kendisinin clickbait olduğu açık diye düşünüyorum. Bunu başlıktan da, ilk birkaç paragraftaki “imprinting” hikâyesinden de anlayabiliyorsunuz
      İlk dilim BASIC, ikincisi Z80A ve 6502 için assembly, üçüncüsü de Pascal’dı. Ama hiçbir dil zevkimi sonsuza kadar belirlemedi
      Asıl şekillendirici deneyim, üniversitede bir hocanın “BASIC öğrenenler ömür boyu bozuk programcı olur” demesiydi. O anda, otorite sahibi insanların da önyargılarıyla başkalarına zarar verebileceğini öğrendim
      Sonuçta bu yazı, yazarın ne kadar zeki olduğunu göstermeye çalışma girişimi gibi duruyor. Steve Yegge yazıları gibi eğlenceli okunabilir ama Yegge en azından daha fazla şey anlatıyordu
    • Ruby’nin “ciddi bir dil olmadığına” dair ortada hiçbir kanıt yok. Yazar sadece Ruby’nin adını sevmediğini söylüyor
      Eğer iddiası doğru olsaydı, böyle saldırgan bir yazı yazmasına gerek kalmazdı. Ruby ile gerçekten pek çok şey üretildiği ve dilin gelişmeye devam ettiği gerçeği buna karşı argüman oluşturuyor
    • Bjarne Stroustrup’un şu sözü aklıma geliyor: “İki tür dil vardır: insanların şikâyet ettiği diller ve kimsenin kullanmadığı diller”
    • Ayrıca birinin kişiliğine yönelik antipati de sanki dil değerlendirmesine yansıyor
  • Ben de yazıya tamamen karşı değilim ama bu ölçütlerle Python, JS, C++ gibi çoğu “profesyonel dil” için de aynı eleştiriler yazılabilir
    “Computing is pop culture” sözü hâlâ geçerli ve Wired gibi bir yayında böyle bir yazının çıkması da bunun kanıtı

  • Sonuna kadar okudum ama Ruby kullanmamak için somut bir neden yoktu.
    İçerik, birkaç saat içinde ChatGPT ile üretilmiş bir gazetecilik fiyaskosu gibi hissettirdi. Muhtemelen yazarın karşılaştığı ilk Ruby kod tabanı özellikle berbattı

  • Wired’ın okunmaya değer bir dergi olduğu zamanlar vardı galiba ama artık ne zaman olduğunu bile hatırlamıyorum

    • Sanırım son kez 1995 civarı öyleydi
  • Scala’ya yeniden yazmanın iş açısından iyi bir karar olduğunu sanmıyorum. 15 yıl sonra bugün Scala’nın popülerliği Ruby’den çok daha düşük. Şimdi ne kullandıklarını da bilmiyorum

  • Bu resmen paywall için clickbait bir yazı gibi

  • Bu sayede unuttuğum Wired aboneliğimi iptal etmem gerektiğini hatırladım

    • Evet. Eğer bu, AI tarafından üretilmiş özensiz bir yazıysa, benzerini ChatGPT’de zaten her zaman görebiliriz