ট্রান্সলেটর একধরণের কম্পিউটার প্রোগ্রাম বা প্রোগ্রামের সমষ্টি। এটি মূলত কোন নির্দিষ্ট ভাষায় লিখিত প্রোগ্রামকে মেশিনের ভাষায় রূপান্তর করে থাকে। স্পেসিফিক ভাবে বললে, ট্রান্সলেটর সোর্সকোডকে অ্যাসেম্বলি ভাষায় পরিণত করে, মেশিন ভাষায় রূপান্তরের কাজটি পরবর্তীতে অ্যাসেম্বলার করে থাকে।
অ্যাসেম্বলার ছাড়া আরও দুই ধরণের ট্রান্সলেটর রয়েছে, কম্পাইলার ও ইন্টারপ্রেটার। ট্রান্সলেটর দুইটির উদ্দেশ্য একি হলেও কাজের দিক থেকে এদের মধ্যে ভিন্নতা রয়েছে। কম্পাইলার যেখানে পুরু কোডকে একসাথে মেশিনের ভাষায় অনুবাদ করে সেখানে ইন্টারপ্রেটার লাইন বাই লাইন অনুবাদ করে থাকে।
জাভাস্ক্রিপ্ট হচ্ছে ইন্টারপ্রেটেড প্রোগ্রামিং ভাষা। জাভাস্ক্রিপ্ট ইন্টারপ্রেটার, জাভাস্ক্রিপ্ট ইঞ্জিন নামে সর্বাধিক পরিচিত। প্রথম দিকে জেএস ইঞ্জিন শুধুমাত্র ভাষাটিকে অনুবাদ করার মধ্যে সীমাবদ্ধ থাকলেও, বর্তমানে প্রায় সবগুলো মডার্ন ইঞ্জিন জাস্ট-ইন-টাইমে কোড কম্পাইলেশন করে থাকে। এতে করে ভাষাটির পারফরমেন্সে আমূল পরিবর্তন এসেছে।
প্রায় ৩০টির বেশি জেএস ইঞ্জিন থাকলেও, গুগলের ক্রোম ভি৮ ( Chrome V8), মজিলার স্পাইডার মাঙ্কি (SpiderMonkey), অ্যাপেলের নিট্রো (Nitro), মাইক্রোসফটের চাকরা (Chakra), অপেরার ছারাকান (Charakan), এডোবি ও মজিলার যৌথ উদ্যোগে তৈরি টামারান (Tamaran) এবং জাভা প্ল্যাটফর্মে রান হওয়া রিনো (Rhino) এদের মধ্যে অন্যতম।
স্পাইডার মাঙ্কি (SpiderMonkey) নামক প্রথম জেএস ইঞ্জিনটি ১৯৯৫ খ্রিস্টাব্দে ব্রেন্ডন আইচ তৈরি করেন, যা এখনও ফায়ারফক্স ব্রাউজারে জেএস ইঞ্জিন হিসেবে ব্যবহৃত হয়ে আসছে। অন্যদিকে সবচেয়ে বেশি ব্যবহৃত জেএস ইঞ্জিন হচ্ছে গুগলের ক্রোম ভি৮ ( Chrome V8)। কিছু জাভাস্ক্রিপ্ট ইঞ্জিন রয়েছে যা রান করতে নাম মাত্র মেমরির প্রয়োজন পরে। মাইক্রোকন্টলারের জন্য তৈরিকৃত এস্প্রুইনো (Espruino) নামক ইঞ্জিনটি এদের মধ্যে অন্যতম, এটি ৮কে.বি (8kB) চেয়ে কম মেমরি রয়েছে এমন পরিবেশেও নির্বিঘ্নে চলতে পারে।
জাভাস্ক্রিপ্ট ইঞ্জিন এখন আর ব্রাউজারের মধ্যে সীমাবদ্ধ নই, ক্রোম ভি৮ এর উপর ভিত্তি করে ডেভেলপ হওয়া নোডজেএস (Node.js) এর কল্যাণে এখন আমরা সরাসরি আমাদের কম্পিউটারে জাভাস্ক্রিপ্ট রান করতে পারি। নোডজেএস মূলত একটি জাভাস্ক্রিপ্ট রানটাইম সিস্টেম।
লিখেছেন - JOSHIM UDDIN
0 Comments