প্রোগ্রামিং-এ ডেটা টাইপ নির্দেশ করে ডেটার ধরন এবং প্রকৃতি যা ব্যবহারকারী ব্যবহার করতে চায়। এটি হলো ডেটা টাইপ যা কম্পাইলার বা ইন্টারপ্রিটার হ্যান্ডেল করে এবং মেইন মেমরিতে সংশ্লিষ্ট স্টোরেজ লোকেশন প্রদান করে।
এখন ডেটার প্রকৃতির ভিত্তিতে ডেটা টাইপ মূলত দুটি ধরনের: একটি হলো মৌলিক ডেটা টাইপ (Fundamental Data Type) এবং অন্যটি হলো ডেরাইভড ডেটা টাইপ (Derived Data Type)। এই দুটি ডেটা টাইপ প্রোগ্রামিং-এ ব্যবহৃত হয় এবং ডেটার ওপর বিজনেস লজিক ইমপ্লিমেন্ট করার সময় দুটোই সমানভাবে গুরুত্বপূর্ণ।
মৌলিক ডেটা টাইপ এবং ডেরাইভড ডেটা টাইপের মধ্যে গুরুত্বপূর্ণ পার্থক্যগুলো নিচে দেওয়া হলো
| ক্র. নং. | মূল বিন্দু | মৌলিক ডেটা টাইপ | ডেরাইভড ডেটা টাইপ |
|---|---|---|---|
| ১ | সংজ্ঞা | নাম অনুযায়ী মৌলিক ডেটা টাইপ হলো সেটি যা কংক্রিট এবং ভাষা নিজে প্রতিষ্ঠা করে অর্থাৎ এর নিজস্ব মৌলিক বৈশিষ্ট্য এবং প্রপার্টি রয়েছে সাথে কিছু মৌলিক মেথড থাকে যেগুলো দ্বারা সেগুলোর ওপর অপারেশন করা যায়। | অন্যদিকে ডেরাইভড ডেটা টাইপ হলো এমন ডেটা টাইপ যেগুলো মৌলিক ডেটা টাইপ দিয়ে তৈরি হয় অর্থাৎ সেগুলো মৌলিক ডেটা টাইপ থেকে ডেরাইভড এবং মৌলিক ডেটা টাইপের চেয়ে কিছু অতিরিক্ত বা সংশোধিত প্রপার্টি থাকে। |
| ২ | ইমপ্লিমেন্টেশন | যেকোনো ভাষায় মৌলিক ডেটা টাইপগুলো কংক্রিট ফর্মে ইমপ্লিমেন্টেড থাকে অর্থাৎ প্রতিটি ভাষায় নির্দিষ্ট মৌলিক ডেটা টাইপ থাকে, উদাহরণস্বরূপ C++-এ ক্যারেক্টার, ইন্টিজার, ফ্লোট, এবং ভয়েড হলো মৌলিক ডেটা টাইপ। | অন্যদিকে প্রোগ্রামিং-এ ডেরাইভড ডেটা টাইপ অ্যাবস্ট্রাক্ট ইমপ্লিমেন্টেশন-এ ইমপ্লিমেন্টেড হয় কারণ তাদের সংজ্ঞা ব্যবহারকারী দ্বারা নির্ধারিত হয় যে সে কী ধরনের ডেটার সাথে কাজ করতে চায়, উদাহরণস্বরূপ পয়েন্টার, অ্যারে, স্ট্রাকচার এবং ইউনিয়ন হলো ডেরাইভড ডেটা টাইপ। |
| ৩ | ডেটা | ক্যারেক্টার ডেটা টাইপ ক্যারেক্টার স্টোর করার জন্য ব্যবহৃত হয় এবং এটিকে char, Signed char, Unsigned char-এ ভাগ করা যায়। | অন্যদিকে পয়েন্টার ভেরিয়েবলের মান না स्टোর করে তার অ্যাড্রেস স্টোর করার জন্য ব্যবহৃত হয়। |
| ৪ | অ্যাসাইনমেন্ট | ইন্টিজার পূর্ণসংখ্যা (দশমিক অঙ্ক বাদে) অ্যাসাইন এবং স্টোর করার জন্য ব্যবহৃত হয় এবং এটিকে signed এবং unsigned-এ ভাগ করা যায়। আরও ভাগ করা যায় int, short int এবং long int-এ। | অন্যদিকে ডেরাইভড ডেটা টাইপের ক্ষেত্রে অ্যারে একই টাইপের ডেটা ধারণ করতে ব্যবহৃত হয়, সেটি ক্যারেক্টার, ইন্টিজার, ফ্লোট বা এমনকি ইউজার-ডিফাইনড ডেটা টাইপও হতে পারে। |
| ৫ | পারফরম্যান্স | মৌলিক ডেটা টাইপের ক্ষেত্রে শুধু ডেটার টাইপ এবং প্রকৃতি বিবেচনা করা হয় তাই টাইম কমপ্লেক্সিটির সমস্যা নেই কারণ এখানে ভাষার কংক্রিট ইমপ্লিমেন্টেশন-এ কাজ করা হয়। | অন্যদিকে টাইম কমপ্লেক্সিটি ডেরাইভড ডেটা টাইপের ক্ষেত্রে আসে কারণ এখানে মূলত স্টোর করা ডেটার ওপর ম্যানিপুলেশন এবং লজিক এক্সিকিউশন করা হয়। |