আবর্জনা সংগ্রহের সুবিধা হ'ল এটি অসীম পরিমাণের স্মৃতিযুক্ত একটি মেশিনকে অনুকরণ করে। এই বিমূর্তকরণের প্রক্রিয়া বা প্রয়োগকরণ প্রোগ্রামার হিসাবে আপনার কাছে সম্পূর্ণ স্বচ্ছ হওয়ার উদ্দেশ্যে। আমরা সকলেই জানি যে প্রক্রিয়াটি মেমোরিটিকে পুনরায় দাবি করছে যা এই প্রোগ্রামটি আর ব্যবহার করে না, তবে এটি আসলে গ্যারান্টিযুক্ত নয়। আপনি যদি প্রোগ্রামটি বাস্তবে কখনও ব্যবহার না করে তার চেয়ে বেশি র্যামযুক্ত কোনও মেশিনে প্রোগ্রামটি চালান, তবে আবর্জনা সংগ্রহ কখনই ঘটবে না। আবার, অপ্রাসঙ্গিক, কারণ আপনি কীভাবে এটি মেমরি ব্যবহার করে তা বিবেচনা ছাড়াই প্রোগ্রামটি লিখতে পারেন। প্রোগ্রামটি যখনই এটির অনুরোধ করবে মেমরি ম্যানেজার কেবলমাত্র আরও বেশি র্যাম বরাদ্দ করবে এবং আপনাকে ধরে নিতে হবে যে এই জাতীয় বরাদ্দ সর্বদা সফল হবে। জাভা একটি আবর্জনা-সংগৃহীত ভাষা এবং সি ++ নেই। 1
আবর্জনা সংগ্রহের অসুবিধাটি হ'ল সমস্ত বিমূর্ততার মতো এটিও ফুটো হয়ে যায়। এটি সর্বদা পুরোপুরি পুরোপুরি কাজ করে না, বিশেষত প্রান্তের ক্ষেত্রে এবং আপনি সম্ভবত বাগগুলিতে চলে আসবেন। যে সমস্ত লোক আবর্জনা সংগ্রহের অ্যালগরিদম লিখেছেন (যেটি প্রোগ্রামার হিসাবে আপনার কাছে স্বচ্ছ বলে মনে করা হয়েছিল) সর্বাধিক সাধারণ মামলার জন্য অনুকূলিত হয়েছিল এবং সাধারণ ক্ষেত্রে সমস্যাটি হ'ল তারা কখনই সাধারণ হয় না। সাধারণভাবে , মেমরি পরিচালনা করতে আপনি জঞ্জাল সংগ্রহকারী এর চেয়ে ভাল কোনও কাজ করতে পারবেন না। তবে নির্দিষ্ট পরিস্থিতিতে (এবং পর্যাপ্ত পরিমাণ সময়, শক্তি এবং বোঝাপড়া দেওয়া), এটি সম্ভবত সম্ভব হতে পারে। সি ++ আপনাকে এই নমনীয়তা দেয়; জাভা হয় না।
এই সমস্ত বলেছিল, আমি মনে করি যে ভাষা চয়ন করার জন্য আদর্শ পরামর্শটি এখানে প্রযোজ্য, এই ক্ষেত্রে সীমাবদ্ধতার কারণে সম্ভবত আরও বেশি more প্রকল্পটির প্রাথমিক বিকাশকারীদের কাছে সর্বাধিক পরিচিত ভাষাটি চয়ন করুন। সুস্পষ্ট কারণগুলি ছাড়াও (যেমন আপনি দ্রুত এবং আরও দক্ষতার সাথে অ্যাপ্লিকেশন বিকাশ করতে সক্ষম হবেন), এটি বিশেষত বিশেষত isআপনার বর্ণনার ক্ষেত্রে গুরুত্বপূর্ণ কারণ প্রোগ্রামিং সি ++ এর মতো আপনি জাভা প্রোগ্রামিংয়ের ফলে মারাত্মকভাবে অকার্যকর মেমরি পরিচালনার অনুশীলন ঘটতে চলেছে, এবং তাই ফুটো এবং ক্রাশ হয়। আনুষাঙ্গিকভাবে, জাভাতে প্রোগ্রামিং যেমন আপনি সি ++ তে প্রোগ্রামিং করছেন তেমন ভাল কিছু করতে পারে না, এবং জঞ্জাল সংগ্রহের অ্যালগোরিদমগুলি সর্বাধিক সাধারণ ক্ষেত্রে ট্যুইক করা ও সুরযুক্ত হওয়ার কারণে কম-অপটিমাইজড প্রোগ্রাম তৈরি করতে পারে given ।
যে প্রোগ্রামাররা আবর্জনা-সংগৃহীত ভাষাগুলিতে কাজ করতে অভ্যস্ত তারা জঞ্জালের বিরুদ্ধে লড়াই করার পরিবর্তে আবর্জনা সংগ্রহকারীকে বিশ্বাস করতে শেখে। আপনি যদি কোনও আবর্জনা-সংগৃহীত ভাষায় কাজ করছেন, তবে আপনার প্রোগ্রামটিতে আপনি যে প্রোগ্রামার চান তা এগুলি। প্রোগ্রামার যারা নাআবর্জনা-সংগৃহীত ভাষায় কাজ করার অভ্যস্ততা এ জাতীয় "অসীম স্মৃতি" বিমূর্ততার সহজাত সংশয়বাদী এবং প্রচুর ভাল কারণ সহ ঘন ঘন। এই প্রোগ্রামাররা যেমন হতে পারে ঠিক তেমনি, আপনি কোনও আবর্জনা-সংগৃহীত ভাষায় কাজ করতে চাইছেন না কারণ তারা প্রতিটি ধাপে জিসির বিরুদ্ধে লড়াই করে যাবেন, ক্রমাগত এটি দ্বিতীয়-অনুমান করে এবং প্রায়শই ধীর, কম স্মৃতি-দক্ষ তৈরি করে প্রোগ্রামার অন্যান্য ধরণের চেয়ে কোড। সর্বোপরি, তারা চাকা পুনরুদ্ধার করতে আপনার প্রচুর অর্থ ব্যয় করবে এবং দীর্ঘমেয়াদী রক্ষণাবেক্ষণ ব্যয়ে আরও অনেক বেশি ব্যয় করবে in
এবং তারপরে আপনার নিজেরও জিজ্ঞাসা করা দরকার যে এটি সত্যিই গুরুত্বপূর্ণ। বো-র স্পাইন্ড মন্তব্যে সত্যের ইঙ্গিত ছাড়াও আরও কিছু রয়েছে: স্মৃতি এখন এত সস্তা, এটি খুব বেশি দামের হাত পাকানো খুব কমই মূল্যবান। এমনকি যদি আপনার প্রচুর পরিমাণের প্রয়োজন হয় তবে 10 বছর আগে যে পরিমাণ পরিমাণ ছিল তা এখন প্রায় বৃহত্তর নয়। প্রোগ্রামাররা এবং এপ্লিকেশন ডেভেলপমেন্ট হয় পর্যন্ত মাত্র RAM এর gobs ক্রয় এবং প্রক্রিয়াকরণ ক্ষমতা বেশী ব্যয়বহুল। এর অর্থ এই নয় যে যেখানে সম্ভব সেখানে আপনার অর্থনীতি রোধ করা উচিত, তবে এর অর্থ এই নয় যে এটি করাতে আপনার খুব বেশি সময় নষ্ট করা উচিত নয়।
1 অবশ্যই, এই অনুমানটি প্রশ্নের আরও গভীর ত্রুটি তুলে ধরে। দেখা যাচ্ছে যে, "জাভা বা সি ++" হ'ল একটি লাল রঙের হেরিং। স্ট্যান্ডার্ড জাভা বাস্তবায়ন আবর্জনা সংগ্রহ সরবরাহ করে এবং সি ++ ভাষার মান অনুযায়ী হয় না, তবে আপনি সি ++ এর জন্য তৃতীয় পক্ষের আবর্জনা সংগ্রহকারীকে ব্যবহার করতে পারবেন না এমন কোনও কারণ নেই। প্রচুর সংস্থাগুলি এই জিনিসগুলি বিক্রি করে জীবিকা নির্বাহ করেছে এবং কেউ কেউ সম্ভবত বিনামূল্যে এগুলি দিয়ে জীবনধারণ করেছেন।