ব্যবহারিক নন-ভন নিউমান আর্কিটেকচার কী?


16

নন-ভন নিউমান প্রোগ্রামিং মডেলগুলির জন্য কি কোনও ব্যবহারিক অ্যাপ্লিকেশন রয়েছে? সর্বাধিক ব্যবহৃত নন-ভন নিউমন প্রোগ্রামিং ভাষা কোনটি?


6
"নন-ভন নিউমন" প্রোগ্রামিং মডেল কী?
সুরেশ ভেঙ্কট

আমি প্রশ্নটিও বুঝতে পারি না, সম্ভবত আপনি প্রশ্নের কিছু পটভূমি যোগ করতে পারেন তাই আপনি কী জিজ্ঞাসা করছেন তা বোঝা সহজ হয়।
Kaveh

3
ভন নিউম্যান আর্কিটেকচারের সিপিইউ রয়েছে। সুতরাং সমান্তরাল প্রক্রিয়াকরণ আর্কিটেকচারটি তর্কাতীতভাবে নন-ভন নিউমান (সমান্তরাল প্রক্রিয়াকরণের আগে নিউম্যান আর্কিটেকচারটি আবিষ্কার করা হয়েছিল)। তবে সম্মত হয়েছিলেন প্রশ্নটি অস্পষ্ট বা আড়াল সংজ্ঞায়িত বলে মনে হচ্ছে। ভন নিউমান একটি কম্পিউটার আর্কিটেকচারকে বোঝায়, আসলেই কোনও প্রোগ্রামিং মডেল নয়। প্রোগ্রামিং মডেল এবং সিপিইউ / কম্পিউটার আর্কিটেকচার এক ধরণের সিনারিজি / সিম্বিওসিসের মধ্যে বিদ্যমান তবে একে অপরের থেকে কিছুটা স্বতন্ত্র .... বিভিন্ন আর্কিটেকচার বিভিন্ন প্রোগ্রামিং মডেলকে বাস্তবায়িত করতে পারে প্রোগ্রামিং মডেলকে আর্কিটেকচারের সাথে "মিলিত" না করে ...
vzn

1
নন-ভন নিউমান প্রোগ্রামিং ভাষা কী? এই বিষয়টির জন্য, ভন নিউমান প্রোগ্রামিং ভাষাটি কী? (আমি ব্যাকাসের সংজ্ঞাটি পাই না --- মূলত "অপরিহার্য ভাষা" --- এমনকি একটি সামান্য বিট বাধ্যকারীও))
জেফি

1
@ রনি: উইকিপিডিয়া পৃষ্ঠাটি ব্যাকাসের নিবন্ধটি সবেমাত্র প্রকাশ করেছে।
জেফি

উত্তর:


12

যখন আমি "ভন নিউমান আর্কিটেকচার" বলি, আমি কিছু হার্ডওয়্যার বোঝাতে চাইছি যা "ভন নিউমান অটল" দ্বারা সীমাবদ্ধ - অর্থাৎ এর মধ্যে সমস্ত ডেটা কিছু সংকীর্ণ ডাটা বাসের মাধ্যমে সজ্জিত।

অ ভন নিউম্যান প্রোগ্রামিং ভাষায় আমি প্রায়ই সবচেয়ে মধ্যে আচমকা হয় VHDL এবং Verilog । ভিএইচডিএল এবং ভেরিলোগে, ডিফল্টরূপে, সমস্ত কিছু একই সময়ে ঘটে। ক্রমিক ক্রমে ক্রমবর্ধমান ইভেন্টের ক্রম তৈরির জন্য প্রোগ্রামারকে অতিরিক্ত পরিশ্রম করতে হবে। এটি অন্যান্য প্রোগ্রামিং ভাষার তুলনায় খুব আলাদা যা "নির্দেশ নির্দেশক" বোঝায় যে ডিফল্টরূপে, যে কোনও একটি তাত্ক্ষেত্রে সর্বাধিক এক লাইন কোড প্রয়োগ করে এবং প্রোগ্রামারকে একই সাথে একাধিক জিনিস ঘটানোর জন্য অতিরিক্ত পরিশ্রম করতে হয় সময়।

