নন-ভন নিউমান প্রোগ্রামিং মডেলগুলির জন্য কি কোনও ব্যবহারিক অ্যাপ্লিকেশন রয়েছে? সর্বাধিক ব্যবহৃত নন-ভন নিউমন প্রোগ্রামিং ভাষা কোনটি?
নন-ভন নিউমান প্রোগ্রামিং মডেলগুলির জন্য কি কোনও ব্যবহারিক অ্যাপ্লিকেশন রয়েছে? সর্বাধিক ব্যবহৃত নন-ভন নিউমন প্রোগ্রামিং ভাষা কোনটি?
উত্তর:
যখন আমি "ভন নিউমান আর্কিটেকচার" বলি, আমি কিছু হার্ডওয়্যার বোঝাতে চাইছি যা "ভন নিউমান অটল" দ্বারা সীমাবদ্ধ - অর্থাৎ এর মধ্যে সমস্ত ডেটা কিছু সংকীর্ণ ডাটা বাসের মাধ্যমে সজ্জিত।
অ ভন নিউম্যান প্রোগ্রামিং ভাষায় আমি প্রায়ই সবচেয়ে মধ্যে আচমকা হয় VHDL এবং Verilog । ভিএইচডিএল এবং ভেরিলোগে, ডিফল্টরূপে, সমস্ত কিছু একই সময়ে ঘটে। ক্রমিক ক্রমে ক্রমবর্ধমান ইভেন্টের ক্রম তৈরির জন্য প্রোগ্রামারকে অতিরিক্ত পরিশ্রম করতে হবে। এটি অন্যান্য প্রোগ্রামিং ভাষার তুলনায় খুব আলাদা যা "নির্দেশ নির্দেশক" বোঝায় যে ডিফল্টরূপে, যে কোনও একটি তাত্ক্ষেত্রে সর্বাধিক এক লাইন কোড প্রয়োগ করে এবং প্রোগ্রামারকে একই সাথে একাধিক জিনিস ঘটানোর জন্য অতিরিক্ত পরিশ্রম করতে হয় সময়।
কিছু লোক বলে যে এটি একটি প্রাকৃতিক ডিফল্ট। প্রচুর প্রারম্ভিক প্রোগ্রামিং শিক্ষার্থীরা "যখন (x> 0) {...}" লুপটি তাত্ক্ষণিকভাবে প্রস্থান করতে প্রত্যাশায় যে এক্স শূন্যের সমান হয়ে যায়, এবং তারা এই বিষয়টি জানতে পেরে অবাক হয় যে কম্পিউটার নিয়মিতভাবে এই শর্তটি মূল্যায়ন করে না ।
বেশিরভাগ লোক ভিএইচডিএল এবং ভেরিলোগ কোড লিখছেন তারা তাদের প্রোগ্রামগুলি এফপিজিএগুলিতে সংকলন করে, ক্রিয়াকলাপের সামান্য ব্লক তৈরি করে যা সমস্ত সময় পুরো গতিতে চলমান। প্রায়শই এই জাতীয় লোকেরা একটি "পাইপলাইন" সেটআপ করে যা ইনপুট পিনগুলি থেকে ডেটা পড়ে, এটি বিভিন্ন ব্লকের মাধ্যমে প্রক্রিয়া করে, একটি ব্লকের আউটপুট পিনগুলি সরাসরি পরবর্তী ব্লকের ইনপুট পিনগুলিতে তারযুক্ত হয় এবং চূড়ান্ত ব্লকটি ফলাফলটি প্রেরণ করে আউটপুট পিন এটি ইউনিক্স পাইপলাইনটির স্মরণ করিয়ে দিচ্ছে , ব্যতীত প্রতিটি घडির চক্রটিতে একটি নতুন টুকরো ডেটা চলে and
ইনপুট পিন, মধ্যবর্তী স্তর এবং আউটপুট পিনগুলি একে অপরের থেকে স্বতন্ত্র - আপনাকে কোনও একক ডাটা বাস মাল্টিপ্লেক্সে ডেটা বিভিন্ন টুকরা মধ্যে পুনরায় ব্যবহার করতে হবে না।
আপনার আগ্রহীও হতে পারে: ভন নিউম্যান / টিউরিং আর্কিটেকচার ছাড়াও কি অন্য কোনও কম্পিউটার আর্কিটেকচার রয়েছে?
আমি নন-ভন নিউমানের দ্বারা ধরে নিয়েছি, আপনি যে ভাষাগুলির অর্থ ব্যাকাসের কাগজ "ভ্যান নিউম্যান বোতলনেক" কে ছাড়িয়েছেন "ক্যান প্রোগ্রামিংটি ভ্যান নিউমান স্টাইল থেকে মুক্তি পেতে পারে?"। আগ্রহীদের জন্য, আপনি এখানে একটি অনুলিপি পেতে পারেন: http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf
আপনার প্রশ্নের উত্তর কয়েকটি কারণে অস্পষ্ট হতে হবে।
প্রথমত, কোন ভাষাগুলি তার কাগজে মানদণ্ডকে সন্তুষ্ট করেছিল? যদিও এই কাগজে কার্যকরী প্রোগ্রামিংয়ের সন্ধান রয়েছে এমন কিছু রয়েছে, তবে এখন পয়েন্ট-ফ্রি প্রোগ্রামিংয়ের মতো কিছু বোঝার কারণে এটি একটি ভুল বোঝাবুঝি হিসাবে বিবেচিত। তাহলে আপনি কি মূল ভুল বোঝাবুঝি, বা কাগজের আসল অভিপ্রায় নিয়ে যাচ্ছেন? তিনি কী বোঝাতে চেয়েছিলেন তা নিয়ে কিছুটা ব্যাখ্যা করার জন্য, দয়া করে নিম্নলিখিতটি দেখুন: http://en.wikedia.org/wiki/Function-level_programming
দ্বিতীয়ত, আপনি যদি ভুল বোঝাবুঝির সাথে চলে যান তবে কার্যক্ষম কতটা কার্যকর? আপনার খাঁটি কার্যকরী ভাষা, অশুচি কার্যকরী ভাষা এবং ভাষাগুলি অপেক্ষাকৃত বন্ধুত্বপূর্ণ ভাষা রয়েছে friendly আপনি জনপ্রিয়তার কথা উল্লেখ করেছেন এবং এটি এবং কার্যকরী বিশুদ্ধতার মধ্যে একটি বিপরীত সম্পর্ক রয়েছে তা বিবেচনা করে, কেবল কোন ভাষাগুলিকে অন্তর্ভুক্ত করা উচিত? আপনি কি সর্বাধিক জনপ্রিয় খাঁটি কার্যকরী ভাষা (যা মোটেও জনপ্রিয় হবে না), বা এমন আরও একটি জনপ্রিয় ভাষা চান যা "ফাংশনাল-নেস" এর কিছুটা ন্যূনতম মানদণ্ড পূরণ করে? পরে যদি হয়, সেই মানদণ্ডগুলি কী?
সুতরাং আপনার দৃষ্টিভঙ্গির উপর নির্ভর করে:
আমি জানি যে সম্পূর্ণ শুদ্ধ কার্যকরী ভাষাগুলির মধ্যে হাস্কেল সর্বাধিক জনপ্রিয় এবং এতে লিখিত অ্যাপ্লিকেশন রয়েছে। তবে কার্যকরী প্রোগ্রামিং সম্প্রদায়ের মধ্যে ভারী ওজন থাকা সত্ত্বেও বৃহত্তর প্রোগ্রামিং সম্প্রদায়ের মধ্যে এটি জনপ্রিয় নয়। এছাড়াও, এটি ব্যবহার করে, আমি এটি বাস্তব-বিশ্বের ব্যবহারের জন্য ব্যবহারিক বলে মনে করি নি এবং এটি তাত্ত্বিক কাজের জন্য মূল্যবান বলে মনে হয়। এটি বিন্দু মুক্ত শৈলীর অনুমতি দেয়, যাতে আপনি এটির সাথে ব্যাকাসের কয়েকটি লক্ষ্যতে পৌঁছাতে পারেন।
ক্লোজার, স্কেলা এবং এফ # কম খাঁটি, তবে আরও ব্যবহারিক এবং জনপ্রিয় কার্যকরী ভাষা। এফ # পয়েন্ট-মুক্ত শৈলীর পক্ষেও বন্ধুত্বপূর্ণ।
চতুর্থটি বিন্দু মুক্ত ভাষার প্রোটোটাইপিকাল উদাহরণ হতে পারে এবং এটি এর দিনে এটি বেশ বিস্তৃত ছিল, যদিও এখন ... ফ্যাক্টর অন্য একটি বিন্দু মুক্ত ভাষা যা কিছুটা দৃষ্টি আকর্ষণ করেছে, তবে আমি সন্দেহ করি যে এটি ফোরের জনপ্রিয়তার সাথে তার জনপ্রিয়তার সাথে মিলেছে ।
এপিএল ব্যাকাস এক পর্যায়ে উল্লেখ করেছিলেন (সম্ভবত তাঁর কাগজে নয়) তার দিকে অগ্রসর হওয়া পদক্ষেপ, তবে তার লক্ষ্যগুলির সাথে পুরোপুরি সামঞ্জস্যপূর্ণ নয়। এর দিন এটি আর্থিক ক্ষেত্রে বড় ছিল। জে মত এর বংশধরদের পরীক্ষা করে দেখুন।
জাভাস্ক্রিপ্ট কার্যকরী নয়, তবে এটি ক্লোজারিংয়ের প্রচুর ব্যবহারের দ্বারা প্রমাণিত, উচ্চতর অর্ডার প্রোগ্রামিংয়ের পক্ষে এটি বন্ধুত্বপূর্ণ। এর জনপ্রিয়তা দেওয়া, এটি কেবল মানদণ্ডগুলি পূরণ করতে পারে। জাভা স্ক্রিপ্টের সাথে কারিটিং এবং কম্বিনেটর বাস্তবায়নের মতো কিছু আকর্ষণীয় জিনিস পরীক্ষা করে দেখুন।
পাদটীকা হিসাবে, তাঁর লক্ষ্যের প্রতি আপনাকে আরও দৃষ্টিভঙ্গি দেওয়ার জন্য, তিনি তার মানদণ্ডগুলি মেটানোর জন্য তিনি যে দুটি ভাষা তৈরি করেছেন তা পরীক্ষা করে দেখতে পারেন। এগুলি এএফআইকে মোটেই জনপ্রিয় নয়, সুতরাং এটি নিখুঁতভাবে জ্ঞানের খাতিরে হবে:
আমি লিন্ডা এবং tuplespace প্রোগ্রামিং বিল ফিট করতে পারে বলে মনে হয়। সম্মিলিত / প্যাটার্নের সাথে মেলানো মেমরি অপারেশনগুলি কনক্যুরেন্সির অর্থ (ধারণাগতভাবে) ভন-নিউমানের বাধা নির্মূল হয়েছে।
সেই দিকে যেতে, খাঁটি অভিনেতা-মডেল ভাষাও নির্দেশ সিকোয়েন্সিংয়ের পরিবর্তে যোগাযোগের মডেল করে। যদিও এগুলি আনুষ্ঠানিকতা এবং প্রকৃত প্রোগ্রামিং ভাষা নয়, পাই ক্যালকুলাসের মতো ক্যালসুলি, সিএসপি এবং পেট্রি নেট সম্পর্কিত মডেল যোগাযোগ সম্পর্কিত পদ্ধতিতে।
লিঙ্কগুলির জন্য উইকিপিডিয়া দেখুন (আমি একজন নতুন ব্যবহারকারী এবং স্প্যাম সুরক্ষার অধীনে), তবে লিন্ডার নাম সম্পর্কিত কিছু কৌতুকপূর্ণ হাস্যরসের জন্য, http://c2.com/cgi/wiki?LindaEtymology পড়ুন ।