
মিউজিক আমার নেশার জায়গা হলেও পেশাগত দিক থেকে আমি কম্পিউটার সায়েন্সের একজন নগন্য ছাত্র। রোমান্টিক লেখালেখি করে আবেগের বারোটা বাজিয়ে আসছি প্রায় বছর তিন-চারেক ধরে, তাই বেশ কিছুদিন ধরেই ইচ্ছা ছিল আমার সাবজেক্ট রিলেটেড কিছু একটা লেখার। গুরুত্ত্বের দিক থেকে চিন্তা করলে যে দিকটি সবচে প্রথমে আমার কাছে আসে সেটা হল প্রোগ্রামিং। লেখাটি খুবই খুবই মৌলিক … যদি কারো আগ্রহ এদিকটা থাকে তো একবার নজর বুলিয়ে নিলে আশা করি সময়টুকু বৃথা যাবেনা।
“প্রোগ্রামিং ল্যাংগুয়েজ” – শুনেই বোঝা যাচ্ছে এটা এক ধরনের ভাষা। কিন্তু প্রোগ্রামিং কিংবা প্রোগ্রাম টা আসলে কি ? সহজ বাংলায় বলতে গেলে প্রোগ্রাম হল কি কিছু নির্দেশের সমষ্টি। ধরুন আপনি গান শোনার জন্য winamp সফটওয়্যারটি ব্যাবহার করেন, এটিও একটি প্রোগ্রাম। কারন যিনি winamp বানিয়েছেন তিনি আগে থেকেই এই সফটওয়্যারটির ভিতরে কিছু নির্দেশ লিখে দিয়েছেন যার দরুন এটি গান গুলো প্লে করে আপ্নাকে শোনাতে পারছে। আর যেই ভাষা দিয়ে এই নির্দেশ গুলো লেখা হয় বা প্রোগ্রাম গুলো তৈরী করা করা হয় তাকে বলে প্রোগ্রামিং ল্যাংগুয়েজ। এটা মোটামুটি আমরা সবাই জানি যে কম্পিউটার হল একটা নির্বোধ যন্ত্র, অর্থাৎ এর কোন নিজস্ব বুদ্ধি-বিবেক নাই। ওকে আমরা প্রোগ্রামিং ল্যাংগুয়েজের মাধ্যমে যেই কমান্ড গুলো করব সে একান্ত বাধ্য হয়ে সেই কাজ গুলো করে দেবে। সুতরাং কম্পিউটার কে আপনার নিজের বশে আনার জন্য অর্থাৎ তাকে আপনার কমান্ড ফলো করার জন্য তার ভাষাই আপনাকে শিখতে হবে। আর সেটাই হল প্রোগ্রামিং ল্যাংগুয়েজ। সি, জাভা, সি শার্প, ভিজ্যুয়াল বেসিক ইত্যাদি বিভিন্ন প্রোগ্রামিং ল্যাংগুয়েজের ভাল নাম।
প্রাথমিক পর্ব শেষ, এবার একটু গভীরে যাব। যদি জানি তবে ভাল যদি না জানি তবে জেনে নিই যে আমাদের কম্পিউটার কিন্তু ০ এবং ১ ছাড়া কিচ্ছু বুঝে না যেটা কিনা বাইনারি সংখ্যা পদ্ধতি। ০ মানে হল বৈদ্যুতিক সিগনাল নাই, আর ১ মানে আছে। আর আমরা আমাদের দৈনন্দিন কাজে কর্মে যে সংখ্যা পদ্ধতি ব্যাবহার করি সেটা হল “দশমিক সংখ্যা পদ্ধতি”। যাই হোক, প্রোগ্রামিং ল্যাংগুয়েজ লেখতে কেমন হয় ? একটা উদাহরন দিচ্ছি, ধরুন আমি এমন একটি প্রোগ্রাম চায় যেটা আমার নামটি কম্পিউটার স্ক্রিনে শো করবে। যদি এমন কাজটি করতে চায় তাহলে সেটা আগে কম্পিউটারকে তার নিজের ভাষাতেই বোঝাতে হবে যে বাবা !! আমি তোমার স্ক্রিনে আমার নামটি শো করতে চাচ্ছি। “সি” এমন একটি ভাষা যেটা কিনা কম্পিউটার বুঝে। তো এখন যদি সি ল্যাংগুয়েজ ইউজ করে আপনি কাজটি করতে চান তবে আপনাকে লিখতে হবেঃ printf (“Ricky Islam”) ; । এখানে printf হল সি ল্যাংগুয়েজ এর একটা বিল্ট ইন ফাংশন যেটা ইউজ করলে কম্পিউটার বুঝে যে তাকে কোন কিছু স্ক্রিনে প্রিন্ট করবার জন্য নির্দেশ দেওয়া হচ্ছে। আচ্ছা বিল্ট ইন ব্যাপারটা কি ? ধরুন আপনার এন্ড্রোয়েড ফোনে বিল্ট ইন ভাবে স্কাইপ ইন্সটল করা আছে, তার মানে কোম্পানি আপনাকে আগে থেকেই ঐটি দিয়ে দিয়েছে, আপনার নতুন করে ইন্সটল করবার দরকার নাই। ঠিক তেমন প্রোগ্রামিং ল্যাংগুয়েজের Built In Function বলতে বোঝাইয় সেই ফাংশান গুলাকে যেগুলোর কাজ ঐ ল্যাংগুয়েজের ডেভেলপাররা আগে থেকেই নির্দিষ্ট করে দিয়েছে। এখন ধরুন আপনি নতুন একটা ফাংশান বানাতে চান যেটা কিনা ব্যাংকের সুদের পরিমান হিসেব করবে। তখন একটা ফাংশন আপনাকে বানিয়ে নিতে হবে, কারন এমন কোন ফাংশন বিল্ট ইন ভাবে থাকে না। যেই ফাংশান আপনি আপনার প্রয়োজনে বানান সেটা কে বলা হয় User Defined Function । নিচের ছবিটিতে দেখুন printf (“Ricky Islam”) ; এক্সিকিউট হয়ে কিভাবে Ricky Islam লেখাটা কালো স্ক্রিনে প্রিন্ট করছে।

কিন্তু এখানে কিছু পরষ্পর বিরোধী কথা মনে হতে পারে। যেমন আমি আগেই লিখেছি কম্পিউটার মেশিন ল্যাংগুয়েজ ছাড়া কিচ্ছু বুঝে না কিন্তু Printf (খানিকটা ইংরেজি শব্দ)শব্দটা দ্বারা তাকে কিভাবে বুঝালাম যে ব্রাকেটের মধ্যের নামটি প্রিন্ট করতে হবে ? তারমানে এখানে একজন অনুবাদক দরকার যেটা কিনা ইংরেজি বর্নমালায় লেখা প্রোগ্রামিং ল্যাংগুয়েজটিকে কম্পিউটারের বোধগম্য মেশিন ল্যাংগুয়েজ এ রুপান্তর করবে। আর সেই অনুবাদক্টিকে বলা হয় “কম্পাইলর”। প্রতিটা কোড লেখার পরই আমাদেরকে ঐ কোডটি কম্পাইল ও বিল্ড করতে হয়। তখন আমরা একটা .exe ফাইল পাই যেটা কিনা ঐ কাংক্ষিত এক্সিকিউটেবল প্রোগ্রাম। মোটামুটি এভাবেই কাজ করে প্রোগ্রামিং ল্যাংগুয়েজ গুলা। এভাবে আমাদের দৈনন্দিন প্রায় সকল সমস্যার সমাধান করা যায় প্রোগ্রামিং ল্যাংগুয়েজে। তবে তার জন্য আপনাকে প্রোগ্রামিং ল্যাংগুয়েজ এর পাশাপাশি ম্যাথ, লজিক, এলগরিদমস এবং ডাটা স্ট্রাকচারে বেশ পারদর্শী হতে হবে
সর্বশেষ এডিট : ১১ ই অক্টোবর, ২০১৫ রাত ৮:২২

অনুগ্রহ করে অপেক্ষা করুন। ছবি আটো ইন্সার্ট হবে।




