4 puan yazan GN⁺ 2023-08-20 | 2 yorum | WhatsApp'ta paylaş
  • "Railway Oriented Programming" (ROP) hakkında bir yazı; yazılım geliştirmede işlevsel hata işleme yaklaşımı
  • Demiryolu benzetmesine dayanan ROP, anlaşılması kolay ve eğlenceli
  • GitHub'da ROP yaklaşımını kullanarak klasik C# ile F#'ı karşılaştıran bir proje oluşturulmuş
  • ROP'un aşırı uçta kullanılmasına karşı uyarı; bunu "Against Railway-Oriented Programming" başlıklı bir yazı ayrıntılı biçimde açıklıyor
  • Bu konu NDC London 2014, NDC Oslo 2014, Functional Programming eXchange 2014 gibi çeşitli konferanslarda sunulmuş
  • ROP'a yaklaşım, Haskell'in Either monadı ve Kleisli bileşimiyle ilişkili olsa da bunun bir monad öğreticisi olma iddiası yok
  • Somut örneklerle başlayıp soyut kavramlara geçmenin önemi vurgulanıyor
  • Kullanıcı tanımlı hata türleri listesi kullanımı, monadik ve monadik olmayan fonksiyonları pipeline içine entegre etme, exception'lardan hata durumlarına eşleme, monadik fonksiyonları paralel birleştirme gibi teknikler içeren bir ROP yaklaşımı
  • Tutarlı bir stil dayatan ve bakımı kolay çok amaçlı bir ROP şablonu sunmayı hedefliyor
  • NuGet ile çalışan hazır bir F# kütüphanesi isteyenlere Chessie projesi öneriliyor
  • ROP teknikleriyle oluşturulmuş örnek bir web servisi ve FizzBuzz'a uygulanan ROP yaklaşımı da yer alıyor
  • Either ve Kleisli bileşimi hakkında daha fazla ayrıntı isteyenler için, monadlarla ilgili çeşitli yazılar ve öğreticilerden oluşan ek okuma önerileri sunuluyor

2 yorum

 
GN⁺ 2023-08-20
Hacker News görüşleri
  • Makale, hataların temiz ve verimli biçimde yönetilmesine yardımcı olan işlevsel programlama deseni Railway Oriented Programming (ROP) kavramını tartışıyor.
  • Bir yorumcu, Elixir'de with anahtar sözcüğünün kullanımını ROP'un pratik bir uygulaması olarak öne çıkarıyor. Bunun, fonksiyonların sıralı biçimde çalıştırılmasını sağladığını ve herhangi bir fonksiyon beklenen çıktı ile eşleşmediğinde erken dönüşe imkan verdiğini belirtiyor.
  • Başka bir yorumcu, yazarın "Against Railway Oriented Programming" adlı takip yazısından söz ettiğini ve bunun ROP'un istisna işleme yerine yanlış kullanılmasına karşı uyardığını aktarıyor. Yorumcu, ROP'un kendi başına kullanıldığı durumlar olduğunu ancak çoğu durumda hata koşullarını ele almak için istisnaların daha temiz bir yol sunduğu görüşüne katılıyor.
  • Bazı yorumcular, ROP'un hata işlemeyi çağrı noktasından uzaklaştırabileceğini ve bunun ideal olmayabileceğini savunuyor; çünkü çoğu zaman hatayı ele almak için en uygun konum çağıran taraftır. Ayrıca ROP'un, unutulması veya hatalı yapılması kolay ek boilerplate kod gerektirebileceğini öne sürüyorlar.
  • Makaleyi barındıran site, özellikle işlevsel programlama kavramlarına odaklanan eğitici içeriği nedeniyle birçok yorumcudan övgü alıyor.
  • Bir yorumcu, veri akışı programlamasının ROP'a daha iyi bir alternatif olabileceğini ve bunun programın "mutlu yolunu" etkilemeden hata işlemeye imkan tanıdığını öne sürüyor.
  • Makale Hacker News'te birden çok kez tartışıldı; bu da teknoloji topluluğu içindeki kalıcı ilgisini ve güncelliğini gösteriyor.
  • Bazı yorumcular, ROP kullanımının tüm iş mantığının aynı görünmesine yol açabileceği yönünde endişe dile getiriyor ve doğrulama hataları ile yan etki işleme için farklı yöntemler öneriyor.
  • Birkaç yorumcu, ROP hakkındaki tekrar eden tartışmaları övüyor ve teknik yolculukları ilerledikçe kavrama dair anlayışlarının ve bakış açılarının geliştiğini belirtiyor.
  • Bir yorumcu, C#'ta ROP uygulamasına dair kendi yazısını paylaşıyor.