আমি মূলত হতাশাহীন উইথফোর্ডস ডিজাইন এর উত্তরের সাথে একমত , তবে আপনি কীভাবে নতুন দৃষ্টান্তটি শেখা কারও দক্ষতা বিকাশে সহায়তা করে তা জিজ্ঞাসা করেছিলেন। আমি আমার নিজের অভিজ্ঞতা থেকে বেশ কয়েকটি উদাহরণ দিতে পারি।
কার্যকরী প্রোগ্রামিং শিখার পরে, আমি কোন ধারণাগুলি নিয়ে কাজ করি সে সম্পর্কে অনেক বেশি সচেতন আমি সাধারণত "অবজেক্ট" হিসাবে বিবেচিত হয় (সাধারণত যেখানে রূপান্তরটি বোঝায়) এবং যেগুলি প্রাকৃতিকভাবে অপরিবর্তনীয় "মান" হিসাবে বিবেচিত হয় (আমার মনে হয় একটি গুরুত্বপূর্ণ পার্থক্য রয়েছে , এফপি যখন বোধগম্য হয় তখন ওও কীভাবে বোধগম্য হয় সে সম্পর্কে স্পর্শ করা, তবে এটি কেবল আমার অভিমত)।
আমি লক্ষ্য করেছি যে আমার কোডে কোথায় পার্শ্ব প্রতিক্রিয়া অন্তর্ভুক্ত রয়েছে এবং আমি সেই জায়গাগুলিকে আলাদা করতে আরও সতর্কতা অবলম্বন করে আমার আরও ফাংশনগুলি "খাঁটি" ফাংশন তৈরি করে। এটি আমার ওও কোডের পরীক্ষারযোগ্যতা ব্যাপকভাবে উন্নত করে।
আমি আমার ডেটা উপস্থাপনের চক্র সম্পর্কে আরও সচেতন। (উদাহরণস্বরূপ, আমি মনে করি না যে আপনি লিঙ্কযুক্ত-তালিকাটিকে হাস্কেলের দ্বিগুণ-লিঙ্কযুক্ত তালিকায় রূপান্তর করতে কোনও ফাংশন লিখতে পারেন, সুতরাং আপনি সেই ভাষায় চক্রটি খানিকটা বেশি লক্ষ্য করেন)) চক্র এড়ানো সিঙ্ক্রোনাইজেশনের পরিমাণ হ্রাস করে আপনার ডেটা স্ট্রাকচারগুলি অভ্যন্তরীণভাবে সুসংগত হওয়ার জন্য সঞ্চালন করতে হবে, থ্রেডগুলির মধ্যে এই কাঠামোগুলি ভাগ করে নেওয়ার বোঝা সহজ করুন।
আমি পুনরাবৃত্তির উপর নির্ভর করার সম্ভাবনা বেশি (স্কিমের পুনরাবৃত্ত লুপিং নির্মাণগুলি সৌন্দর্যের জিনিস)। ডিজকસ્ત્રা স্ট্রাকচার্ড প্রোগ্রামিং নোটস- এ এর গুরুত্ব সম্পর্কে স্পর্শ করেছেন - পুনরাবৃত্ত অ্যালগরিদমস মানচিত্রটি গাণিতিক আবেশের খুব সরাসরি, যা তিনি বলেছিলেন যে আমাদের লুপগুলি সঠিকভাবে প্রমাণ করার একমাত্র মাধ্যম। (আমি প্রস্তাব দিচ্ছি না যে আমাদের অবশ্যই আমাদের কোডটি সঠিক প্রমাণ করতে হবে, তবে এটি করা আমাদের নিজের পক্ষে সহজতর করা, আমাদের কোডটি সঠিক হওয়ার সম্ভাবনা তত বেশি))
আমি উচ্চতর অর্ডার ফাংশন ব্যবহার করার সম্ভাবনা বেশি। জন হিউজেসের কাগজ, কার্যকরী প্রোগ্রামিংয়ের বিষয়গুলি কেন । এটি কার্যকরী প্রোগ্রামিং কৌশলগুলি নিয়োগের মাধ্যমে উচ্চতর অর্ডার ফাংশনগুলি একটি মুখ্য ভূমিকা পালন করে আপনি যে সামঞ্জস্যতা পান তা জোর দেয়।
এছাড়াও, জেটির জবাব যেমন স্পষ্ট হয়েছে , আপনি দেখতে পাবেন যে প্রচুর এফপি ধারণা নতুন ওও ভাষাগুলিতে সংহত করা হচ্ছে। রুবি এবং পাইথন উভয়ই অনেকগুলি উচ্চতর অর্ডার ক্রিয়াকলাপ সরবরাহ করে থাকে, আমি শুনেছি যে লিনিকিউ বর্ণিত বোধগম্যতার জন্য সি # তে সমর্থন আনার প্রয়াস হিসাবে বর্ণনা করা হয়েছে, এমনকি সি ++ এ এখন ল্যাম্বডা এক্সপ্রেশন রয়েছে।