সুতরাং, আমি পড়ছি এবং এটি প্রদর্শিত হয় যে বুস্ট লাইব্রেরিগুলি অনুশীলনে প্রচুর ব্যবহৃত হয় (যদিও আমার দোকানে নয়)। কেন? এবং কী এত সুন্দর করে তোলে?
সুতরাং, আমি পড়ছি এবং এটি প্রদর্শিত হয় যে বুস্ট লাইব্রেরিগুলি অনুশীলনে প্রচুর ব্যবহৃত হয় (যদিও আমার দোকানে নয়)। কেন? এবং কী এত সুন্দর করে তোলে?
উত্তর:
বুস্ট এত ব্যাপকভাবে ব্যবহৃত হয় কারণ:
হোম পৃষ্ঠা থেকে:
"... বিশ্বের সবচেয়ে সম্মানিত এবং দক্ষতার সাথে ডিজাইন করা সি ++ গ্রন্থাগার প্রকল্পগুলির মধ্যে একটি।" - ভেষজ সুটার এবং আন্ড্রেই আলেকজান্দ্রেস্কু, সি ++ কোডিং স্ট্যান্ডার্ড
"আইটেম 55: নিজেকে বুস্টের সাথে পরিচিত করুন।" - স্কট মায়ার্স, কার্যকর সি ++, তৃতীয় এড।
"বেশিরভাগ প্রোগ্রামারদের জন্য সুস্পষ্ট সমাধান হ'ল একটি লাইব্রেরি ব্যবহার করা যা প্রয়োজনীয় পরিষেবাদিগুলির কাছে স্বতন্ত্র এবং দক্ষ প্ল্যাটফর্ম সরবরাহ করে Ex উদাহরণগুলি হ'ল উত্তম ..." - বর্জন স্ট্রস্ট্রপ, বিমূর্ততা, গ্রন্থাগার এবং সি ++ এর দক্ষতা
সুতরাং, এটি বহুল ব্যবহৃত এবং গ্রহণযোগ্য গ্রন্থাগারগুলির একটি পরিসীমা, তবে কেন আপনার এটির প্রয়োজন হবে?
যদি তুমি চাও:
কারণ তারা স্ট্যান্ডার্ড লাইব্রেরিতে অনেক হারিয়ে যাওয়া জিনিস যুক্ত করে, তাই তাদের মধ্যে কিছু স্ট্যান্ডার্ডের অন্তর্ভুক্ত হচ্ছে।
বুস্ট লোকেরা মিথ্যা বলছে না:
কোনও প্রতিষ্ঠানের বুস্ট ব্যবহার করা উচিত কেন?
এক কথায়, উত্পাদনশীলতা। বুস্টের মতো উন্নত মানের লাইব্রেরিগুলির ব্যবহার প্রাথমিক বিকাশের গতি বাড়ায়, কম বাগের ফলস্বরূপ, চাকা পুনর্বিন্যাস হ্রাস করে এবং দীর্ঘমেয়াদী রক্ষণাবেক্ষণ ব্যয় হ্রাস করে। এবং যেহেতু বুস্ট লাইব্রেরিগুলি ডি ফ্যাক্টো বা ডি জুর স্ট্যান্ডার্ড হয়ে ওঠে, তাই অনেক প্রোগ্রামার ইতিমধ্যে তাদের সাথে পরিচিত।
বুস্ট লাইব্রেরির দশটি সি ++ স্ট্যান্ডার্ড লাইব্রেরির টিআর 1 এ অন্তর্ভুক্ত রয়েছে এবং তাই পরবর্তী পুরো মানীকরণের জন্য সেট করা আছে। আরও বুস্ট গ্রন্থাগারগুলি টিআর 2-র পাইপলাইনে রয়েছে। বুস্ট লাইব্রেরি ব্যবহার করে একটি সংস্থা নতুন প্রযুক্তি গ্রহণে একটি শুরুর দিক দেয়।
অনেক সংস্থা ইতিমধ্যে অ্যাডোব অ্যাক্রোব্যাট রিডার 7.0 এর মতো বুস্টের সাথে প্রয়োগ করা প্রোগ্রামগুলি ব্যবহার করে।
কয়েকটি বুস্ট ক্লাস খুব দরকারী (শেয়ারড_পিটার), তবে আমি মনে করি বুস্টের বৈশিষ্ট্য এবং ধারণার সাথে তারা কিছুটা বাদাম ফেলেছে। সংকলনের সময় এবং বিশাল বাইনারি আকারগুলি বুস্টের সাথে সম্পূর্ণ উন্মাদ, যেমন কোনও টেম্পলেট-ভারী কোডের ক্ষেত্রে। একটি ভারসাম্য থাকতে হবে। আমি নিশ্চিত না বুস্ট এটি খুঁজে পেয়েছে কিনা।
এটি লাইব্রেরি যুক্ত করেছে যা সি ++ প্রোগ্রামিংয়ের আরও আধুনিক পদ্ধতির সুযোগ দেয়।
আমার অভিজ্ঞতায় অনেক সি ++ প্রোগ্রামার সত্যই 1990 এর দশকের গোড়ার দিকে সি ++ প্রোগ্রামার, বেশ বেশি সি ++ ক্লাস লেখেন, জেনেরিকের বেশি ব্যবহার হয় না। আরও আধুনিক পদ্ধতির সাথে জেনেরিকগুলি একসাথে সফ্টওয়্যার রচনা করতে ব্যবহার করে ডাইনামিক ভাষার মতো আরও কার্যকর হয়, তবুও আপনি এখনও প্রকারে পরীক্ষা / পারফরম্যান্স পেতে পারেন। এটি দেখতে একটু কুৎসিত হয়। তবে একবার সিনট্যাক্সের সমস্যাগুলি পেয়ে গেলে এটি সত্যিই দুর্দান্ত। বুস্ট আপনাকে সহজেই সামগ্রী রচনা করার জন্য প্রয়োজনীয় অনেক সরঞ্জাম দেয়। স্মার্ট পয়েন্টার, ফাংশন, ল্যাম্বডাস, বাইন্ডিং ইত্যাদি। এরপরে এমন বুস্ট লাইব্রেরি রয়েছে যা নেটওয়ার্কিং, রেজেক্স, ইত্যাদি ইত্যাদির জন্য সি ++ রচনার এই নতুন পদ্ধতিটি ব্যবহার করে ...
আপনি যদি লুপগুলি, বা হ্যান্ড রোলিং ফাংশন অবজেক্টগুলির জন্য প্রচুর লিখছেন, বা মেমরি পরিচালনা করছেন, তবে অবশ্যই আপনার উত্সাহটি পরীক্ষা করা উচিত।
বুস্টের লাইব্রেরি সংকলনের অনেকগুলি সি ++ প্রকল্পের সাধারণ প্রয়োজন। সাধারণত, তারা সংশোধন, পুনর্ব্যবহারযোগ্যতা, বহনযোগ্যতা, রান-টাইম পারফরম্যান্স এবং ভাল বাস্তবায়ন কোডের পাঠযোগ্যতার উপর স্থান-দক্ষতা বা কখনও কখনও সংকলনকে অগ্রাধিকার দেয়। তারা সম্পূর্ণ উচ্চ-স্তরের কার্যকরী প্রয়োজনীয়তাগুলি (যেমন অ্যাপ্লিকেশন ফ্রেমওয়ার্কগুলি) আবরণ না করে এবং এর পরিবর্তে (কৃতজ্ঞতার সাথে) বিল্ডিং ব্লকগুলি সরবরাহ করে যা অ্যাপ্লিকেশন ডিজাইনের উপর নির্ভর বা কর্তৃত্ব ছাড়াই আরও অবাধে সংহত হতে পারে।
BOOST ব্যবহার বিবেচনা করার জন্য গুরুত্বপূর্ণ কারণগুলির মধ্যে রয়েছে:
লাইব্রেরিগুলি এখানে একটি বা দুটি লাইনে বর্ণনা করা হয়েছে: http://www.boost.org/doc/libs/ ।
কারণ সি ++ স্ট্যান্ডার্ড লাইব্রেরি সমস্ত সম্পূর্ণ নয় ।
কেভলিন হেনির জড়িত থাকার সাথে যে কোনও কিছু অবশ্যই খেয়াল করা উচিত।
মূলত স্ট্যান্ডার্ডটি কী হবে তার সংক্ষিপ্তসার ছাড়াও, সমস্ত পিয়ার পর্যালোচনা এবং বুস্টের ব্যবহারের সাহায্যে আপনি আপনার নির্ভরতাগুলির জন্য বেশ ভাল চুক্তিটি পেতে বেশ নিশ্চিত হতে পারেন।
তবে বেশিরভাগ দোকান বুস্ট ব্যবহার করে না, কারণ এটি একটি বাহ্যিক নির্ভরতা। এবং বাস্তবে বাহ্যিক নির্ভরতা হ্রাস করাও খুব গুরুত্বপূর্ণ।
আমি ফাইল সিস্টেম লাইব্রেরিটি কিছুটা ছাড়ার ব্যবহার করি এবং উত্সাহিত: শেয়ার্ড_পিটারটি বেশ নিফটি। আমি শুনেছি এটি অন্যান্য জিনিসগুলিও করে।