কিছু লোক বলে যে এটি একটি প্রাকৃতিক ডিফল্ট। প্রচুর প্রারম্ভিক প্রোগ্রামিং শিক্ষার্থীরা "যখন (x> 0) {...}" লুপটি তাত্ক্ষণিকভাবে প্রস্থান করতে প্রত্যাশায় যে এক্স শূন্যের সমান হয়ে যায়, এবং তারা এই বিষয়টি জানতে পেরে অবাক হয় যে কম্পিউটার নিয়মিতভাবে এই শর্তটি মূল্যায়ন করে না

বেশিরভাগ লোক ভিএইচডিএল এবং ভেরিলোগ কোড লিখছেন তারা তাদের প্রোগ্রামগুলি এফপিজিএগুলিতে সংকলন করে, ক্রিয়াকলাপের সামান্য ব্লক তৈরি করে যা সমস্ত সময় পুরো গতিতে চলমান। প্রায়শই এই জাতীয় লোকেরা একটি "পাইপলাইন" সেটআপ করে যা ইনপুট পিনগুলি থেকে ডেটা পড়ে, এটি বিভিন্ন ব্লকের মাধ্যমে প্রক্রিয়া করে, একটি ব্লকের আউটপুট পিনগুলি সরাসরি পরবর্তী ব্লকের ইনপুট পিনগুলিতে তারযুক্ত হয় এবং চূড়ান্ত ব্লকটি ফলাফলটি প্রেরণ করে আউটপুট পিন এটি ইউনিক্স পাইপলাইনটির স্মরণ করিয়ে দিচ্ছে , ব্যতীত প্রতিটি घडির চক্রটিতে একটি নতুন টুকরো ডেটা চলে and

ইনপুট পিন, মধ্যবর্তী স্তর এবং আউটপুট পিনগুলি একে অপরের থেকে স্বতন্ত্র - আপনাকে কোনও একক ডাটা বাস মাল্টিপ্লেক্সে ডেটা বিভিন্ন টুকরা মধ্যে পুনরায় ব্যবহার করতে হবে না।

আপনার আগ্রহীও হতে পারে: ভন নিউম্যান / টিউরিং আর্কিটেকচার ছাড়াও কি অন্য কোনও কম্পিউটার আর্কিটেকচার রয়েছে?


11

আমি নন-ভন নিউমানের দ্বারা ধরে নিয়েছি, আপনি যে ভাষাগুলির অর্থ ব্যাকাসের কাগজ "ভ্যান নিউম্যান বোতলনেক" কে ছাড়িয়েছেন "ক্যান প্রোগ্রামিংটি ভ্যান নিউমান স্টাইল থেকে মুক্তি পেতে পারে?"। আগ্রহীদের জন্য, আপনি এখানে একটি অনুলিপি পেতে পারেন: http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf

আপনার প্রশ্নের উত্তর কয়েকটি কারণে অস্পষ্ট হতে হবে।

প্রথমত, কোন ভাষাগুলি তার কাগজে মানদণ্ডকে সন্তুষ্ট করেছিল? যদিও এই কাগজে কার্যকরী প্রোগ্রামিংয়ের সন্ধান রয়েছে এমন কিছু রয়েছে, তবে এখন পয়েন্ট-ফ্রি প্রোগ্রামিংয়ের মতো কিছু বোঝার কারণে এটি একটি ভুল বোঝাবুঝি হিসাবে বিবেচিত। তাহলে আপনি কি মূল ভুল বোঝাবুঝি, বা কাগজের আসল অভিপ্রায় নিয়ে যাচ্ছেন? তিনি কী বোঝাতে চেয়েছিলেন তা নিয়ে কিছুটা ব্যাখ্যা করার জন্য, দয়া করে নিম্নলিখিতটি দেখুন: http://en.wikedia.org/wiki/Function-level_programming

দ্বিতীয়ত, আপনি যদি ভুল বোঝাবুঝির সাথে চলে যান তবে কার্যক্ষম কতটা কার্যকর? আপনার খাঁটি কার্যকরী ভাষা, অশুচি কার্যকরী ভাষা এবং ভাষাগুলি অপেক্ষাকৃত বন্ধুত্বপূর্ণ ভাষা রয়েছে friendly আপনি জনপ্রিয়তার কথা উল্লেখ করেছেন এবং এটি এবং কার্যকরী বিশুদ্ধতার মধ্যে একটি বিপরীত সম্পর্ক রয়েছে তা বিবেচনা করে, কেবল কোন ভাষাগুলিকে অন্তর্ভুক্ত করা উচিত? আপনি কি সর্বাধিক জনপ্রিয় খাঁটি কার্যকরী ভাষা (যা মোটেও জনপ্রিয় হবে না), বা এমন আরও একটি জনপ্রিয় ভাষা চান যা "ফাংশনাল-নেস" এর কিছুটা ন্যূনতম মানদণ্ড পূরণ করে? পরে যদি হয়, সেই মানদণ্ডগুলি কী?

