Saturday, October 16, 2021

পাইথন নিয়ে যতকথা পার্ট ৩

ইন্টারপ্রেটার
ইন্টারপ্রেটার একটি সময় প্রোগ্রামের কেবলমাত্র একটি বিবৃতি মেশিন কোডে অনুবাদ করে

সোর্স কোড বিশ্লেষণ করতে ইন্টারপ্রেটার খুব কম সময় নেয়। যাইহোক, প্রক্রিয়াটি কার্যকর করার সামগ্রিক সময়টি অনেক ধীর।

ইন্টারপ্রেটার কোনও মধ্যস্থতাকারী কোড তৈরি করে না। সুতরাং, ইন্টারপ্রেটার তার মেমরি অনুসারে অত্যন্ত দক্ষ।

প্রথম ত্রুটির মুখোমুখি না হওয়া পর্যন্ত অবিচ্ছিন্নভাবে প্রোগ্রামটি অনুবাদ করতে থাকে। যদি কোনও ত্রুটি চিহ্নিত করতে পারে তবে এটি কাজ করা বন্ধ করে দেয় এবং ডিবাগ করা সহজ হয়ে যায়।

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

কম্পাইলার সোর্স কোড বিশ্লেষণ করতে অনেক সময় নেয়। যাইহোক, প্রক্রিয়াটি কার্যকর করতে সামগ্রিকভাবে নেওয়া সময়টি আরও দ্রুত।

কম্পাইলার সবসময় একটি মধ্যবর্তী অবজেক্ট কোড তৈরি করে। এটি আরও সংযোগ প্রয়োজন। তাই আরও মেমরি দরকার।

কম্পাইলার সম্পূর্ণ প্রোগ্রামটি স্ক্যান করার পরেই ত্রুটি বার্তা তৈরি করে এবং তাই কম্পাইলের সাথে কাজ করার সময় ডিবাগিং তুলনামূলকভাবে কঠিন হয়ে যায়।

সি এবং সি ++ এর মতো প্রোগ্রামিং ল্যাঙ্গুয়েজ এ কম্পাইলার ব্যবহার করা হয়।
পাইথন কি কম্পেটিটিভ প্রোগ্রামিংয়ের জন্য উপযুক্ত?
পাইথন হলো স্ক্রিপ্টিং ভাষা, যদিও আপনি এটি সিপির জন্য ব্যবহার করতে পারেন তবে IOI মতো অনেক সিপি প্রতিযোগিতায় পাইথন অনুমোদিত নয়। সেক্ষেত্রে কম্পেটিটিভ প্রোগ্রামিং এর জন্য পাইথন সিলেক্ট না করাই ভালো । অন্যদিকে সি/সি ++ কম্পেটিটিভ প্রোগ্রামিংয়ের জন্য দুর্দান্ত কারণ এটির দ্রুত গতি, মেমরি পরিচালনা, পয়েন্টার ইত্যাদি এছাড়াও সি ++এ STL (Standard Temporary Library) রয়েছে যার ভেতরে Data Structure এবং Algorithms এর একটি দুর্দান্ত সংগ্রহ রয়েছে এবং কোডের অনেক অ্যালগরিদমকে সহজ করে তোলে।