Various

ভেরিয়েবল এবং ডাটা টাইপ [থিওরি]

ভেরিয়েবল (Variable), বাংলায় বলে চলক। হঠাৎ করে এই চলক শব্দটি চোখে পড়লে আমি চালক কিংবা চলাক পড়ি, আবার মাঝে মাঝে চালাক’ও পড়ি। তাই দীর্ঘ কয়েকশ বছর ধরে চালক, চলাক এবং চালাক পড়ে আমার অভিজ্ঞতা হল কোষ্ট-কাঠিন্যপন্থী না হলে কেউ একে চলক সম্বোধন করবে না। ভেরিয়েবল হল কিউট এবং সোজাসাপ্টা বিষয়। একে চলক বলে মর্মান্তিক করার আদৌ কোন অর্থ হয়না। তাই চলুন আজ এই মর্মান্তিক চলকের রফাদফা করে ফেলি। আজ চলকের একদিন কি আমাদের একদিন 😀

আমি যখনি ভেরিয়েবল দেখি তখনি আমার মনের আকাশে হরলিক্সের বয়াম, মুড়ির টিন, চালের ড্রাম, সিরাপের বোতল, হোমিও-প্যাথির শিশি এসব উড়ে বেরায়। ঘটনা শতভাগ সত্যি, বিশ্বাস করুন (মিমি চকলেটের কসম, আমি মিথ্যা বলিনা) 😉 । কারণ বয়াম, ড্রাম, বোতল, শিশি এদের সাথে ভেরিয়েবলের মনের মিল রয়েছে, তাইতো একজনের টানে আরেকজন ছুটে চলে আসে! আমি ভেরিয়েবল দেখি আমার মনের আকাশে হরলিক্সের বয়াম উড়ে, আমি ভেরিয়েবল দেখি মনের আকাশে শিশি উড়ে। আজকের পর থেকে আপনার মনেও উড়বে। কি, বিশ্বাস হচ্ছে না? না হলে অপেক্ষা করুন, সবুরে মেওয়া ফলে 🙂 ।

আপনি কি কখনো খেয়াল করেছেন বয়াম, ড্রাম, বোতল, শিশি এদের সবার কিন্তু একটি বিষয়ে সম্ভব মিল আছে? এরা কিন্তু সবাই কিছু না কিছু ধারণ করে বা ধরে রাখে। অর্থাৎ এরা হল পাত্র বা কন্টেইনার (Container)। প্রোগ্রামিংয়ে এই পাত্র বা কন্টেইনার হল ভেরিয়েবল। আমরা যেমন ড্রামে চাল অথবা বয়ামে লবণ, চিনি রাখতে পারি তেমনি ভেরিয়েবলে চাল, লবণ, চিনি রাখতে পারি। ভেরিয়েবলের জন্য এই চাল, লবণ, চিনিকে বলে ডাটা (Data)

ডাটা এবং ডাটা টাইপ (Data and Data Type)

কন্টেইনারে রাখা বস্তু যেমন চাল, চিনি, চানাচুর সহ ভিন্ন ভিন্ন রকমের হয়, তেমনি ভেরিয়বলে রাখা ডাটাও কিন্তু ভিন্ন ভিন্ন রকমের হয় যাদের বলে ডাটা টাইপ। চলুন তাহলে বহু পরিচিত কিছু ডাটা টাইপ নিয়ে টুকটাক গল্পস্বল্প করি-

বুলিয়ান (Boolean): সবথেকে সহজবোধ্য এবং সবথেকে বেশি ব্যবহৃত ডাটা টাইপ হল বুলিয়ান। এটি সত্য-মিথ্যা, হ্যা-না, আছে-নাই, Yes-No, ওয়ান (1)-জিরো (0) এসব বুঝায়। এর মাঝে কোন প্যাঁচ নেই, পুরাই স্ট্রেইট। থাকলে থাক, না থাকলে ভাগ টাইপের।