সুতরাং আপনার দৃষ্টিভঙ্গির উপর নির্ভর করে:

  1. আমি জানি যে সম্পূর্ণ শুদ্ধ কার্যকরী ভাষাগুলির মধ্যে হাস্কেল সর্বাধিক জনপ্রিয় এবং এতে লিখিত অ্যাপ্লিকেশন রয়েছে। তবে কার্যকরী প্রোগ্রামিং সম্প্রদায়ের মধ্যে ভারী ওজন থাকা সত্ত্বেও বৃহত্তর প্রোগ্রামিং সম্প্রদায়ের মধ্যে এটি জনপ্রিয় নয়। এছাড়াও, এটি ব্যবহার করে, আমি এটি বাস্তব-বিশ্বের ব্যবহারের জন্য ব্যবহারিক বলে মনে করি নি এবং এটি তাত্ত্বিক কাজের জন্য মূল্যবান বলে মনে হয়। এটি বিন্দু মুক্ত শৈলীর অনুমতি দেয়, যাতে আপনি এটির সাথে ব্যাকাসের কয়েকটি লক্ষ্যতে পৌঁছাতে পারেন।

  2. ক্লোজার, স্কেলা এবং এফ # কম খাঁটি, তবে আরও ব্যবহারিক এবং জনপ্রিয় কার্যকরী ভাষা। এফ # পয়েন্ট-মুক্ত শৈলীর পক্ষেও বন্ধুত্বপূর্ণ।

  3. চতুর্থটি বিন্দু মুক্ত ভাষার প্রোটোটাইপিকাল উদাহরণ হতে পারে এবং এটি এর দিনে এটি বেশ বিস্তৃত ছিল, যদিও এখন ... ফ্যাক্টর অন্য একটি বিন্দু মুক্ত ভাষা যা কিছুটা দৃষ্টি আকর্ষণ করেছে, তবে আমি সন্দেহ করি যে এটি ফোরের জনপ্রিয়তার সাথে তার জনপ্রিয়তার সাথে মিলেছে ।

  4. এপিএল ব্যাকাস এক পর্যায়ে উল্লেখ করেছিলেন (সম্ভবত তাঁর কাগজে নয়) তার দিকে অগ্রসর হওয়া পদক্ষেপ, তবে তার লক্ষ্যগুলির সাথে পুরোপুরি সামঞ্জস্যপূর্ণ নয়। এর দিন এটি আর্থিক ক্ষেত্রে বড় ছিল। জে মত এর বংশধরদের পরীক্ষা করে দেখুন।

  5. জাভাস্ক্রিপ্ট কার্যকরী নয়, তবে এটি ক্লোজারিংয়ের প্রচুর ব্যবহারের দ্বারা প্রমাণিত, উচ্চতর অর্ডার প্রোগ্রামিংয়ের পক্ষে এটি বন্ধুত্বপূর্ণ। এর জনপ্রিয়তা দেওয়া, এটি কেবল মানদণ্ডগুলি পূরণ করতে পারে। জাভা স্ক্রিপ্টের সাথে কারিটিং এবং কম্বিনেটর বাস্তবায়নের মতো কিছু আকর্ষণীয় জিনিস পরীক্ষা করে দেখুন।

পাদটীকা হিসাবে, তাঁর লক্ষ্যের প্রতি আপনাকে আরও দৃষ্টিভঙ্গি দেওয়ার জন্য, তিনি তার মানদণ্ডগুলি মেটানোর জন্য তিনি যে দুটি ভাষা তৈরি করেছেন তা পরীক্ষা করে দেখতে পারেন। এগুলি এএফআইকে মোটেই জনপ্রিয় নয়, সুতরাং এটি নিখুঁতভাবে জ্ঞানের খাতিরে হবে:

http://en.wikedia.org/wiki/FP_( প্রোগ্রামিং_এলংয়েজ )

http://en.wikedia.org/wiki/FL_( প্রোগ্রামিং_এলংয়েজ )


