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