নিউমেরিক (Numeric): নাম দেখে বুঝতেই পারছেন এর কাজ কারবার হল শুধু সংখ্যা (শূন্য থেকে নয় বা জিরো থেকে ওয়ান) নিয়ে। ফোঁটাওয়ালা দশমিক সুন্দরী কিন্তু এর বাইরে নয়, ভিতরেই 😉 । নিউমেরিক টাইপে আছে ইন্টিজার (Integer) যার ব্যাপার স্যাপার শুধু মাত্র পূর্ণ সংখ্যা নিয়ে, যেখানে ফোঁটা সুন্দরী নেই। যেমন- বেলা বোসের ফোন নম্বর 2441139। আবার আছে ফ্লোটিং পয়েন্ট (Floating Point) যেখানে আপনি ফোঁটা সুন্দরীকে খুঁজে পাবেন 😀 । যেমন- পাই এর মান 3.141592653589793238462643383279502884197169399375105820974944592307816406286…

স্ট্রিং (String): ধারাবাহিকভাবে অক্ষর বা বর্ণ থাকলে সেটাই স্ট্রিং। যেমন, আপনি যদি লিখেন “আমারো পরানো যাহা চায় তুমি তাই, তুমি তাই গো” তাহলে নিশ্চিন্তে ধরে নেন আপনি একটি স্ট্রিং লিখেছেন 😀 ।

যেসব ডাটা টাইপ নিয়ে আমরা গল্পস্বল্প করলাম তা প্রিমিটিভ ডাটা টাইপ (Primitive Data type)। আরেক প্রকার ডাটা টাইপ আছে যাকে বলে কম্পোজিট ডাটা টাইপ (Composite Data type)। কম্পোজিট ডাটা টাইপে আছে এ্যারে (Array), অবজেক্ট (Object) সহ আরও অনেক রকমের টাইপ। পিপাসুদের স্বাগতম কম্পোজিট ডাটা টাইপ উদ্ধারে 🙂 ।

ভেরিয়েবল টাইপ (Variable Type)

সব প্রোগ্রামিং ল্যাঙ্গুয়েজে ভেরিয়েবলের টাইপ থাকে না বা ভেরিয়েবলের টাইপ বলে দিতে হয় না। ভেরিয়েবলের টাইপের উপর নির্ভর করে প্রোগ্রামিং ল্যাঙ্গুয়েজে গুলিকে দুইভাগে ভাগ করা হয়। একটি হল স্ট্রংলি টাইপড ল্যাঙ্গুয়েজ (Strongly Typed Language) আরেকটি হল লুজলি বা উইকলি টাইপড ল্যাঙ্গুয়েজ (Loosely/Weakly Typed Language)

Strongly Typed Language এ ভেরিয়েবল ডিক্লেয়ার (Declare) করার সময়ই বলে দিতে হয় সেটি কোন টাইপের ডাটা ধরে রাখবে। যদি ভেরিয়েবল x কে ইন্টিজার হিসেবে ডিক্লেয়ার করা হয় তাহলে x অন্য টাইপের ডাটা গ্রহণ করবে না। জোর করলে রাগ করে এরর ধরাই দিবে। C, Java এসব হল Strongly Typed Language

Loosely/Weakly Typed Language ভেরিয়েবল ডিক্লেয়ার (Declare) করার সময় টাইপ উল্লেখ করতে হয় না কারণ এরা সর্বভুক টাইপের। যখন যা দিবেন তাই খাবে। এখন ইন্টিজার পরে এ্যারে এরপর আবার স্ট্রিং যা দিবেন তাই খাবে। Loosely/Weakly Typed Language গুলি নিজে থেকেই এই টাইপ কনভার্সন (Conversion) এর কাজ করে থাকে। আমাদের সাধের JavaScript, PHP, Python এই গোত্রের।

নোটঃ আজকের লেখার মূল উদ্দেশ্য হল নিজের তাত্ত্বিক জ্ঞান বাড়ানো ও সংশোধন করা এবং এই প্রক্রিয়ায় যেন অন্যরাও উপকৃত হয় সে চেষ্টা অব্যাহত রাখা। ভুলত্রুটি পেলে অবশ্যই জানাবেন 🙂

ধন্যবাদ

Comments

comments

Tagged:
%d bloggers like this: