প্রোগ্রামিং ল্যাঙ্গুয়েজ কি?

প্রোগ্রামিং ল্যাঙ্গুয়েজ এর বেসিক ফাউন্ডেশন বাংলা টিউটোরিয়াল এ আবারও আপনাদের সবাইকে স্বাগতম।

এখন পর্যন্ত শত শত প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি হয়েছে, কম্পিউটার আসার পর থেকে। কিন্তু সেখান থেকে অল্প কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ বিখ্যাত হয়েছে। যেমনঃ

C, C++, C#, Java, JavaScript, Perl, PHP, Python, Objective-C, Ruby, Visual Basic

আসলে বিখ্যাত হয়েছে বলতে আমি বুঝাতে চাছি যে, বিভিন্ন সফটওয়্যার তৈরি করার জন্য এসব ল্যাঙ্গুয়েজ অনেক বেশি ব্যবহার করা হয়, বা অনেক বেশি মানুষ এসব ল্যাঙ্গুয়েজ ব্যবহার করে, আর ল্যাঙ্গুয়েজ এর অনেক কমিউনিটি আছে যেখান থেকে আপনি হেল্প পেতে পারেন। সবচেয়ে গুরুত্ত পূর্ণ কথা হল, এসব ল্যাঙ্গুয়েজ এর চাকুরী অনেক বেশি।

এখনও অনেক নতুন ল্যাঙ্গুয়েজ আসছে কিছু হিট করছে, কিছু করছে না। তাই আমি যেসব ল্যাঙ্গুয়েজ এর কথা লিখেছি তা চেঞ্জও হতে পারে, কিন্তু তা অনেক ধীরে চেঞ্জ হয়।

আপনার চাকুরী জীবনে আপনাকে অনেক ল্যাঙ্গুয়েজ এই কাজ করতে হতে পারে।  কিন্তু আপনার বেসিক যদি ঠিক থাকে তাহলে আপনি যেকোন ল্যাঙ্গুয়েজ এই কাজ করতে পারবেন। এর টিউটরিয়াল এর পরের টিউটরিয়াল গুলুতে আমরা বেশ কিছু ল্যাঙ্গুয়েজ এর বিস্তারিত আলোচনা করব।

যদি আপনি প্রোগ্রামিং এ নতুন হয়ে থাকেন, তাহলে হয়ত চিন্তা করছেন, যদি সব ল্যাঙ্গুয়েজই একই কাজ করে, তাহলে এত ল্যাঙ্গুয়েজ থেকে কি লাভ? কেন শুধু একটা কম্পিউটার ল্যাঙ্গুয়েজ নয়? আসলে কম্পিউটার কিন্তু শুধু একটা ল্যাঙ্গুয়েজ ই চিনে, কিন্তু এগুলু একটাও আমি যেগুলোর নাম লিখেছি তা থেকে নয়!  কম্পিউটার CPU বা চিপ বা central processing unit যা যেকোন কম্পিউটার এর ব্রেন (ডেস্কটপ, ল্যাপটপ, সার্ভার, ফোন), এটি এসব ল্যাঙ্গুয়েজ এর কোনটায় বুঝতে পারে না।

আমরা যখন কোড লিখি, তখন বলি যে আমরা এমন কিছু instructions লিখি যেন  কম্পিউটার তা বুঝতে পারে, কিন্তু আমরা তা করি না। CPU বা চিপ আসলেই যে ল্যাঙ্গুয়েজ বুঝে তা হল মেশিন কোড বা মেশিন ল্যাঙ্গুয়েজ। মেশিন কোড হছে একচুয়াল instructions যা আপনার হার্ডওয়ার এ রান হয়।

তাহলে আপনি প্রশ্ন করতে পারেন, কেন আমরা সরাসরি মেশিন কোড না লিখে এতসব প্রোগ্রামিং ল্যাঙ্গুয়েজ এ কাজ করি বা লিখি? কারন মেশিন কোড এ লিখা আসলেই অসম্ভব।  এই হল মেশিন কোড এর উদাহরণঃ

