আমি আমার নিখরচায় শখ হিসাবে একটি এনইএস এমুলেটর বিকাশ করছি। আমি সি ++ ব্যবহার করি কারণ আমি যে ভাষাটি বেশিরভাগ ক্ষেত্রেই ব্যবহার করি, বেশিরভাগই এবং বেশিরভাগ ক্ষেত্রেই পছন্দ করি।
তবে এখন আমি যে প্রকল্পে কিছুটা অগ্রিম হয়েছি বুঝতে পেরেছি আমি সি ++ এর প্রায় কোনও নির্দিষ্ট বৈশিষ্ট্য ব্যবহার করছি না, এবং এটি সরল সিতেও করতে পেরেছিলাম এবং একই ফলাফল পাচ্ছিলাম। আমি টেম্পলেট, অপারেটর ওভারলোডিং, পলিমারফিজম, উত্তরাধিকার ব্যবহার করি না। তাহলে আপনি কি বলবেন? আমি কি সি ++ এ থাকব বা এটিকে আবার সিটিতে লিখব?
পারফরম্যান্স অর্জনের জন্য আমি এটি করব না, এটি পার্শ্ব প্রতিক্রিয়া হিসাবে আসতে পারে, তবে ধারণাটি কেন আমার প্রয়োজন না হলে আমি কেন সি ++ ব্যবহার করব?
আমি ব্যবহার করছি সি ++ এর একমাত্র বৈশিষ্ট্য হ'ল ক্লাসগুলি ডেটা এবং পদ্ধতিগুলি encapsulate করার জন্য, তবে এটি স্ট্রাক্ট এবং ফাংশনগুলির সাথেও করা যেতে পারে, আমি নতুন ব্যবহার করছি এবং মুছে ফেলছি, তবে পাশাপাশি malloc এবং বিনামূল্যে ব্যবহার করতে পারে, এবং আমি কেবল কলব্যাকের জন্য উত্তরাধিকার ব্যবহার করে যা ফাংশনগুলির পয়েন্টার দিয়ে অর্জন করা যেতে পারে।
মনে রাখবেন, এটি একটি শখের প্রকল্প, আমার কোনও সময়সীমা নেই, সুতরাং ওভারহেড সময় এবং কাজ যাতে পুনরায় লেখার প্রয়োজন হয় তা সমস্যা নয়, মজাও হতে পারে। তাহলে, প্রশ্নটি সি বা সি ++?
I use C++ because is the language I use mostly, know mostly and like mostly.
এবং এটিই আপনার প্রশ্নের উত্তর। আপনার বর্তমান ভাষাটি সমাধান করতে পারে না এমন সমস্যা কেবল তখনই আপনার মাঝারি প্রকল্পগুলিতে ভাষা পরিবর্তন করা উচিত। I don't use templates, operator overloading, polymorphism, inheritance.
সিতে স্যুইচ করার চেয়ে ধারণাগুলি শেখা এবং ব্যবহার করা অনেক বেশি মূল্যবান হবে কারণ যেহেতু এটি একটি শখের প্রকল্প, আপনি আগে ব্যবহার করেননি এমন কয়েকটি জিনিস কেন ব্যবহার করবেন না? আপনি সর্বদা সিতে অন্য একটি প্রকল্প শুরু করতে এবং ভাষাটি শিখতে পারেন তবে আপনার বর্তমান প্রকল্পের জন্য এটি স্যুইচ করার কোনও মানে হয় না।
std::shared_ptr
, std::unique_ptr
, boost::scoped_ptr
, std::vector
, std::deque
, std::map
কলব্যাক কাজকর্মের জন্য ইত্যাদি, functors ব্যবহার দেখব, আর সি ++ 11, আপনি ল্যাম্বদা ফাংশনগুলির মতো জিনিসগুলিও ব্যবহার শুরু করতে পারে।