18 puan yazan GN⁺ 2025-02-25 | 2 yorum | WhatsApp'ta paylaş

Felsefe (Philosophy)

  • Biz, dwm, dmenu, st gibi yüksek kaliteli yazılımlar geliştiren bir topluluğuz; temel değerlerimiz Sadelik, Açıklık, Tutumluluk (Simplicity, Clarity, Frugality)
  • BT sektörünün genelinde gereksiz yere karmaşık, hatalarla dolu ve yavaş yazılımların yaygın olduğu düzene karşı çıkıyoruz
  • Projelerimiz, bu akıma ters yönde ilerlemeyi; yazılımları basit, minimal ve kullanımı kolay tutmayı amaçlar
  • Projelerimizin hedef kitlesi deneyimli bilgisayar kullanıcıları ve uzmanlardır
    • Ticari yazılımların çoğunun ve açık kaynak projelerinin büyük bölümünün uzman olmayanlar ve genel kullanıcılar için geliştirildiğini, bu yüzden deneyimli kullanıcıların göz ardı edildiğini düşünüyoruz
    • Buna karşılık biz, deneyimli kullanıcı pazarının sürekli büyüdüğüne ve ileri düzey kullanıcıların kendi çalışma biçimlerine uygun en iyi çözümü bulabileceklerine inanıyoruz
  • Basit ve zarif yazılım tasarlamak çok daha zordur
    • Ancak güvenilirlik ve bakım kolaylığı için bu bedelin ödenmesi gerekir
    • Minimalizmi korumak, makul ve ulaşılabilir hedeflere sahip olmayı sağlar
    • Biz, minimalizmi ve açıklığı korumaya çalışıyoruz

Bildirge (Manifest)

  • Birçok geliştirici kodu uzun yazmayı bir başarı sanıyor
    • Ancak kod miktarının fazla olması, yazılım kalitesinin mutlaka arttığı anlamına gelmez
    • İlerledikçe becerilerin arttığı sanılabilir, ama bu yalnızca bir yanılsamadır
  • Birçok geliştirici kod kalitesine önem vermeden, sorunu çözüyor gibi görünen çalışan bir şey üretmekle yetinir
    • Bu yaklaşım sürdürüldüğünde zamanla devasa miktarda kod, tamamen bozulmuş bir kod yapısı ve kusurlarla dolu sistem tasarımı kalır
    • Bunun nedeni, geliştirme sürecinde kavramsal açıklık ve bütünlüğün eksik olmasıdır
  • Kod karmaşıklığı, verimsiz ve tutarsız yazılımlar doğuran temel nedendir
    • Karmaşık kod; performans düşüşüne, kaynak israfına ve güvenlik açıklarına yol açar
    • Tek çözüm, tüm projeyi çöpe atıp en baştan yeniden yazmaktır
  • Sorun şu ki, gerçekten yüksek kaliteli yeniden yazımlar neredeyse hiç yapılmaz
    • Birçok geliştirici kod miktarıyla övünür; karmaşıklığı anladığını sanıp yeniden yazmaya gerek olmadığını düşünür
    • Kendilerini dahi sanırlar ve karmaşık yazılımı ideal hedefle karıştırırlar
  • Harika fikir sadeliktir. Harika yazılım da sadedir
    • Sadelik, Unix felsefesinin özüdür
    • Kaldırılan kod satırı ne kadar fazlaysa o kadar büyük ilerleme kaydedilmiştir; kod azaldıkça geliştirici daha yetkin, yazılım daha iyi hale gelir

2 yorum

 
aer0700 2025-02-25

Gerçekten enerji dolu bir manifesto olmuş haha harika.

 
GN⁺ 2025-02-25
Hacker News görüşleri
  • Suckless'in Stali Linux SSS'si beni çok etkilemişti. Linux için tamamen statik olarak bağlanmış bir userspace inşa ettiler

    • Önceden Linux'un "her şey için paylaşımlı kütüphane" yaklaşımını doğal karşılıyordum
    • Küçük CLI araçları yaparken ya bir dağıtım paketi hazırlıyor ya da kütüphaneleri ayarlamak için tarball kullanıyordum
    • Bunun aslında zorunlu olmadığını fark ettim
    • O zamandan beri mümkün olduğunca statik linkleme kullanıyorum, aksi durumda ise AppImage kullanıyorum
    • Dinamik linkleme de gerekli, ama varsayılan olarak yazılım dağıtımının karmaşık olmak zorunda olmadığını düşünüyorum
  • dwm ve dmenu sayesinde masaüstüm 10 yıldır neredeyse hiç değişmedi. Minimalizmin getirdiği istikrarı seviyorum

  • for döngüsünde başlangıçta değişken tanımlamayı kullanmamayı anlamıyorum. Variadic makrolar kabul edilebilirken for(int i = 0...) ifadesinin fazla karmaşık sayılmasını anlamıyorum

  • Minimalizmi benimseyebilirim, ama her şeyin bu kadar minimal olması gerekmiyor

  • Suckless'in kodlama felsefesi çok güzel. Keşke tüm yazılımlar bu felsefeyle yazılsa. Ama pencere yöneticisi ve X-menu bunun en iyi örnekleri değil

  • Topluluktaki drama saçma. Bu araçları yazılım felsefesini sevdiğim için kullanıyorum. Yazarların kişisel inançlarını ya da siyasi eğilimlerini umursamıyorum

  • Çeşitli terminalleri değerlendirdikten sonra yine bir st fork'una döndüm. Yıllardır kullanıyorum; kararlı ve hatasız

  • Bu felsefe kusursuz değil, ama güvenilir yazılım üretmeye en çok yaklaşan yöntem bu. Karmaşıklığı dizginlemek en zor ve en önemli iş

  • surf, WebKit2/GTK+ tabanlı basit bir web tarayıcısıdır. Web sitelerini gösterebilir ve bağlantıları takip edebilir

  • dwm, kaynak kod düzenlenerek özelleştirildiği için ikili paketler üretmek anlamsız. Kullanıcı tabanı küçük ve elitist

  • Suckless tarzında ama asenkron ve her şey için bir yazılım istiyorum. Birçok uygulamanın tek iş parçacıklı şekilde iş birliği yaptığı modelle çalışan uygulamalar arıyorum

  • Böyle bir grubun var olması güzel. Yaptıkları işi takdir ediyorum. Ama biraz daha kullanışsız olmayan yazılımları tercih ediyorum. BSPWM'i yapılandırmak makul düzeyde, ama C kodunu yeniden derlemek fazla geliyor