আপনার একসাথে সি # এবং এফ # ব্যবহার করা উচিত


16

আমি জানি আপনি একই প্রকল্পে সি # এবং এফ # একসাথে ব্যবহার করতে পারবেন তবে আমি নিশ্চিত নই যে এটি করা ভাল ধারণা কিনা।

আমার কাছে মনে হয় দুটি খুব আলাদা কোডিং স্টাইল (ফাংশনাল বনাম ওওপি) মিশ্রিতকরণ ডিজাইনে সংহতির অভাব সৃষ্টি করতে পারে। এটা কি সঠিক?


1
আপনি কীভাবে একই প্রকল্পে ব্যবহার করতে পারেন? আপনি কি একই সমাধান বোঝাতে চান?
ব্রায়ান বোয়েচার

2
মাইক্রোসফ্টের প্রকল্পের সংজ্ঞা নয় বরং আরও সাধারণ সংজ্ঞা
টম স্কুয়ারিজ

একটি স্পষ্ট ত্রুটি হ'ল যদি প্রকল্পের কাজের অন্তত অংশটির বিকাশকারী সি # এবং এফ # তে উভয় বিভাগের সাথে ইন্টারেক্ট করার প্রয়োজন হয় (এমনকি কেবল সেগুলি পড়তে পারে) তবে সেই অংশগুলিকে উভয় ভাষায় বুদ্ধিমান বিকাশকারী প্রয়োজন হবে এবং রয়েছে তাদের মধ্যে মাত্র একটি ভাষায় জ্ঞানসম্পন্ন লোকদের চেয়ে কম, এবং সুতরাং তারা খুঁজে পাওয়া শক্ত, সম্ভাব্য আরও ব্যয়বহুল এবং তাদের মধ্যে কম বৈচিত্র্য রয়েছে (এই নির্দিষ্ট ক্ষেত্রে যদিও সম্ভবত বেশিরভাগ এফ # বিকাশকারীদেরও সি ​​# এর সাথে কমপক্ষে কিছুটা পরিচিতি রয়েছে) ।
gbr

একেবারে। উদাহরণস্বরূপ ধীরে ধীরে এফ # কে একটি উত্তরাধিকার সি # সমাধানে প্রবর্তন করা একটি বৈধ দৃশ্য is
কোলা

উত্তর:


23

আপনি যতক্ষণ না প্রত্যেকটি যথাযথভাবে ব্যবহার করেন এবং তারা একসাথে "সুন্দর খেলেন" এমন কোনও পণ্যের মধ্যে ভাষার মিশ্রণে কোনও সমস্যা নেই।

যদি আপনার প্রকল্পের কোনও অংশ থাকে যা কার্যকরী ভাষা ব্যবহার করে সর্বোত্তম কোড করা হবে তবে এফ # তে কোডিং করা বুদ্ধিমান। একইভাবে সি # এর জন্য।

অর্থহীন কি হবে (সর্বোত্তম) এটির জন্য ভাষাগুলি মেশানো হবে।


0

আমার কাছে মনে হচ্ছে দুটি খুব আলাদা কোডিং শৈলীর সাথে মিশ্রণ (ক্রিয়ামূলক বনাম ওও) ডিজাইনে সংহতির অভাব দেখা দিতে পারে। এটা কি ঠিক?

আমি মনে করি না আপনি "সংহতির অভাব" পাবেন। প্রতিটি ভাষার শক্তি এবং দুর্বলতা রয়েছে। একটি সাধারণ ভাষার রান-টাইমে তাদের সংমিশ্রণ আপনাকে উভয় বিশ্বের সেরাের কাছাকাছি যেতে দেয়। সি # এবং এফ # এর মাধ্যমে আপনি কেবলমাত্র আপনার দ্রবণের মধ্যে দুটিটির ইন্টারফেসে দুটি ভাষার ছেদ ব্যবহার করেছেন তা নিশ্চিত করতে চান।


0

হ্যাঁ আমি ক্রিসএফের সাথে একমত । এছাড়াও সি # ইতিমধ্যে বেনামে প্রকারের মতো এফ # নীতিগুলি অন্তর্ভুক্ত করেছে:

var unitanon = new[]
{
    new { Field1="new car", Field2 = 1},
    new { Field1="old car", Field2 = 20} 
};

এটি বলেছিল, আমি ব্যক্তিগতভাবে মনে করি এটি কোড পঠনযোগ্যতার এক ধাপ পিছনে, যদিও এটি খুব সুবিধাজনক।


2
বেনামে প্রকারভেদগুলি আসলে কোনও এফ # নীতি নয়। আপনি টাইপ অনুমিতি ( ভের কীওয়ার্ড সি # তে কী করেন) বোঝাতে চাইছেন যার সাহায্যে সংকলকটি অনুমান করে আপনি কোন ধরণের উল্লেখ করছেন। এটি F # জুড়ে ব্যবহৃত হয়।
মংগাস পং

1
আমি সহজেই অ্যাসিঙ্ক সক্ষমতার জন্য এফ # ব্যবহার করব। তবে টিপিএল নিজে থেকে সি # তে এটি করা বেশ সহজ করে তুলেছে। আপনি যদি স্ক্রিপ্টিংয়ের জন্য কোনও ভাষা এম্বেড করে থাকেন তবে আমি অবশ্যই এর পার্সিংয়ের জন্য এফ # ব্যবহার করব।
জেটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.