জেরি বলেছেন: ... ফলাফলের বেশ সি ++ আর হয় না যখন আমার রূপক যে তা না হয়, হয় পরিষ্কারভাবে সি ++, শুধু একটি সামান্য ভিন্ন উপভাষা কারণ প্রোগ্রাম অন্যান্য ধরনের, নিয়মাবলী, এবং লিখিত শৈলী ব্যবহার করে।
এগুলি অক্ষম করার জন্য আমার প্রাথমিক কারণগুলি এখানে:
বাইনারি সামঞ্জস্য
ভাষা এবং অনুবাদ সীমানা অতিক্রম সর্বজনীনভাবে ভাল সংজ্ঞায়িত, বা অপরিজ্ঞাত নয়। আপনি যদি গ্যারান্টি দিতে চান যে আপনার প্রোগ্রামটি সংজ্ঞায়িত আচরণের ডোমেনের মধ্যে পরিচালিত হয় তবে আপনাকে মডিউল থেকে বেরিয়ে যাওয়ার পয়েন্টগুলিতে পৃথকীকরণ ব্যতিক্রম করতে হবে।
এক্সিকিউটেবল আকার
আমি ব্যতিক্রমী মুক্ত প্রোগ্রামের বাইনারি মাপগুলি এখানে লিখেছি, ব্যতীত এবং ব্যতিক্রমগুলি সক্ষম করে দিয়েছি:
ব্যতিক্রম ছাড়া:
- এক্সিকিউটেবল + নির্ভরতা: 330
- চূড়ান্ত কার্যকর এক্সিকিউটেবল (বিল্ড বিল্ড): 37
ব্যতিক্রম সহ:
- এক্সিকিউটেবল + নির্ভরতা: 380
- চূড়ান্ত স্ট্রিপড এক্সিকিউটেবল (রিলিজ বিল্ড): 44
অনুস্মারক: এটি গ্রন্থাগার এবং প্রোগ্রামগুলির একটি সংগ্রহ যা শূন্য নিক্ষেপ / ক্যাচ ধারণ করে। সংকলক পতাকা সি ++ স্ট্যান্ডার্ড লাইব্রেরিতে ব্যতিক্রম সক্ষম করে । সুতরাং, প্রকৃত বিশ্বে ব্যয় এই উদাহরণে দেখা যায় 19% এরও বেশি।
সংকলক: আপেল জিসিসি 4.2 + এলএলভিএম। এমবি আকারে।
দ্রুততা
"শূন্যমূল্যের ব্যাতিক্রম" শব্দটি সত্ত্বেও, কিছু এখনও ছুঁড়ে না ফেলে এমনকি তারা কিছু ওভারহেড যুক্ত করে। উপরের ক্ষেত্রে এটি একটি পারফরম্যান্স সমালোচনামূলক প্রোগ্রাম (সিগন্যাল প্রসেসিং, জেনারেশন, প্রেজেন্টেশন, রূপান্তর, বড় ডেটা সেট / সংকেত ইত্যাদি)। ব্যতিক্রমগুলি এই নকশায় একটি প্রয়োজনীয় বৈশিষ্ট্য নয়, তবে কার্য সম্পাদন অত্যন্ত গুরুত্বপূর্ণ।
প্রোগ্রামের সঠিকতা
একটি অদ্ভুত কারণ মনে হচ্ছে ... যদি নিক্ষেপ করা কোনও বিকল্প না হয় তবে আপনার প্রোগ্রামটি সঠিকভাবে সম্পাদন করার গ্যারান্টি দিতে আপনার অবশ্যই তুলনামূলকভাবে কঠোর, সঠিক, ভাল পরীক্ষিত প্রোগ্রামগুলি লিখতে হবে এবং ক্লায়েন্টরা ইন্টারফেসগুলি সঠিকভাবে ব্যবহার করবে (যদি আপনি আমাকে কোনও খারাপ যুক্তি দেন বা করেন তবে একটি ত্রুটি কোড চেক করবেন না, তারপরে আপনি ইউবি প্রাপ্য)। ফলাফল? বাস্তবায়নের মানটি ব্যাপকভাবে উন্নতি করে এবং সমস্যাগুলি দ্রুত স্থির হয়।
সরলতা
ব্যতিক্রম হ্যান্ডলিং বাস্তবায়নগুলি প্রায়শই আপ টু ডেট থাকে না। এগুলি আরও জটিলতা যুক্ত করে কারণ একটি বাস্তবায়নে অনেকগুলি বহির্গমন সিকোয়েন্স থাকতে পারে। অত্যন্ত জটিল প্রোগ্রামগুলি পড়া এবং বজায় রাখা সহজ হয় যখন তারা ক্লায়েন্টের দ্বারা পরিচালিত হ'ল ভাল সংজ্ঞায়িত, টাইপড, প্রস্থান কৌশলগুলির একটি ছোট সেট ব্যবহার করে। অন্যান্য ক্ষেত্রে, বাস্তবায়নগুলি সময়ের সাথে সাথে আরও ছোঁড়া প্রয়োগ করতে পারে বা তাদের নির্ভরতা তাদের পরিচয় দিতে পারে। ক্লায়েন্টরা সহজেই বা যথাযথভাবে এই সমস্ত প্রস্থান থেকে রক্ষা করতে পারে না। আমি অনেক লাইব্রেরি লিখি এবং আপডেট করি, ঘন ঘন বিবর্তন এবং উন্নতি হয়। ব্যতিক্রম প্রস্থানের সিক্যুয়েন্সগুলির সাথে একত্রে (একটি বড় কোডবেসে) রাখার চেষ্টা করা সময়ের সদ্ব্যবহার হবে না এবং সম্ভবত প্রচুর শব্দ এবং ক্রাফ্ট যুক্ত করবে। প্রোগ্রামের সঠিকতা এবং আরও পরীক্ষার কারণে,
ইতিহাস / বিদ্যমান কোড
কিছু ক্ষেত্রে historicalতিহাসিক কারণে এগুলি পরিচয় করানো হয়নি। একটি বিদ্যমান কোডবেস সেগুলি ব্যবহার করে নি, প্রোগ্রামগুলি পরিবর্তন করতে মানব-বছর সময় লাগতে পারে এবং সম্মেলন এবং বাস্তবায়নের ক্ষেত্রে ওভারল্যাপের কারণে এটি বজায় রাখা সত্যিই কুৎসিত হতে পারে।
downsides
অবশ্যই, ডাউনসাইডগুলি রয়েছে, সবচেয়ে বড়গুলি হ'ল: অন্যান্য লাইব্রেরির সাথে অসম্পূর্ণতা (ইনক্লাস। বাইনারি) এবং এই মডেলটি ফিট করার জন্য আপনাকে বেশ ভাল পরিমাণে প্রোগ্রাম প্রয়োগ করতে হবে।