এলএলভিএমের মধ্যবর্তী প্রতিনিধিত্ব (এলএলভিএম আইআর) গাছের মতো নয় কেন?
বিকল্পভাবে, ভাষা বাস্তবায়ন কেন ঝাঁকুনির এএসটির চেয়ে এলএলভিএম আইআরকে লক্ষ্য করে?
আমি যদি মনে করি এটি একবারে দুটি ভিন্ন প্রশ্ন জিজ্ঞাসা করার চেষ্টা করছি না। আমার কাছে, এটি সহজভাবে মনে হয় ক্লায়েন্ট এবং গ্রন্থাগার প্রোগ্রামার উভয়ই conকমত্যে এসেছেন যে এলএলভিএমের এপিআই, এর চেয়ে বেশি কিছুই কম নয়, স্পষ্টতই ভাল সফ্টওয়্যার ডিজাইন এবং আমার প্রশ্নটি "কেন?"?
আমি জিজ্ঞাসার কারণটি হ'ল মনে হচ্ছে এলএলভিএম সীমান্তগুলিতে আরও কার্যকারিতা সরবরাহ করতে পারে যদি এটি আইআরটি এএসটি-এর মতো ছিল তবে ততক্ষণে ঝনকের এএসটি-ভিত্তিক সরঞ্জামগুলি কোনও সীমান্তের জন্য ব্যবহার করা যেতে পারে। বিকল্পভাবে, যে ভাষাগুলি এলএলভিএম আইআরকে লক্ষ্য করে তারা আরও বেশি কার্যকারিতা পেতে পারে যদি তারা ক্ল্যাংয়ের এএসটি লক্ষ্য করে।
ক্ল্যাংয়ের এএসটি তৈরি করতে এবং কাজ করার জন্য ক্লাস এবং ফাংশন রয়েছে এবং এটিই একমাত্র ফ্রন্টএন্ড প্রকল্প যা দৃ strongly়ভাবে এলএলভিএম প্রকল্পের সাথে যুক্ত, তাই কেন বজ্রের এএসটি-কার্যকারিতা এলএলভিএমের বাহ্যিক?
আমার মাথার শীর্ষে, আমি জানি যে মরিচা (rustc), D (ldc), এবং হাস্কেল (জিএইচসি) সকলেই ব্যাকএন্ড হিসাবে এলএলভিএম ব্যবহার করতে পারে তবে তারা ক্ল্যাং এএসটি ব্যবহার করে না (যতদূর আমি জানি, আমি পারতাম তুমি ভুল). আমি এই সংকলকগুলির সমস্ত অভ্যন্তরীণ বিবরণ জানি না তবে কমপক্ষে মরিচা এবং ডি অবশ্যই মনে হয় এগুলি ঝাঁকুনির এএসটিতে সংকলিত হতে পারে। সম্ভবত হাস্কেলও পারত, তবে আমি সে সম্পর্কে খুব কম নিশ্চিত।
এটি কি historicalতিহাসিক কারণে (এলএলভিএম মূলত "নিম্ন-স্তরের ভার্চুয়াল মেশিন" এবং পরে ঝনঝন আসার কারণে)? এটি কি কারণ অন্যান্য সীমান্তগুলিতে তারা এলএলভিএমকে যা খাওয়ায় তার চেয়ে বেশি নিয়ন্ত্রণ পেতে চায়? এমন কি মৌলিক কারণ রয়েছে যে ঝাঁকুনির এএসটি "নন-সি-লাইক" ভাষার জন্য অনুপযুক্ত?
আমি এই প্রশ্নটি মন পড়ার ক্ষেত্রে অনুশীলন হওয়ার জন্য চাই না। আমি কেবল এটি আমাদের মধ্যে যারা কৌতূহলশীল তাদের জন্য সহায়ক হতে চাই তবে সংকলক ডিজাইনে ইতিমধ্যে সাবলীল নয়। যেহেতু এলএলভিএম এবং ঝনঝন প্রকল্পগুলি জনসাধারণের মধ্যে বিকশিত হয়েছে, তাই আমি আশা করছি যে এই প্রকল্পগুলির বিকাশের সাথে পরিচিত কেউ উত্তর দিতে পারে বা উত্তরটি যথেষ্ট সংকল্পিত নার্দের পক্ষে যথেষ্ট যে তারা উত্তর দিতে যথেষ্ট আত্মবিশ্বাসী বোধ করে।
কিছু সুস্পষ্ট কিন্তু অসন্তুষ্ট উত্তর পূর্বে শূন্য করতে:
হ্যাঁ, সমাবেশের মতো আইআর থাকার কারণে যিনি আইআর তৈরি করেন তাকে আরও নিয়ন্ত্রণ প্রদান করা হয় (সম্ভবত এক্স ল্যাং এর ঝাঁকুনির চেয়ে আরও ভাল কোডবেস এবং এএসটি ফর্ম্যাট রয়েছে) তবে যদি এটাই উত্তর হয়, তবে প্রশ্নটি হয়ে যায় "কেন এলএলভিএমের কেবল একটি সমাবেশ- একটি উচ্চ স্তরের গাছের মতো আইআর এবং নিম্ন স্তরের সমাবেশ-এর মতো আইআর? "এর পরিবর্তে আইআর এর মতো।
হ্যাঁ, প্রোগ্রামিং ভাষার একটি এএসটিতে (কমপক্ষে সংকলনের অন্যান্য পদক্ষেপের তুলনায়) পার্স করা খুব কঠিন নয় not তবুও কেন আলাদা এএসটি ব্যবহার করবেন? আর কিছু না হলে, একই এএসটি ব্যবহার করে আপনাকে এমন সরঞ্জাম ব্যবহার করতে দেয় যা এএসটিগুলিতে চালিত হয় (এমনকি সাধারণ জিনিসগুলিও এএসটি প্রিন্টারগুলির মতো)।
হ্যাঁ, আমি দৃ strongly়ভাবে একমত যে আরও বেশি মডুলার হওয়া ভাল জিনিস, তবে যদি এটিই একমাত্র কারণ, তবে অন্যান্য ভাষার প্রয়োগগুলি কেন ঝড়ের এএসটির পরিবর্তে এলএলভিএম আইআরকে লক্ষ্য করে?
এই প্রাক-অনুভূতিগুলি ভ্রান্ত হতে পারে বা বিবরণ উপেক্ষা করতে পারে, সুতরাং আপনার আরও বিশদ থাকলে বা আমার অনুমানগুলি ভুল হয়ে থাকলে এই উত্তরগুলি দিতে দ্বিধা বোধ করবেন না।
যে কেউ আরও সুনির্দিষ্টভাবে জবাব দিতে চাইছেন: গাছের মতো আইআর বনাম অ্যাসেমব্লির মতো আইআর এর সুবিধা এবং অসুবিধাগুলি কী?