আমার 2 সেন্ট।
আমি মনে করি এটি প্রায় সি / সি ++ এর চেয়ে সাধারণভাবে এ সম্পর্কে লেখা সহজ। প্রথমত, পাইথনের মতো লাইব্রেরিগুলি গতির সুবিধা পাওয়ার জন্য অগত্যা ব্যবহৃত হয় না, এমনকি যদি এটির ফলাফল হয়। আমি মনে করি
@ ডেভিড কারণগুলি বেশ ভালভাবে কভার করেছেন।
এটিকে শীর্ষ থেকে নিয়ে যাওয়া, ভাষা বাস্তবায়ন কিছুটা হলেও নির্দেশ দেয় যে আপনার কোন লাইব্রেরিতে অ্যাক্সেস রয়েছে। গণনা বিজ্ঞানের সাধারণভাবে ব্যবহৃত ভাষাগুলির মধ্যে রয়েছে সি, সি ++, পাইথন, পার্ল, জাভা, ফোর্টরান এবং আর Less কম সাধারণ উদাহরণগুলি ওকামল এবং কমন লিস্প হতে পারে। এখন, যেহেতু এই ভাষাগুলির বেশিরভাগ সিতে লেখা রয়েছে, সেগুলিতে সি এর কাছে একটি প্রাকৃতিক বিদেশী ফাংশন ইন্টারফেস রয়েছে তবে, এটি বলা এত সহজ নয় যে, পাইথন বা তার বিপরীতে কল করা একটি পার্ল লাইব্রেরি। সুতরাং অনুশীলনে মানুষ হয় ঝোঁক
তাদের প্রয়োগের ভাষায় লিখিত একটি গ্রন্থাগার ব্যবহার করুন, সাধারণভাবে এমন কিছু যা স্ট্যান্ডার্ড লাইব্রেরির অংশ, বা অন্যথায় ব্যাপকভাবে উপলভ্য, বা
এফএফআই ভাষাগুলির মাধ্যমে একটি সি / সি ++ লাইব্রেরি কল করুন। এটি ধরে নিয়েছে যে একটি মোড়ক ইতিমধ্যে বিদ্যমান নেই, কারণ এটি যদি হয় তবে এটি সহজেই (1) থেকে পৃথক নয়।
(২) সাধারণত শক্ত হয়, কারণ আপনাকে নিজেরাই সি / সি ++ ফাংশনটি মোড়তে হবে। এছাড়াও, আপনাকে হয় লাইব্রেরি বান্ডিল করতে হবে, বা একটি অতিরিক্ত নির্ভরতা যুক্ত করতে হবে। যে কারণে, লোকেরা জিএসএল ব্যবহার না করে বিল্টিন ভাষার গ্রন্থাগারগুলি ব্যবহার করার সম্ভাবনা বেশি করে উদাহরণস্বরূপ, যা সিতে রয়েছে is
খুব জেনেরিক রুটিনের জন্য, বিতরণ থেকে এলোমেলো নমুনা তৈরির কথা বলুন বা সংখ্যার চতুর্ভুজগুলির মতো মৌলিক সংখ্যাসূচক রুটিনগুলি বলুন, কিছু লাইব্রেরির পুনরায় ব্যবহার করা সহজ এবং সাধারণ। কার্যকারিতা যেহেতু বাস্তবায়নের চেষ্টা করা হচ্ছে আরও জটিল হয়ে উঠছে, এটি অন্যের লাইব্রেরিতে যে সঠিক ফাংশনটি চায় তার সন্ধান করতে চলেছে এমনটি খুব বেশি সম্ভাবনাময় হয়ে যায় এবং এমনকি একজনও করেন, অনুসন্ধানে অনেক সময় ব্যয় করতে পারে এবং অবশেষে ফাংশনটি মানিয়ে নিতে পারে প্রয়োজনীয় (উদাহরণস্বরূপ কোড শৈলী / নকশা সমস্যা হতে পারে)। এবং উপরে যেমন আলোচনা করা হয়েছে, সেখানে কেবলমাত্র গ্রন্থাগারগুলির একটি উপসেটে অ্যাক্সেস রয়েছে। অন্যদিকে, একটি অ্যালগরিদম নিজেই বাস্তবায়ন করা যদি এটি জটিল এবং মূল ফোকাসটি না হয় তবে এটি উদ্বেগজনক হতে পারে, এবং অবশ্যই এই সমস্যাযুক্ত গতির সমস্যাগুলি মোকাবেলা করতে হবে।
সুতরাং, এটি ব্যয় / উপকার বিশ্লেষণে একটি অপ্টিমাইজেশান সমস্যা হয়ে ওঠে। আমার অভিজ্ঞতাটি হ'ল এমসিএমসির মতো তুলনামূলকভাবে স্ট্যান্ডার্ড কৌশলগুলির জন্যও আমি সাধারণত আমার নিজের কোডটি লিখে রাখি, কারণ আমি কীভাবে সামগ্রিক সফ্টওয়্যারটি ডিজাইন করছি তার সাথে এটি আরও ভাল ফিট করে।
অবশ্যই, আপনি কোডটি ব্যবহার না করে শেষ করলেও, অন্য ব্যক্তির কোড থেকে শেখা সম্ভব। যদিও আমি জানি না বিজ্ঞানীরা আসলে এটি করতে কত ঘন ঘন উদ্বেগ প্রকাশ করেছেন। আমার ধারণাটি হ'ল শেখার জন্য অন্য ব্যক্তির কোড পড়া আরও একটি সফটওয়্যার ইঞ্জিনিয়ার জিনিস।