কিভাবে সোর্স কোড রান করতে হয়?

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

সুতরাং আমদের সোর্স কোডকে রান করার আগে কোন ভাবে মেশিন কোডে কনভার্ট করতে হবে। এটা করার দুটি উপায় আছেঃ একটি হল সোর্স কোডকে Compiled করা, আরেকটি হয় সোর্স কোডকে Interpreted করা। সৌভাগ্য ক্রমে আপনাকে এটা নিয়ে চিন্তা করতে হবে না। অধিকাংশ ল্যাঙ্গুয়েজই এই সিদ্ধান্ত নেইয় যে সোর্স কোডকে Compile করতে হবে নাকি Interpreter করতে হবে। কিন্তু আপনাকে এদের মধ্যে পার্থক্যটা জানতে হবে।

আসুন আমরা একটি উদাহরণ দেখি, তাহলেই অনেক ভালোভাবে বুঝা যাবেঃ

compiler

compiler

যদি শুধু আপনি এবং আমার কথা চিন্তা করি, তাহলে ধরুন আপনার একটি কম্পিউটার আছে এবং আমার একটি কম্পিউটার আছে। আপনি একটি প্রোগ্রাম লিখেছেন যা আপনার রান করাতে হবে। এখন আপনি যদি Compiled প্রোগ্রামিং ল্যাঙ্গুয়েজ এ সোর্স কোড লিখেন তাহলে আপনার একটি Compiler আছে যা আপনার সোর্স কোড দেখে তা থেকে আলাদা একটা ফাইল তৈরি করবে যেখানে মেশিন কোড আছে। এবং আপনি আমাকে শুধু সেই মেশিন কোড এর ফাইলটা দেবেন, এটাকে সাধারণত executable ফাইল বলে, যেখানে শুধু রেজল্টা থাকে। কারন আমি এখানে শুধু জানি কি করে আপনার প্রোগ্রামটা চালাতে হবে। আপনি আপনার সোর্স কোড আপনার রেখে দিয়েছেন এবং আমি কখনো তা দেখতে পাবনা।

Interpreter

Intermediate Approach

অন্যদিকে, Interpreted ল্যাঙ্গুয়েজ এর জন্য আপনি আপনার সোর্স কোড Compile করবেন না, আপনি আপনার সোর্স কোড এর একটা কপি আমাকে দিয়ে দিবেন। আমার কম্পিউটারের দরকার একটা Interpreter যখনই আমি আপনার সোর্স কোড রান করাতে চাব। আমার কম্পিউটারের Interpreter আপনার সোর্স কোড এর প্রতিটি লাইন দেখে তা রান করাবে। এটা কখনো আলাদা মেশিন কোড এর ফাইল এ সেইভ হবেনা। আপনি অনেক Interpreted ল্যাঙ্গুয়েজ ব্যবহার করেছেন, যদিও আপনি না জানেন তাও। যদি আপনি কোন ওয়েব পেইজ ভিজিট করে থাকেন যেখানে JavaScript ব্যবহার করা হয়েছে, তাহলেই আপনি Interpreted ল্যাঙ্গুয়েজ ব্যবহার করেছেন। কারন JavaScript আপনার পিসির ওয়েব ব্রাউজার এ Interpreted ল্যাঙ্গুয়েজ হিসাবে কাজ করেছে এবং ওয়েব ব্রাউজার এখানে Interpreter।

তাহলে কোনটা ভাল। দুটোরই কিছু উপকারিতা এবং অপকারিতা আছেঃ

advanced and disadvanced

আমরা এখানে দেখতে পাচ্ছি যে complied এবং Interpreted ল্যাঙ্গুয়েজ এর ভালো এবং খারাপ দুটো দিকই আছে, তাই আমরা একসাথে দুই ধরনেরই ল্যাঙ্গুয়েজ ব্যবহার করতে পারি। সব কোড কম্পাইল করে রান না করে, আমরা যা করতে পারি তা হল অর্ধেক কোড কম্পাইল করে রান করব আর অর্ধেক কোড ইন্টারপ্রেট করে রান করব একে বলা হয় Intermediate ল্যাঙ্গুয়েজ ।

Intermediate Approach

Intermediate Approach

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

language example

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

Leave a Reply