1
এখন দেখা যাচ্ছে যে তিনি ফাংশনাল প্রোগ্রামিংয়ের চেয়ে পয়েন্ট-ফ্রি প্রোগ্রামিংয়ের মতো কিছু বোঝাতে চেয়েছিলেন - এই বিষয়ে কোনও আলোচনার জন্য কোনও পয়েন্টার রয়েছে কি? আকর্ষণীয় শোনাচ্ছে।
সুরেশ ভেঙ্কট

ব্যাকাসের প্রোগ্রামিং মডেলটিকে "ফাংশন-লেভেল প্রোগ্রামিং" বলা হয় এবং এখানে একটি নিবন্ধ রয়েছে: en.wikedia.org/wiki/Function-level_programming । আমি কোনও ভাল লিঙ্কগুলি জানি না (আপনার কোনও সন্ধান পেলে আমি তা জানতে চাই!) তবে গুগলিং "ফাংশন-স্তরের প্রোগ্রামিং" ভিডিও সহ কিছু আকর্ষণীয় সন্ধানী লিঙ্কগুলি সক্রিয় করে।
রনি

1
@ সুরেশভেনক্যাট: এফপি এবং এফএল ভাষাগুলি বিশেষত ফাংশন-স্তরের প্রোগ্রামিংয়ের তাঁর ধারণাকে সমর্থন করার জন্য ব্যাকাস তৈরি করেছিলেন। আরও দেখুন "মৌন প্রোগ্রামিং" এবং আরো নির্দিষ্টভাবে জে ভাষা , যা APL এবং fp / এফএল কি উভয় সবচেয়ে রহস্যপূর্ণ এবং প্রকৃত ব্যবহারে সবচেয়ে ভাবপূর্ণ সাধারণ উদ্দেশ্য ভাষা হতে পারে তৈরি করতে সম্মিলন। ফাংশনাল ভাষায় ট্যাসিট প্রোগ্রামিং ব্যবহার সম্পর্কে এসওতে একটি পোস্ট আমি স্মরণ করি ।
সিএ ম্যাকক্যান

ঘটনাচক্রে, এই পোস্টে কালানুক্রমিক উল্লেখযোগ্যভাবে বন্ধ আছে। ফাংশনাল প্রোগ্রামিং (লিস্প এবং এমএল উভয় রীতিতে) ব্যাকাসের টুরিং অ্যাওয়ার্ড বক্তৃতার দীর্ঘকাল পূর্বাভাস দেয়, যেমন বেশিরভাগ বা সমস্ত বিদ্যমান প্রোগ্রামিং দৃষ্টান্ত যেমন - ফাংশন-লেভেল প্রোগ্রামিং সহ নিজেই সম্মিলিত লজিক আকারে , যা চার্চের ল্যাম্বদা ক্যালকুলাস এবং টুরিং উভয়েরই পূর্বাভাস দেয় গণনার তত্ত্ব নিয়ে কাজ! (ওহ, এবং আমি চাই অনেক বরং Haskell, জাভাস্ক্রিপ্ট মতো নৃশংসতা চেয়ে ব্যবহারিক বাস্তব জগতের উদ্দেশ্যে ব্যবহার করুন।)
সিএ ম্যাকান

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

2

আমি লিন্ডা এবং tuplespace প্রোগ্রামিং বিল ফিট করতে পারে বলে মনে হয়। সম্মিলিত / প্যাটার্নের সাথে মেলানো মেমরি অপারেশনগুলি কনক্যুরেন্সির অর্থ (ধারণাগতভাবে) ভন-নিউমানের বাধা নির্মূল হয়েছে।

সেই দিকে যেতে, খাঁটি অভিনেতা-মডেল ভাষাও নির্দেশ সিকোয়েন্সিংয়ের পরিবর্তে যোগাযোগের মডেল করে। যদিও এগুলি আনুষ্ঠানিকতা এবং প্রকৃত প্রোগ্রামিং ভাষা নয়, পাই ক্যালকুলাসের মতো ক্যালসুলি, সিএসপি এবং পেট্রি নেট সম্পর্কিত মডেল যোগাযোগ সম্পর্কিত পদ্ধতিতে।

লিঙ্কগুলির জন্য উইকিপিডিয়া দেখুন (আমি একজন নতুন ব্যবহারকারী এবং স্প্যাম সুরক্ষার অধীনে), তবে লিন্ডার নাম সম্পর্কিত কিছু কৌতুকপূর্ণ হাস্যরসের জন্য, http://c2.com/cgi/wiki?LindaEtymology পড়ুন

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