2 puan yazan GN⁺ 3 시간 전 | 1 yorum | WhatsApp'ta paylaş

Yazılım geliştirirken öncelikler

  1. Yazılım son kullanıcı için faydalı olmalı ve "Sevilebilecek Yazılım" olmayı hedeflemeli
  2. Yazılım doğru (correct) olmalı. Hatalı çalışan yazılım, kullanıcının elde edebileceği faydayı azaltır
  3. Yazılım bakımı yapılabilir ve verimli olmalı. Yazılımdan daha fazla fayda çıkarmaya çalışırken insan ve bilgi işlem kaynaklarının israfını önlemek için bir ölçüttür

Öncelikler tersine döndüğünde anlamsızlaşması

Bazen hevesim kırılıyor, bazen yanlış yola giriyorum ve bazen de bilerek dolanıyorum; ama hiç kimse benim gerçek varış noktamı daha aşağıda bir yer sanmama neden olamaz.
Geliştirici olarak kendi deneyimime önem veriyorum, ancak buna yalnızca benim başkalarıyla birlikte sizin de keyif alabileceğiniz daha fazla yazılım üretmeme yardımcı olduğu ölçüde önem veriyorum.

  • Nihai hedef, son kullanıcının elde ettiği faydayı en üst düzeye çıkarmaktır ve bunun dışındaki her şey bu hedefe ulaşmak için bir araçtır
    • Yazılım geliştirirken en önemli ilke budur

1 yorum

 
GN⁺ 3 시간 전
Lobste.rs yorumları
  • Benzer bir yaklaşımı tercih ediyorum
    Tornavida gibi “sevimli olmayan” araçlar bile çok uzun süre son derece güvenilir olabilir. Yıldız tornavida her zaman yıldız başlıdır; alet çantasından çıkardığınızda %1 ihtimalle düz tornavidaya dönüşüp geri koyup tekrar çıkarmanız gerekmez. Sap tasarımı da durmadan değişmez ve satın aldığınız aleti bozulana kadar kullanabilirsiniz.
    Keşke daha fazla yazılım da böyle olsa

    • “Tornavida gibi sevimli olmayan araç” derken ne kastedildiğini merak ediyorum
  • “Nihai hedef son kullanıcının faydasını en üst düzeye çıkarmaktır ve geri kalan her şey bu hedef içindir” ölçütüne sadık kalan geliştiricilere saygı duyuyor ve minnettarım, ama ben kendim her zaman böyle yaşayamıyorum. Yazılımda son kullanıcı dışında da meşru sorumluluk alanları olduğunu düşünüyorum.
    Profesyonel olarak ailemi geçindirmek için yazılım yapıyorum; kullanıcıların tarafını epey tutuyorum ama sonuçta parayı ödeyen şirkete ve aileme sadakatim daha ağır basıyor.
    Kişisel işlerimde ölçüt “bu iş bana tatmin veriyor mu” oluyor; sanatsal, estetik ve entelektüel tatmin önemli. Çoğu zaman bu kullanıcı yararıyla örtüşüyor, ama kullanıcının faydasını yanlış değerlendirebilirim; örneğin animasyonlu hamburger menünün faydayı en üst düzeye çıkardığı kanıtlansa bile, kendi üretimimde estetik tercih hakkımı kullanıp bu faydadan vazgeçirebileceğimi düşünüyorum

    • Üstelik bu tür ödünleşimlerden bağımsız olarak, gerçek son kullanıcının kim olduğunu her zaman tanımlamak da mümkün olmuyor
      Kullanıcının, kendi işinin kullanıcılarına zarar veren saçma şeyler yapamaması için yazılımın bazı kısımlarını bilerek kullanıcıya karşı kullanıcı dostu olmaktan çıkarmayı nasıl değerlendirmek gerektiği de var.
      Goodhart yasasına çok açık olan ve yan etkilerinin kapsamı da büyük olan belirli bir raporlama özelliğini, yazılım kullanıcıları istese bile sonsuza kadar “henüz hazır değil” durumunda tutmak için bilerek böyle mekanizmaları tartıştığım oldu
  • Bu yazı sayesinde Tiger Style'ın artık bir web sitesi olduğunu öğrendim

  • “Kimsenin bakımını yapamayacağı, yeni özellik eklemenin ise hiç mümkün olmadığı” ile “tüm hata düzeltmeleri”ni aynı anda söylüyor ama sonuçta kapsamı dondurmadan tüm hataları düzeltmenin nasıl mümkün olduğunu pek anlamıyorum

  • “Blockchain'de hata olmasa bile rug pull ise bunun anlamı yok” sözü üç şeyi tek cümlede söyleyebiliyor
    Bir şeyin verimliliğini artırmanın, yeni hatalar yaratıyorsa bir anlamı yok; üstelik bu, ancak rug pull değilse anlamlı

  • Yazılımın mutlaka sadece insanlar tarafından yazılması gerektiğine dair bir gereksinim olmaması dikkat çekici. Kristoff'un Ziglang'ın çekirdek geliştiricisi olduğunu bildiğim için bu daha da ilginç geliyor
    AI destekli geliştirme kullanılsa bile bu gereksinimlere uyan yazılım üretilebileceğini düşünmek istiyorum.
    Kodu bizzat elle yazmak da keyifli, işi tamamlamak da keyifli; ama bu ikisi bazen çatışıyor.
    AI konusunu açtığım için kusura bakmayın ama Kristoff ile Zig topluluğunun yakın ilişkisi, Zig'in güçlü duruşu ve sonuçta benim de hâlâ Ziglang'ı savunuyor oluşum nedeniyle bunu ayırmak zor

    • Bence üçüncü madde tam tersine böyle araçlara karşı bir tutumu ima ediyor. Bu araçların ürettiği şey çoğunlukla bakım yapılamayan spagetti kod gibi görünüyor
    • Bu yazının ziglang.org'da değil de Loris'in kişisel blogunda yayımlanmasının bir nedeni var gibi görünüyor
      Bir projenin büyük dil modeli tabanlı kod konusunda net bir duruşu olması, o projedeki herkesin bu projede ya da tüm projelerde aynı duruşu paylaştığı anlamına gelmez.
      Bu sadece Loris'e özgü bir mesele de değil; bu tür kararları duruma göre değerlendirmek makul görünüyor