এটি কিছুটা সাবজেক্টিভ, তবে আমি কী কারণে কোন অপারেটরকে বনাম ওষুধ ব্যবহার করা ও মুশকিল ব্যবহার করা স্পষ্ট করে তোলে তার একটি পরিষ্কার বোঝার আশা করছি। আমি সম্প্রতি ভাষার নকশাগুলি বিবেচনা করছি এবং আমি যে বিষয়টি সর্বদা ঘুরে দেখি তা হ'ল ভাষাতে কোনও অপারেটর কখন তৈরি করা যায় এবং কখন কীওয়ার্ড বা ফাংশন ব্যবহার করতে হয়।
হাস্কেল এটির জন্য কিছুটা কুখ্যাত, কারণ কাস্টম অপারেটরগুলি তৈরি করা সহজ এবং প্রায়শই একটি নতুন ডেটা টাইপ বিভিন্ন অপারেটরের সাথে এটি ব্যবহারের জন্য প্যাকেজড আসে। পার্সেক গ্রন্থাগার উদাহরণস্বরূপ, পার্সারগুলিকে একত্রে সংযুক্ত করার জন্য একাধিক অপারেটর নিয়ে আসে, যেমন রত্নগুলির সাথে >.
এবং .>
আমি এখনই তাদের অর্থ কী তা মনে করতে পারি না, তবে আমি স্মরণ করি যে এগুলি একবার মুখস্থ করার পরে আমি তাদের সাথে কাজ করা খুব সহজ ছিল remember তারা আসলে বোঝায়। যেমন একটি ফাংশন কল leftCompose(parser1, parser2)
ভাল ছিল? অবশ্যই আরও ভার্বোজ, তবে কিছু উপায়ে আরও স্পষ্ট।
সি-জাতীয় ভাষায় অপারেটর ওভারলোডগুলি একটি অনুরূপ সমস্যা, তবে পরিচিত অপারেটরগুলির অর্থ ওভারলোডিংয়ের অতিরিক্ত সমস্যার +
সাথে অস্বস্তিকর নতুন অর্থের সাথে জড়িত lated
যে কোনও নতুন ভাষায়, এটি বেশ শক্ত সমস্যা বলে মনে হবে। F # তে, উদাহরণস্বরূপ, ingালাই সি # স্টাইলের castালাই সিনট্যাক্স বা ভার্বোজ ভিবি স্টাইলের পরিবর্তে গাণিতিকভাবে প্রাপ্ত টাইপ-কাস্টিং অপারেটর ব্যবহার করে। সি #: (int32) x
ভিবি: CType(x, int32)
এফ #:x :> int32
তাত্ত্বিকভাবে একটি নতুন ভাষার বেশিরভাগ অন্তর্নির্মিত কার্যকারিতার জন্য অপারেটর থাকতে পারে। বদলে def
বা dec
বা var
পরিবর্তনশীল ঘোষণা, কেন না জন্য ! name
বা @ name
বা অনুরূপ কিছু। এটি অবশ্যই বাধ্যবাধকতার পরে বাধ্যতামূলক সংক্ষিপ্ত করে তোলে: @x := 5
পরিবর্তে declare x = 5
বা let x = 5
সর্বাধিক কোডে প্রচুর ভেরিয়েবল সংজ্ঞা প্রয়োজন হয়, তবে কেন নয়?
কখন কোনও অপারেটর পরিষ্কার এবং দরকারী এবং কখন এটি অস্পষ্ট হয়?
+
স্ট্রিং কনটেন্টেশন বা <<
স্ট্রিমের জন্য)। অন্যদিকে, হাস্কেলের সাথে অপারেটর হ'ল হয় কেবল একটি কাস্টম নাম (যা অতিরিক্ত বোঝা নয়) সহ একটি ফাংশন বা কোনও ধরণের শ্রেণীর অংশ যার অর্থ এটি বহুমুখী হলেও, এটি প্রতিটি ধরণের জন্য একই যুক্তিযুক্ত কাজ করে এবং এমনকি একই ধরণের স্বাক্ষর রয়েছে। সুতরাং >>
হয় >>
প্রতি টাইপ জন্য এবং কখনও একটি বিট স্থানান্তর হতে যাচ্ছে।