ডিক্লারেটিভ প্রোগ্রামিং হল এমন একটি প্রোগ্রামিং প্যারাডাইম, যেখানে প্রোগ্রামারকে কীভাবে কাজ করতে হবে তা না বলে, বরং তারা কি কাজ করতে চান তা নির্দিষ্ট করে। এটি মূলত ফলাফল বা উদ্দেশ্য নির্ধারণের উপর জোর দেয়, যেখানে প্রোগ্রামার শুধুমাত্র সমস্যার সমাধান কেমন হবে তা জানিয়ে দেন, কিন্তু সমাধানটি কীভাবে হবে তা প্রোগ্রামিং ভাষা বা সিস্টেম নিজেই নির্ধারণ করে।
ডিক্লারেটিভ প্রোগ্রামিং ভাষাগুলি, যেমন SQL, Prolog, HTML, CSS, ইত্যাদি, সমস্যা সমাধানে স্টেপ-বাই-স্টেপ নির্দেশনা বা কৌশল নির্দিষ্ট করার পরিবর্তে ব্যবহারকারীর উদ্দেশ্য বা ফলাফল উল্লেখ করে কাজ করে।
ডিক্লারেটিভ প্রোগ্রামিং এর বৈশিষ্ট্য:
- ফলাফল নির্ধারণ:
ডিক্লারেটিভ প্রোগ্রামিংয়ের মূল লক্ষ্য হল ফলাফল বা উদ্দেশ্য নির্ধারণ করা, না যে কীভাবে কাজটি হবে। প্রোগ্রামার সাধারণত ফলাফল বা আউটপুট চায়, এবং ভাষাটি তার জন্য প্রয়োজনীয় কাজটি সম্পন্ন করে। - প্রক্রিয়া নির্দিষ্ট না করা:
ডিক্লারেটিভ প্রোগ্রামিং ভাষায় প্রোগ্রামারকে সাধারণত কাজটি করার জন্য কৌশল বা প্রক্রিয়া নির্দিষ্ট করতে হয় না, বরং শুধুমাত্র কী করতে হবে তা বলা হয়। ভাষাটি বাকিটা নিজেই নির্ধারণ করে। - সিম্পল এবং সহজবোধ্য:
ডিক্লারেটিভ ভাষাগুলি সাধারণত সহজ এবং ব্যবহারকারী-বান্ধব হয় কারণ এতে কম কমান্ড বা নির্দেশনা ব্যবহৃত হয়। এটি কোড লেখা ও রক্ষণাবেক্ষণকে সহজ করে তোলে। - উচ্চস্তরের ভাষা:
ডিক্লারেটিভ ভাষাগুলি সাধারণত উচ্চস্তরের ভাষা হয়, অর্থাৎ প্রোগ্রামারকে কম্পিউটার হার্ডওয়্যার বা মেমরি ব্যবস্থাপনা নিয়ে চিন্তা করতে হয় না। তারা কেবল লক্ষ্য বা ফলাফল নির্ধারণ করে।
ডিক্লারেটিভ প্রোগ্রামিং এর উদাহরণ:
SQL (Structured Query Language):
SQL হল একটি ডিক্লারেটিভ ভাষা, যেখানে আপনি কেবল ফলাফল বা তথ্য চাচ্ছেন এবং কীভাবে তা খুঁজে বের করা হবে তা SQL নিজেই নির্ধারণ করে। উদাহরণস্বরূপ:SELECT name FROM students WHERE age > 18;এখানে, আপনি শুধু সেই ছাত্রদের নাম চাচ্ছেন যাদের বয়স ১৮ এর বেশি, এবং SQL নিজেই সেই তথ্য খুঁজে বের করবে।
HTML (Hypertext Markup Language):
HTML একটি ডিক্লারেটিভ ভাষা, যেখানে আপনি শুধুমাত্র কী উপাদান (যেমন, ছবি, প্যারাগ্রাফ, হেডিং ইত্যাদি) চাচ্ছেন তা উল্লেখ করেন। উদাহরণস্বরূপ:<h1>Welcome to My Website</h1> <p>This is a paragraph.</p>এখানে, আপনি শুধু ওয়েব পৃষ্ঠায় হেডিং এবং প্যারাগ্রাফ চাচ্ছেন, তবে কীভাবে এটি প্রদর্শিত হবে তা ব্রাউজার নিজেই নির্ধারণ করে।
Prolog (Logic Programming):
প্রোলগ একটি ডিক্লারেটিভ ভাষা, যা লজিক্যাল রিলেশন এবং সিদ্ধান্তের মাধ্যমে কাজ করে। প্রোগ্রামারকে শুধুমাত্র সম্পর্ক এবং শর্ত দেয়া হয়, এবং প্রোলগ সেই সম্পর্কগুলির মধ্যে ফলাফল নির্ধারণ করে।
উদাহরণস্বরূপ:father(john, mary). mother(mary, susan).এখানে, আপনি শুধুমাত্র কিছু সম্পর্ক উল্লেখ করছেন এবং প্রোলগ পরে এই সম্পর্কের মাধ্যমে কোয়েরি বা প্রশ্নের উত্তর দেবে।
ডিক্লারেটিভ প্রোগ্রামিং এর সুবিধা:
- সহজ এবং দ্রুত:
কোড লেখা সহজ এবং দ্রুত হয় কারণ প্রোগ্রামারকে প্রক্রিয়া বা প্রোগ্রামের পদ্ধতি নিয়ে চিন্তা করতে হয় না, তারা শুধু ফলাফল নির্ধারণ করেন। - বাগ কমানো:
প্রোগ্রামিং ভাষা নিজেই সমাধান নির্ধারণ করার কারণে, কোডে বাগ বা ভুল হওয়ার সম্ভাবনা কম থাকে। - অফটারমাথ (Abstraction):
এটি প্রোগ্রামিংয়ের স্তরের বিচ্ছেদ তৈরি করে, যাতে প্রোগ্রামারের কাজ আরও সহজ হয়। প্রোগ্রামার শুধু গুরুত্বপূর্ণ সিদ্ধান্ত এবং ফলাফল সম্পর্কে চিন্তা করেন, বাকি কাজ ভাষা বা সিস্টেম করে দেয়।
সারসংক্ষেপ
ডিক্লারেটিভ প্রোগ্রামিং এমন একটি প্যারাডাইম যেখানে প্রোগ্রামার কেবল ফলাফল বা উদ্দেশ্য নির্ধারণ করেন এবং প্রোগ্রামটি কীভাবে তা অর্জন করবে তা নিজে থেকেই নির্ধারণ করে। এটি সাধারিতভাবে SQL, Prolog, এবং HTML এর মতো ভাষায় ব্যবহৃত হয় এবং এই পদ্ধতিতে কোড লেখা সহজ, পরিষ্কার এবং দ্রুত হয়ে থাকে।
Read more