2 puan yazan GN⁺ 2025-02-10 | 1 yorum | WhatsApp'ta paylaş
  • Jonathan Blow'un argümanının özeti

    • Nesiller arasında bilgi aktarımı seyreltiliyor.
    • Teknolojiyi sürdürmede teoriye kıyasla pratik daha önemli.
    • Dünyayı yazılım işletiyor.
    • Soyutlama, düşük seviyeli programlama konusundaki cehaleti teşvik ediyor.
    • Düşük seviye bilgi unutulursa kritik yazılımlar sürdürülemez ve uygarlık çöker.
  • Eleştiri ve karşı argümanlar

    • Blow'un iddiasında çok sayıda hata ve yanlış anlama var.
    • Bilginin doğruluğu önemlidir ve Blow'un aktardıkları birçok açıdan yanlış.
    • "Five nines" (%99,999 erişilebilirlik) metriği hâlâ kullanılıyor.
    • Sağlam yazılımlar hâlâ var ve teknolojik ilerleme sürüyor.
    • Soyutlamanın yetenek kaybına yol açtığı iddiası abartılı.
  • Teknolojik ilerleme ve soyutlama

    • Pek çok programcı bellek yönetimi ve pointer'larla uğraşmak istemiyor.
    • C ve assembly kodu yazan hâlâ çok sayıda insan var.
    • Rust gibi yeni diller sağlamlığa odaklanıyor.
    • Soyutlama, yeni teknolojilerin gelişmesine katkı sağlıyor.
  • Facebook'un üretkenlik tartışması

    • Facebook'un asıl ürünü bir reklam dağıtım platformu.
    • Çok sayıda programcı reklam sistemlerini iyileştirmeye katkıda bulunuyor.
  • Geçmiş ile bugünün karşılaştırması

    • Geçmişteki yazılım geliştirme ortamı ile bugünkü ortam çok farklı.
    • Modern bilgisayarlar geçmiştekilerden çok daha sağlam.
    • Kullanıcı beklentileri yükseldikçe yazılım karmaşıklığı da artıyor.
  • Soyutlama ve bilgi kaybı

    • Soyutlama, bilgi kaybını hızlandırabilir.
    • Ancak soyutlama, birçok insana yaratıcılığını ortaya koyma fırsatı da sunuyor.
    • Önemli olan, kritik sistemleri sürdürebilecek teknik temeli korumak.
  • Sonuç

    • Blow'un iddiası kısmen geçerli olsa da birçok noktada abartılı ve yanlış anlaşılmaya açık.
    • Yazılım karmaşıklığı ve soyutlama çözülebilir sorunlar.
    • Dijital dünyanın daha büyük sorunu mahremiyet ve özgürlük.

