না, রুবি টিসিও করেন না। যাইহোক, এটা এছাড়াও নেই না TCO সঞ্চালন।
রুবি ল্যাঙ্গুয়েজ স্পেসিফিকেশন টিসিও সম্পর্কে কিছু বলে না। এটি আপনাকে এটি করতে হবে তা বলে না, তবে এটি এটিও বলে না যে আপনি এটি করতে পারবেন না । আপনি কেবল এটির উপর নির্ভর করতে পারবেন না ।
এটি স্কিমের বিপরীতে, যেখানে ভাষা নির্দিষ্টকরণের প্রয়োজন যে সমস্ত বাস্তবায়ন অবশ্যই টিসিও করবে। তবে এটি পাইথনেরও ভিন্ন নয়, যেখানে একাধিক অনুষ্ঠানে গাইডো ভ্যান রসম খুব স্পষ্ট করে জানিয়েছে (শেষ বার মাত্র কয়েক দিন আগে) পাইথন বাস্তবায়ন টিসিও করা উচিত নয় ।
ইউকিহিরো মাৎসুমোটো টিসিওর প্রতি সহানুভূতিশীল, তিনি কেবল সমস্ত প্রয়োগকারীকে সমর্থন করতে বাধ্য করতে চান না । দুর্ভাগ্যক্রমে, এর অর্থ হ'ল আপনি টিসিও'র উপর নির্ভর করতে পারবেন না, বা যদি আপনি করেন তবে আপনার কোডটি আর রুবি বাস্তবায়নের জন্য পোর্টেবল হবে না।
সুতরাং, কিছু রুবি বাস্তবায়ন টিসিও সম্পাদন করে তবে বেশিরভাগ তা করেন না। YARV, উদাহরণস্বরূপ, TCO সমর্থন করে, যদিও (মুহুর্তের জন্য) আপনাকে সোর্স কোডের একটি লাইন স্পষ্টতই uncomment করতে হবে এবং VM পুনরায় কম্পাইল করতে হবে, TCO সক্রিয় করতে হবে - ভবিষ্যতের সংস্করণগুলিতে এটি প্রয়োগের প্রমাণিত হওয়ার পরে ডিফল্টরূপে চালু হতে চলেছে স্থিতিশীল তোতা ভার্চুয়াল মেশিন টিসিও স্থানীয়ভাবে সমর্থন করে, তাই কার্ডিনাল খুব সহজেই এটি সমর্থন করতে পারে। সিএলআরটির টিসিওর জন্য কিছু সমর্থন রয়েছে, যার অর্থ আয়রণরবি এবং রুবি.এনইটি সম্ভবত এটি করতে পারে। রুবিনিয়াস সম্ভবত এটিও করতে পারতেন।
তবে জেআরবি এবং এক্সরুবি টিসিও সমর্থন করে না এবং তারা সম্ভবত তা করবে না, যদি না জেভিএম নিজেই টিসিওর পক্ষে সমর্থন না পায়। সমস্যাটি হ'ল: যদি আপনি একটি দ্রুত বাস্তবায়ন করতে চান এবং জাভার সাথে দ্রুত এবং বিরামবিহীন সংহত করতে চান তবে আপনার জাভার সাথে স্ট্যাকের সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত এবং যতটা সম্ভব জেভিএমের স্ট্যাকটি ব্যবহার করা উচিত। আপনি ট্রাম্পোলাইন বা স্পষ্ট ধারাবাহিকতা-পাসিং শৈলীর সাহায্যে টিসিও সহজেই বাস্তবায়ন করতে পারেন, তবে তারপরে আপনি আর জেভিএম স্ট্যাক ব্যবহার করছেন না, যার অর্থ আপনি যতবারই জাভাতে কল করতে চান বা জাভা থেকে রুবিতে কল করতে চান, আপনাকে কোনও ধরণের সঞ্চালন করতে হবে রূপান্তর, যা ধীর। সুতরাং, এক্সরুবি এবং জেরুবি টিসিও এবং ধারাবাহিকতাগুলির (যা মূলত একই সমস্যা রয়েছে) গতি এবং জাভা সংহতকরণের সাথে যেতে বেছে নিয়েছে।
এটি রুবির সমস্ত প্রয়োগের ক্ষেত্রে প্রযোজ্য যা কিছু হোস্ট প্ল্যাটফর্মের সাথে শক্তভাবে সংহত করতে চায় যা টিসিও স্থানীয়ভাবে সমর্থন করে না। উদাহরণস্বরূপ, আমি অনুমান করি ম্যাকরবি একই সমস্যা হতে চলেছে।