আমি মনে করি আপনার উত্তরগুলির জন্য আমাদের যে প্রশ্নগুলি জিজ্ঞাসা করতে হবে সেগুলি হ'ল "অন্যান্য ভাষা / বাস্তুতন্ত্রের নিজস্ব কেন্দ্রীভূত প্যাকেজ সংগ্রহস্থল থাকা থেকে কী লাভ হয়?" এবং "এটি কি সি / সি ++ এর জন্য প্রযোজ্য?"
আমি অনুভব করি যে প্রথম প্রশ্নের উত্তর একটি নতুন ভাষার প্রাথমিক প্রচারের সাথে কিছু আছে: প্রথমদিকে গ্রহণকারীরা বাস্তুতন্ত্রের প্রবেশের পক্ষে, দরকারী, পরীক্ষিত কোড অর্জন করতে এবং তাদের নিজস্ব ফিরিয়ে দেওয়ার জন্য এটি যতটা সম্ভব সহজ করে তুলতে চান। সুস্পষ্ট কারণে, "ব্যবহারের গ্রাফ" এর সর্বদা একক মূল থাকে - ভাষার স্রষ্টা (গুলি)। এখানে সাধারণত একটি রেফারেন্স বাস্তবায়ন হয় (কমপক্ষে প্রাথমিকভাবে) এবং সুতরাং যে কোনও কোড আপনি ভাগ করতে চাইতে পারেন তার সাথে এটি মেনে চলতে হবে।
এটি কেবল ডাউনলোড এবং সংকলনকারী প্যাকেজগুলি তৈরি করা সহজ করে। অবশ্যই, যদি 2013 সালে সি বা সি ++ চালু করা হত, তবে তাদের সম্প্রদায়গুলিও একই ধরণের বিবর্তনীয় পথ অনুসরণ করতে পারত, তবে তাদের কোনও প্যাকেজ ম্যানেজার প্রয়োগ করার জন্য কোনও একক প্রচলিত সরঞ্জামচয়ন নেই। এই জাতীয় প্রোগ্রাম বাস্তবায়ন খুব ঝামেলার উপযুক্ত হতে তোলে। (আপনি কি ব্যবহারকারীদের libfoo-gcc এবং libfoo-vs এর মধ্যে বেছে নিতে পারেন? সমাধানের জন্য আপনি কি এটি প্যাকেজরের উপরে ছেড়ে দিচ্ছেন? বা বিল্ড প্রক্রিয়া? যদি তা হয় তবে কীভাবে প্যাকেজ স্ট্রেট-আপ টারবালের চেয়ে আলাদা?)
সুতরাং প্রথম প্রশ্নের উত্তরটি সংক্ষেপে আমি মনে করি প্যাকেজ পরিচালকদের তৈরি করার প্যাটার্নটি বেশিরভাগ গ্রহণের জন্য চালিত করে ।
এই বিষয়টি মাথায় রেখে, আমি মনে করি কেন এটি প্রয়োজনীয়তা পূরণের জন্য কোনও একক সিস্টেমের উত্থান হয়নি - এটি সি এবং সি ++ প্রোগ্রামারদের জন্য প্রয়োজনীয়তার অস্তিত্ব নয় কেন তা মোটামুটি সহজ। সি এবং সি ++ সম্প্রদায়ের (বা কোনও প্রোগ্রামার সম্প্রদায়, সত্যই) কী সমস্যা তৈরি করে তা হ'ল মূলত অন্তর্নিহিত প্রয়োজন: বিতরণ করা, আপ টু ডেট রাখা এবং ব্যাক কোড অবদান। এটি বিভিন্ন সময়ে সাফল্যের বিভিন্ন ডিগ্রী সহ বিভিন্ন ব্যক্তি দ্বারা সমাধান করা হয়েছে, এবং প্রকৃতপক্ষে একটি সিস্টেম উল্লেখযোগ্য বাজার অংশ অর্জন করছে: গিট (এবং তার আগে কিছু অন্যান্য সিস্টেম)।
মূলত সেসব সমস্যাগুলোতে ভিন্ন, সমাধান খুব বিভিন্ন চেহারা, কিন্তু এই প্রোগ্রামটিতে টাইপিং মধ্যে পার্থক্য gem install
এবং git clone
তর্ক করা হয়।