4 पॉइंट द्वारा GN⁺ 2023-08-20 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • "Railway Oriented Programming" (ROP) पर लेख, जो software development में functional error handling के तरीके को समझाता है
  • रेल के रूपक पर आधारित ROP, जिसे समझना आसान और रोचक है
  • GitHub पर ROP तरीके का उपयोग करके सामान्य C# और F# की तुलना करने वाला एक project बनाया गया है
  • ROP का अत्यधिक उपयोग करने के प्रति चेतावनी, और इसे विस्तार से समझाने वाला "Against Railway-Oriented Programming" शीर्षक का लेख
  • NDC London 2014, NDC Oslo 2014, Functional Programming eXchange 2014 जैसी विभिन्न conferences में इस विषय पर प्रस्तुतियाँ दी गईं
  • ROP के प्रति यह दृष्टिकोण Haskell के Either monad और Kleisli composition से संबंधित है, लेकिन इसका उद्देश्य monad tutorial बनना नहीं है
  • ठोस उदाहरणों से शुरू करके अमूर्त अवधारणाओं की ओर बढ़ने के महत्व पर जोर
  • user-defined error types की सूची का उपयोग, monadic और non-monadic functions को pipeline में एकीकृत करना, exceptions को error cases में map करना, monadic functions को parallel में combine करना जैसी तकनीकों सहित ROP approach
  • लक्ष्य एक ऐसा बहुउपयोगी ROP template देना है जो consistent style को लागू करे और maintenance को आसान बनाए
  • जो लोग NuGet के साथ काम करने वाली तैयार F# library चाहते हैं, उनके लिए Chessie project की सिफारिश
  • ROP तकनीकों का उपयोग करके sample web service बनाना और FizzBuzz पर ROP approach लागू करना
  • Either और Kleisli composition के बारे में अधिक विस्तार चाहने वालों के लिए monad पर विभिन्न posts और tutorials सहित अतिरिक्त पठन सामग्री का सुझाव

2 टिप्पणियां

 
GN⁺ 2023-08-20
Hacker News राय
  • लेख में Railway Oriented Programming (ROP) नामक एक functional programming pattern की अवधारणा पर चर्चा की गई है, जो error handling को साफ़ और प्रभावी ढंग से प्रबंधित करने में मदद करती है।
  • एक टिप्पणीकार Elixir में with keyword के उपयोग को ROP के व्यावहारिक implementation के रूप में रेखांकित करता है। यह functions के क्रमिक execution को संभव बनाता है और अगर कोई function अपेक्षित output से मेल नहीं खाता, तो early return की अनुमति देता है।
  • एक अन्य टिप्पणीकार बताता है कि लेखक ने "Against Railway Oriented Programming" नामक एक follow-up post का उल्लेख किया है, जो exception handling के विकल्प के रूप में ROP के दुरुपयोग के खिलाफ चेतावनी देती है। टिप्पणीकार सहमत है कि कुछ मामलों में ROP का उपयोग होता है, लेकिन अधिकांश स्थितियों में exceptions error conditions को संभालने का अधिक साफ़ तरीका देते हैं।
  • कुछ टिप्पणीकारों का तर्क है कि ROP error handling को call site से दूर ले जा सकता है, जो आदर्श नहीं हो सकता क्योंकि अक्सर caller ही errors को संभालने के लिए सबसे बेहतर स्थिति में होता है। उनका सुझाव है कि ROP के लिए अतिरिक्त boilerplate code की आवश्यकता पड़ सकती है, जिसे भूलना या गलत करना आसान है।
  • लेख को host करने वाली साइट को कई टिप्पणीकारों ने उसके शैक्षिक content, खासकर functional programming concepts पर उसके फ़ोकस के लिए सराहा है।
  • एक टिप्पणीकार सुझाव देता है कि dataflow programming ROP का बेहतर विकल्प हो सकता है, क्योंकि यह program के "happy path" को प्रभावित किए बिना error handling की अनुमति देता है।
  • इस लेख पर Hacker News में कई बार चर्चा हो चुकी है, जो tech community में इसकी लगातार प्रासंगिकता और रुचि को दर्शाती है।
  • कुछ टिप्पणीकारों ने चिंता जताई कि ROP के उपयोग से सारी business logic एक जैसी दिखने लग सकती है, और उन्होंने validation errors तथा side effects को संभालने के लिए अन्य तरीकों का सुझाव दिया।
  • कुछ टिप्पणीकारों ने ROP पर बार-बार होने वाली चर्चाओं की सराहना की और कहा कि उनकी तकनीकी यात्रा आगे बढ़ने के साथ इस अवधारणा के प्रति उनकी समझ और दृष्टिकोण भी विकसित हुआ है।
  • एक टिप्पणीकार ने C# में ROP implement करने पर अपना लेख साझा किया है।