1 yorum

 
GN⁺ 2025-02-10
Hacker News görüşleri
  • Montana State'te sistem dersleri veriyorum ve öğrenciler derse başladıklarında çoğu zaman dosya sisteminin ne olduğunu anlamıyor

    • Blow'a kısmen katılmıyorum ama lise öğrencilerinden teknik öğrencilere kadar NAND-to-Tetris tarzı bir eğitime ihtiyaç olduğunu düşünüyorum
    • Little Man Computer ve basit bir MIPS emülatörü gibi "eski usul" modeller kullanarak öğrencilerin teknolojinin kökenlerini anlamasına yardımcı oluyorum
    • Modern 64-bit mimari kitaplarını görünce gülüyorum
    • Teknolojiyi temellerinden birbirine bağlamak zor bir mesele
  • Senin görüşüne katılıyorum. Blow'un konuşmasını izledim ve eleştirinin önemli olduğunu düşünüyorum

    • Blow "ekrana piksel çizemiyorlar" dediğinde haklı olduğunu düşündüm
    • Ben orta ölçekli bir oyun şirketinde oyun motoru programcısıyım ve grafik kodu üzerinde çalışacak insanları işe almak giderek çok zorlaşıyor
    • DX12, önceki nesle (DX11) kıyasla programcıdan çok daha fazlasını talep ediyor ve Microsoft da önceki grafik API deneyimi olmadan DX12 öğrenmenin çok zor olduğunu kabul ediyor
    • Bu API'ler, ekran kartının sınırlarını aşmak ve düşük seviye optimizasyonlar uygulamak isteyen geliştiriciler için tasarlanmıştı ama artık sektör standardı oldular ve deneyimsiz insanlara öğretmeleri zor
    • Bir şey değişmezse işe alım havuzu küçülmeye devam edecek
  • Eski kafalı bir web geliştiricisi soyutlamalardan şikâyet ediyorsa hedefinde React geliştiricisi vardır

    • Bir Python geliştiricisi soyutlamalardan şikâyet ediyorsa hedefinde eski kafalı web geliştiricisi vardır
    • Bir C++ uygulama geliştiricisi soyutlamalardan şikâyet ediyorsa hedefinde Python geliştiricisi vardır
    • Bir firmware geliştiricisi soyutlamalardan şikâyet ediyorsa hedefinde uygulama geliştiricisi vardır
    • Bir elektrik mühendisi soyutlamalardan şikâyet ediyorsa hedefinde firmware geliştiricisi vardır
    • Kişinin kendi bilgisine dayanarak "aşırı soyutlama" sınırını çizip ondan sonrasındaki her şeyi "medeniyetin yıkımı" diye adlandırması tuhaf bir bakış açısı
  • Sunucuda JavaScript ve React gibi şeyler, web'i yazılım geliştirmenin kaotik bir alanına çevirdi

    • Birçok çocuk HTML'in tarayıcıda render edildiğini bilmiyor ve React'in tarayıcıda render edilen şey olduğunu sanıyor
    • Vercel CEO'sunun React'i geliştirme dünyasının Linux çekirdeği gibi görmesi saçma
  • Blow, geliştirme hakkında sık sık çok iyi noktalara değiniyor ama çoğu zaman özünü kaçırıyor

    • Harika işler başardı ve dinlemeye değer fikirleri var ama bazen saçmalıyor
    • Medeniyetin çöküşü anlatısının da bu saçmalıklardan biri olduğunu düşünüyorum ve OP'nin sunduğu karşı argüman için minnettarım
    • Casey Muratori hakkında konuşmayacağım; Blow gibi olmaya çalışıyor ama iyi taraflarını bile düzgün yapamıyor
  • Modern yazılım ortamında birçok sorun var ve bence aşırı soyutlama bunlardan biri

    • Ama karşı uç da kötü; insanlar geçmişi fazla romantikleştiriyor
    • Sadece çökme ve yeniden başlatma sorunları değil, uyumluluk hedefleyen sistemler bile tutarsızlık problemleri yaşadı
    • En güvenilmez modern sistemde bile (Windows 11) bilgisayarım 2010 öncesindeki herhangi bir bilgisayardan daha güvenilir
    • Windows 95 için yazılmış yazılımları bile çalıştırabiliyor
  • Her sadeleştirme bir soyutlama değildir. Her soyutlama da bir sadeleştirme değildir

    • Sadeleştirme isteği genelde soyutlamayı motive eder
    • Soyutlamanın yazılımı ya da medeniyeti öldürdüğünü düşünmüyorum ama kötü soyutlamalar esnekliği ve erişilebilirliği zayıflatır
    • Neredeyse tüm dillerde sözdizimsel şeker buna örnek verilebilir
    • Belli öğeler yüzünden daha çok hata yapmaktan ziyade, karmaşık sorunları çözmek için araçları iyi kullanmak zordur
  • Çok sayıda kötü soyutlama var. Teknolojideki "hız dini" ve kibir yüzünden işler çoğu zaman ilk denemede bırakılıyor

    • Popüler bir projenin parçası olunca başkaları da onu kopyalıyor
    • Bu 10-20 yıl tekrarlandığında devasa bir karmaşa ortaya çıkıyor
    • Jonathan Blow'un konuşmasını seviyorum ve yılda bir kez dönüp izliyorum
    • Tartışmasız şeyler söylüyor ama birçok geliştiricinin elinden gelenin en iyisini yapmadığını da biliyor
  • Yazar yeni nesilden biri ve Blow'un ne dediğini anlamıyor

    • Figma'nın tasarım dünyasını mahvettiğini söylersen genç tasarımcılar her şeyin iyi olduğunu düşünüyor
    • O ortamda büyümedikleri için kültür ve deneyimin eşdeğerini öğrenme ihtimalleri daha düşük
  • "Düşük seviyeli şeyleri unutursak medeniyet çöker" iddiasına karşı çıkıyorum

    • Düşük seviyeli sistemleri kullanarak yüksek seviyeli süreçleri modellemeye çalışırken çok fazla karmaşıklık ortaya çıkıyor
    • Karmaşıklık problemdir; karmaşıklığı en aza indirmeli ve tesadüfi karmaşıklıktan kaçınmalıyız