Declaration (computer programming)
কম্পিউটার প্রোগ্রামিং-এ, একটি ঘোষণা হল একটি ভাষা গঠন যা সনাক্তকারী বৈশিষ্ট্যগুলি নির্দিষ্ট করেঃ এটি একটি শব্দের (সনাক্তকারীর) অর্থ ঘোষণা করে। ঘোষণাগুলি সাধারণত ফাংশন, ভেরিয়েবল, ধ্রুবক এবং শ্রেণীর জন্য ব্যবহৃত হয়, তবে অন্যান্য সত্তার জন্যও ব্যবহার করা যেতে পারে যেমন গণনা এবং প্রকারের সংজ্ঞা। নাম (সনাক্তকারী নিজেই) এবং সত্তার ধরণ (ফাংশন, পরিবর্তনশীল ইত্যাদি) এর বাইরে। ), ঘোষণাগুলি সাধারণত ডেটা টাইপ (ভেরিয়েবল এবং ধ্রুবকের জন্য), বা টাইপ স্বাক্ষর (ফাংশনের জন্য) নির্দিষ্ট করে; প্রকারগুলিতে মাত্রাও অন্তর্ভুক্ত থাকতে পারে, যেমন অ্যারেগুলির জন্য। সংকলকের কাছে সত্তার অস্তিত্ব ঘোষণা করার জন্য একটি ঘোষণা ব্যবহার করা হয়; এটি সেই দৃঢ়ভাবে টাইপ করা ভাষাগুলিতে গুরুত্বপূর্ণ যার জন্য ফাংশন, ভেরিয়েবল এবং ধ্রুবক প্রয়োজন, এবং তাদের প্রকারগুলি ব্যবহারের আগে একটি ঘোষণার সাথে নির্দিষ্ট করা প্রয়োজন, এবং ফরওয়ার্ড ঘোষণায় ব্যবহৃত হয়। "ঘোষণা" শব্দটি প্রায়শই "সংজ্ঞা" শব্দের সাথে বিপরীত হয়, তবে অর্থ এবং ব্যবহার ভাষার মধ্যে উল্লেখযোগ্যভাবে পরিবর্তিত হয়; নীচে দেখুন। বি. সি. পি. এল পরিবার, সর্বাধিক বিশিষ্টভাবে সি এবং সি + + এবং পাস্কাল সহ এ. এল. জি. ও. এল ঐতিহ্যের ভাষাগুলিতে ঘোষণাগুলি বিশেষভাবে বিশিষ্ট। জাভা "ঘোষণা" শব্দটি ব্যবহার করে, যদিও জাভাতে পৃথক ঘোষণা এবং সংজ্ঞার প্রয়োজন হয় না। ঘোষণা বনাম সংজ্ঞা একটি মৌলিক দ্বৈততা হল একটি ঘোষণায় একটি সংজ্ঞা রয়েছে কি নাঃ উদাহরণস্বরূপ, একটি পরিবর্তনশীল বা ধ্রুবক ঘোষণা তার মান নির্দিষ্ট করে কিনা, বা কেবল তার প্রকার; এবং একইভাবে কোনও ফাংশনের ঘোষণা ফাংশনের মূল (বাস্তবায়ন) নির্দিষ্ট করে কিনা, বা কেবল তার প্রকারের স্বাক্ষর। সমস্ত ভাষা এই পার্থক্য করে নাঃ অনেক ভাষায়, ঘোষণায় সর্বদা একটি সংজ্ঞা অন্তর্ভুক্ত থাকে এবং ভাষার উপর নির্ভর করে "ঘোষণা" বা "সংজ্ঞা" হিসাবে উল্লেখ করা যেতে পারে। যাইহোক, এই ধারণাগুলি এমন ভাষাগুলিতে আলাদা করা হয় যেখানে ব্যবহারের আগে ঘোষণার প্রয়োজন হয় (যার জন্য ফরওয়ার্ড ঘোষণা ব্যবহার করা হয়), এবং যে ভাষাগুলিতে ইন্টারফেস এবং বাস্তবায়ন পৃথক করা হয়ঃ ইন্টারফেসে ঘোষণা রয়েছে, বাস্তবায়নে সংজ্ঞা রয়েছে। অনানুষ্ঠানিক ব্যবহারে, একটি "ঘোষণা" শুধুমাত্র একটি বিশুদ্ধ ঘোষণাকে বোঝায় (শুধুমাত্র প্রকার, কোনও মূল্য বা বস্তু নয়), যেখানে একটি "সংজ্ঞা" এমন একটি ঘোষণাকে বোঝায় যা একটি মান বা বস্তু অন্তর্ভুক্ত করে। যাইহোক, আনুষ্ঠানিক ব্যবহারে (ভাষার নির্দিষ্টকরণে), "ঘোষণা" এই উভয় ইন্দ্রিয়কে অন্তর্ভুক্ত করে, ভাষা দ্বারা সূক্ষ্ম পার্থক্য সহঃ সি এবং সি + +-এ, একটি ফাংশনের ঘোষণাকে বলা হয় যা একটি বডি অন্তর্ভুক্ত করে না, যেখানে একটি ফাংশন যা একটি বডি অন্তর্ভুক্ত করে তার ঘোষণাকে "ফাংশন সংজ্ঞা" বলা হয়। জাভাতে ঘোষণাগুলি দুটি আকারে ঘটে। সর্বজনীন পদ্ধতির জন্য এগুলি পদ্ধতি স্বাক্ষর হিসাবে ইন্টারফেসে উপস্থাপন করা যেতে পারে, যা পদ্ধতির নাম, ইনপুট প্রকার এবং আউটপুট প্রকার নিয়ে গঠিত। বিমূর্ত পদ্ধতির সংজ্ঞায় অনুরূপ একটি স্বরলিপি ব্যবহার করা যেতে পারে, যার কোনও সংজ্ঞা নেই। পরিবেষ্টিত শ্রেণীটি তাত্ক্ষণিকভাবে তৈরি করা যেতে পারে, বরং একটি নতুন উদ্ভূত শ্রেণী, যা পদ্ধতির সংজ্ঞা প্রদান করে, শ্রেণীটির একটি উদাহরণ তৈরি করার জন্য তৈরি করা প্রয়োজন। জাভা 8 থেকে শুরু করে, ল্যাম্বডা অভিব্যক্তিটি ভাষায় অন্তর্ভুক্ত করা হয়েছিল, যা একটি ফাংশন ঘোষণা হিসাবে দেখা যেতে পারে। ঘোষণা এবং সংজ্ঞা প্রোগ্রামিং ভাষাগুলির সি-পরিবারে, ঘোষণাগুলি প্রায়শই হেডার ফাইলগুলিতে সংগ্রহ করা হয়, যা অন্যান্য উৎস ফাইলগুলিতে অন্তর্ভুক্ত থাকে যা এই ঘোষণাগুলি উল্লেখ করে এবং ব্যবহার করে, তবে সংজ্ঞাটিতে অ্যাক্সেস নেই। হেডার ফাইলের তথ্য কোডের মধ্যে ইন্টারফেস সরবরাহ করে যা ঘোষণাটি ব্যবহার করে এবং যা এটিকে সংজ্ঞায়িত করে, তথ্য লুকানোর একটি রূপ। একটি ঘোষণা প্রায়শই বিভিন্ন উৎস ফাইল বা একটি লাইব্রেরিতে সংজ্ঞায়িত ফাংশন বা ভেরিয়েবল অ্যাক্সেস করার জন্য ব্যবহৃত হয়। সংজ্ঞার ধরণ এবং ঘোষণার প্রকারের মধ্যে একটি অসামঞ্জস্য একটি সংকলক ত্রুটি তৈরি করে। ভেরিয়েবলের জন্য, সংজ্ঞাগুলি স্মৃতির একটি ক্ষেত্রকে মান নির্ধারণ করে যা ঘোষণা পর্যায়ে সংরক্ষিত ছিল। ফাংশনের জন্য, সংজ্ঞাগুলি ফাংশন বডি সরবরাহ করে। যদিও একটি পরিবর্তনশীল বা ফাংশনকে বহুবার ঘোষণা করা যেতে পারে, এটি সাধারণত একবার সংজ্ঞায়িত করা হয় (সি + +-এ, এটি ওয়ান ডেফিনিশন রুল বা ওডিআর নামে পরিচিত)। জাভাস্ক্রিপ্ট বা পাইথনের মতো গতিশীল ভাষাগুলি সাধারণত ফাংশনগুলিকে নতুন করে সংজ্ঞায়িত করার অনুমতি দেয়, অর্থাৎ, পুনরায় আবদ্ধ; একটি ফাংশন একটি নাম এবং একটি মান (সংজ্ঞা) সহ অন্য যে কোনও ফাংশনের মতোই একটি পরিবর্তনশীল। এখানে ঘোষণাগুলির কিছু উদাহরণ রয়েছে যা সংজ্ঞা নয়, সি-তেঃ এক্সটার্ন চার উদাহরণ 1; এক্সটার্ন ইন্ট উদাহরণ 2; অকার্যকর উদাহরণ 3 (অকার্যকর); এখানে ঘোষণাগুলির কিছু উদাহরণ রয়েছে যা সংজ্ঞা, আবার সি-তেঃ চার উদাহরণ 1;/* একটি ফাংশনের সংজ্ঞার বাইরে এটি শূন্যে আরম্ভ করা হবে। */int উদাহরণ 2 = 5; অকার্যকর উদাহরণ 3 (অকার্যকর) {/* বন্ধনীগুলির মধ্যে সংজ্ঞা */} অনির্ধারিত চলক কিছু প্রোগ্রামিং ভাষায়, একটি অন্তর্নিহিত ঘোষণা প্রদান করা হয় যখন প্রথমবার এই ধরনের চলক সংকলনের সময় সম্মুখীন হয়। অন্যান্য ভাষায়, এই ধরনের ব্যবহারকে একটি ত্রুটি হিসাবে বিবেচনা করা হয়, যার ফলে একটি ডায়াগনস্টিক বার্তা হতে পারে। কিছু ভাষা অন্তর্নিহিত ঘোষণা আচরণ দিয়ে শুরু করেছে, কিন্তু তারা পরিপক্ক হওয়ার সাথে সাথে এটি নিষ্ক্রিয় করার একটি বিকল্প প্রদান করেছে (যেমন। পার্লের "ইউজ স্ট্রিক্ট" বা ভিজ্যুয়াল বেসিকের "অপশন এক্সপ্লিসিট")। আরও দেখুন ফাংশন প্রোটোটাইপ স্কোপ (প্রোগ্রামিং) নোটস রেফারেন্স এক্সটার্নাল লিঙ্ক ডিক্লেয়ার বনাম ডিফাইন ইন সি এবং সি + +, অ্যালেক্স অ্যালেন 8.2। ঘোষণা, সংজ্ঞা এবং অ্যাক্সেসিবিলিটি, সি বুক, জিবিডাইরেক্ট ঘোষণা এবং সংজ্ঞা (সি + +), এমএসডিএন ঘোষণা সংকলককে বলে যে একটি প্রোগ্রাম উপাদান বা নাম বিদ্যমান। সংজ্ঞাগুলি নির্দিষ্ট করে যে নামটি কোন কোড বা ডেটা বর্ণনা করে। প্রোগ্রামিং ভাষার ধারণাগুলি সি কোডের উদাহরণ সহ নিবন্ধ