এরলং এবং গো সমবর্তী প্রোগ্রামিং, সিএসপি এবং অভিনেতাদের মধ্যে উদ্দেশ্যগত পার্থক্য?


19

আমি এরলং এবং গো প্রোগ্রামিং ভাষাগুলিতে সমবর্তী প্রোগ্রামিংয়ের দিকে তাকাচ্ছিলাম। আমার সন্ধান অনুসারে এগুলি যথাক্রমে অভিনেতা মডেল এবং সিএসপি ব্যবহৃত হয়।

তবে তবুও আমি বিভ্রান্ত হয়ে পড়েছি যে সিএসপি এবং অভিনেতাদের মধ্যে উদ্দেশ্যগত পার্থক্যগুলি কী? এটি কি কেবল তাত্ত্বিক ভিন্ন তবে একই ধারণাটি?


ঠিক আছে এগুলি একই নয় কারণ গো এরলংয়ের চেয়ে পৃথক পৃথক সেট সরবরাহ করে। অতিরিক্তভাবে Go এরলং এবং সি-এর মতো অনেক কম স্তর।
ড্যানিয়েল গ্রেটজার

কোন ভাষা, প্রযুক্তি, বা প্রকল্পের পরবর্তী কোনটি গ্রহণ করা উচিত সে সম্পর্কে প্রোগ্রামারদের বিষয়বস্তু বন্ধ রয়েছে, কারণ তারা কেবলমাত্র উত্তরের জন্য বিষয়গত মতামতকে আকর্ষণ করতে পারে। দীর্ঘস্থায়ী মান থাকবে এমন উত্তরগুলি তৈরি করতে প্রশ্নের পিছনে অনেকগুলি পৃথক কারণ রয়েছে। প্রস্তাবিত পাঠ: বনাম হাঙ্গর গরিলা
মশা

3
@ আমি অসম্মতি জানাই, এটি সিএসপি এবং অভিনেতাদের মধ্যে উদ্দেশ্যগত পার্থক্য সম্পর্কে জিজ্ঞাসা করছে। এটা একটা পুরোপুরি যুক্তিসঙ্গত প্রশ্ন
ড্যানিয়েল Gratzer

2
প্রশ্নটি ভাল বা খারাপ সম্পর্কে নয় তবে নির্ধারিত হওয়ার জন্য পৃথক, সুতরাং এই প্রশ্নটি সুক্ষ্ম এবং বিষয়গত বিতর্কের কারণ নয়।
নিশ 1013

1
সিএস থিওরী স্ট্যাক এক্সচেঞ্জ এ এই প্রশ্নের খুব সুন্দর উত্তর আছে: কনকুরেন্সির অভিনেতা মডেল এবং
জার্গ ডব্লু মিটাগ

উত্তর:


21

অনুশীলনে, খুব সামান্য পার্থক্য আছে: উভয়ই মৃত্যুদন্ড কার্যকর করার পৃথক ইউনিট প্রতিনিধিত্ব করে যাদের বহিরাগত বিশ্বের সাথে প্রাথমিক ইন্টারফেস বার্তাগুলির মাধ্যমে।

পার্থক্যগুলি ভাষা বাস্তবায়নের বিশদে রয়েছে। এই জাতীয় কয়েকটি বিবরণ এখানে:

  • গোতে চ্যানেলগুলি টাইপ করা হয়; আপনি যদি বিভিন্ন ডেটা সহ বার্তা প্রেরণ করতে চান তবে আপনার পৃথক চ্যানেল দরকার। এরলংয়ের সাথে, receiveপ্রক্রিয়াটিতে প্রেরিত সমস্ত কিছুই পাওয়া যায় এবং অবশ্যই প্যাটার্ন-ম্যাচ করতে হবে (গো তে আপনি selectএকাধিক কেসের সাথে একটি ব্যবহার করবেন , যাতে কোডটি খুব আলাদা মিল দেখাবে, ঠিক বিভিন্ন চ্যানেলের সাথে)।
  • যে কেউ গো চ্যানেল পড়তে বা লিখতে পারে। এরলং-এ, যে কোনও ব্যক্তি কোনও প্রক্রিয়া প্রেরণ করতে পারবেন, তবে কেবলমাত্র সেই প্রক্রিয়াটিই গ্রহণ করবে। আপনি যদি একাধিক শ্রমিকের মধ্যে কোনও কাজ ভাগ করতে চান তবে এটি গুরুত্বপূর্ণ হয়ে উঠবে: এরলংয়ে আপনাকে একটি বিতরণ প্রক্রিয়া তৈরি করতে হবে, যখন গো কেবল একটি চ্যানেল ভাগ করতে পারে।
  • এরলং একাধিক হোস্ট / ভিএমগুলিতে বিতরণ প্রক্রিয়াগুলির জন্য একটি (বেশিরভাগ) স্বচ্ছ পথ সরবরাহ করে। গোরআটাইনগুলি একটি একক প্রক্রিয়াতে সীমাবদ্ধ (যদিও বিতরণের জন্য পাঠাগার রয়েছে)।
  • ত্রুটি পরিচালনায় খুব আলাদা। এরলং প্রতিটি প্রক্রিয়াটিকে স্বতন্ত্র হিসাবে বিবেচনা করে: আপনি যদি স্পষ্টভাবে তাদের লিঙ্ক না করেন তবে একটি প্রক্রিয়ায় একটি ত্রুটি (বিভাজন দ্বারা 0 বলুন) অন্য কোনও প্রক্রিয়াগুলিকে প্রভাবিত করবে না (যদিও মৃত প্রক্রিয়া থেকে কোনও বার্তার জন্য অপেক্ষা করা কিছু স্থির থাকবে)। গোরআটাইনগুলি একই প্রক্রিয়া স্পেসে চালিত হয়; বিভাজন দ্বারা 0 সম্পূর্ণ প্রোগ্রামটি নেবে।
  • এরলংয়ে ডেটা অপরিবর্তনীয়। এর অর্থ হ'ল কোনও প্রক্রিয়া এবং বাইরের বিশ্বের মধ্যে সমস্ত যোগাযোগ বার্তাগুলির মাধ্যমে ঘটে। গো আপনাকে গোরটাইনগুলির মধ্যে রাজ্য ভাগ করতে দেয় (যদিও আপনার এটি করা উচিত নয়)।

এই শেষ পয়েন্টটি, আমি মনে করি, সবচেয়ে গুরুত্বপূর্ণ। যদিও উভয়ই বার্তাগুলিকে যোগাযোগের প্রাথমিক মাধ্যম হিসাবে ব্যবহার করে , এরলং কীভাবে এবং কখন রাষ্ট্র পরিবর্তন করতে পারে সে সম্পর্কে আরও দৃ stronger় গ্যারান্টি দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.