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