মেশিন কোড

আপনি  যদি মেশিন কোড লিখতেও পারেন, তাহলেও কেউ তা বুঝতে পারবে না। এটা শুধু মাত্র মেশিন এর জন্য মানুষ এর জন্য নয়। আর যেহেতু মেশিন কোড CPU এর জন্য লিখা হয়, তাই বিভিন্ন CPU এর জন্য আলাদা আলাদা মেশিন কোড কাজ করে, বা লিখা হয়।  তাই মেশিন কোড এ প্রোগ্রাম লিখাটা অনেকটা, চাকু হাতে পাহাড়ের নিচে গর্ত করার মতই। এটা থিওরেটিক্যালি সম্ভব হলেও এটা সময় নিবে এবং এত বোরিং কাজ যে আপনি অল্প সময়েই মেশিন কোড এ কাজ করার আগ্রহ হারিয়ে ফেলবেন।

সুতরাং সব C, C++, C#, Java, JavaScript, Perl, PHP, Python, Objective-C, Ruby, Visual Basic এবং আরও সব প্রোগ্রামিং ল্যাঙ্গুয়েজ যা করে তা হল মানুষের আর মেশিন কোড এর মধ্য এই গ্যপ দূর করে। কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ এই মেশিন কোড এর খুব কাছের ল্যাঙ্গুয়েজ, যেমন Assembly Language, যা লিখা আসলেই কঠিন, কারন এই ধরনের প্রোগ্রামিং করতে হলে আপনাকে Hardware সম্পর্কেও জানতে হবে, তাই  এই ধরনের ল্যাঙ্গুয়েজকে Low Level Language বলে।  

আর আমরা সাধারণত যেসব ল্যাঙ্গুয়েজ এ কোড লিখি তাদের High Level Language বলে। যেমন C, C++, C#, Java, JavaScript, Perl, PHP, Python, Objective-C, Ruby, Visual Basic আরও অনেক। যেখানে Hardware সম্পর্কেও আপনাকে চিন্তা করতে হবে না। High Level Language এ কোড লিখা ও বিভিন্ন Platform এ শেয়ার করাও সহজ। কিন্তু যখন রান করা হয়, তখন রান টাইম একটু বেশি লাগে। এই টিউটোরিয়াল এ আমরা High Level Language নিয়ে আলোচনা করব। আমরা কিন্তু যেই ল্যাঙ্গুয়েজ এই কোড লিখি না কেন, তা অবশ্যই মেশিন কোড এ কনভার্ট হয়ে রান করে।  

কিন্তু প্রোগ্রামিং বলতে আমরা যা বুঝি তা হল শুধু মাত্র সোর্স কোড, যা লিখা হতে পারে C++, C#, Java, JavaScript, Perl, PHP, Python,  বা অন্য যেকোন ল্যাঙ্গুয়েজ দ্বারা। যখন আমরা বলছি আমি কোড লিখছি, প্রোগ্রামিং বা কোডিং লিখছি, তার মানে আমি সোর্স কোড লিখছি। সুতরাং যেকোন প্রোগ্রামিং  ল্যাঙ্গুয়েজ এ কোড লিখতে গেলে তিনটি জিনিস জানা প্রয়োজন, তা হলঃ

১। কিভাবে সোর্স কোড লিখতে হয় বা কোথা থেকে সোর্স কোড লিখা শুরু করতে হয়।

২<। বুঝতে হবে কিভাবে সেই সোর্স কোড মেশিন কোড এ কনভার্ট হয়।

৩। কিভাবে সোর্স কোড রান করতে বা execute করতে হয়। সোর্স কোড execute করাটা বেশির ভাগ ক্ষেত্রেরই কোন প্রোগ্রামিং  ল্যাঙ্গুয়েজ এ কাজ করছি তার উপর নির্ভর করে।

Leave a Reply