কেন (না) লজিক প্রোগ্রামিং?


13

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

এটি আমাকে অবাক করে তোলে, আপনার যুক্তিযুক্ত প্রোগ্রামিং কেন ব্যবহার করা উচিত এবং কেন নয়? কেন এটি কোনও আবিষ্কারযোগ্য শিল্পের ব্যবহার পাচ্ছে না?

উত্তর:


8

একাডেমিয়ার বাইরে ... আমি শুনেছি এটি এআইতে বেশি ব্যবহৃত হয়, কখনও কখনও গেমসে (শুনেছি এটি ব্ল্যাক অ্যান্ড হোয়াইট সিরিজের এআইকে চালিত করেছে)। আমি নির্দিষ্ট ব্যবসায় এবং অর্থনৈতিক সিমুলেশনগুলির জন্য নিয়ম-ইঞ্জিন চালানোর জন্য ব্যবহৃত বিভিন্ন প্রকারের কথাও শুনেছি।

ব্যাপক গ্রহণের অভাবের জন্য আমার অনুমানগুলি হ'ল:

  • এটি অদ্ভুত - বেশিরভাগ লোকেরা এতে প্রোগ্রামিং করতে অভ্যস্ত হয় না এবং অন্য ভাষাগুলিতে তাদের যা প্রয়োজন তা তারা করতে পারে।
  • বিক্রেতার সহায়তার অভাব - যদি মাইক্রোসফ্ট হঠাৎ করে নেক্সট বিগ থিং হিসাবে প্রোলোল # (.NET লাইব্রেরি এবং টুলসেটের পুরো ওজন সহ এবং এর পিছনে আনুষ্ঠানিক সমর্থন) টিপতে শুরু করে - এবং তারপরে আইবিএম এবং ওরাকল কিছু প্রতিযোগিতায় আসে তবে আমি আপনাকে বাজি ধরছি দেখছি তোলা!
  • ইন্টিগ্রেশন অভাব - প্রোলোগের জন্য কোন লাইব্রেরি উপলব্ধ তা আমি জানি না - সর্বশেষে আমি পরীক্ষা করেছিলাম যে সেখানে কোনও গ্রাফিকাল বা নেটওয়ার্কিং লাইব্রেরি নেই, যার অর্থ একটি প্রোলোগ "অ্যাপ্লিকেশন" অন্য অ্যাপ্লিকেশনটিতে আবৃত থাকতে হবে যা বাকী অংশগুলির সাথে যোগাযোগ করে দুনিয়া।

"একটি প্রোলোগ" অ্যাপ্লিকেশন "অন্য একটি অ্যাপ্লিকেশনটিতে আবৃত থাকতে হবে যা বিশ্বের অন্যান্য দেশের সাথে যোগাযোগ করে" " এটি আসলে আমাদের জন্য একটি বৈশিষ্ট্য ছিল। প্রোলগ বিটগুলি আমরা আরও সহজেই আলাদা করতে পারি কারণ এর ইন্টারফেসটি এত সহজ ছিল।
এসলট

@ এস.লোট: ঠিক আছে, আমি দেখতে পাচ্ছি যে সম্ভবত ইতিবাচক হিসাবেও, যদিও আমি যখন স্কুলে ছিলাম এবং প্রকোলের সাথে আসলে একটি আবেদন করতে চেয়েছিলাম , তখন টুকরোগুলির মধ্যে নদীর গভীরতানির্ণয় এবং তারকে বড় চ্যালেঞ্জ এবং বাধা বলে আমি পেয়েছি।
হতাশিত

5

আমরা এটি পার্সার তৈরিতে ব্যবহার করেছি। লেক্স / ইয়্যাকের চেয়ে কাজ করা সহজ ছিল।

কেন এটি কোনও আবিষ্কারযোগ্য শিল্পের ব্যবহার পাচ্ছে না?

এটি অদৃশ্যযোগ্য। "সনাক্তযোগ্য" এর অর্থ কী? কার সনাক্তকরণ মেমো পেতে হবে?

http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp

আপনি যদি তথ্য চান তবে মেরিডিয়ান সফ্টওয়্যারকে তাদের অগ্রণী প্রস্তাব সম্পর্কে জিজ্ঞাসা করুন।

যাইহোক, প্রবেশের কিছু বাধা রয়েছে যা আমি অভিজ্ঞ হয়েছি।

প্রথমত, প্রোলোগ ধীর হতে পারে। যখন প্রার্থীর প্রচুর বিধি থাকে এবং অনুসন্ধানের জায়গাটি সীমাবদ্ধ করার জন্য কোনও সাধারণ কাটা অপারেশন থাকে তখন কিছু করতে কিছুটা সময় নিতে পারে।

দ্বিতীয়ত, প্রোলোগ পদ্ধতিগত বা কার্যকরী নয়, তাই অনেক প্রোগ্রামার এটি ব্যবহার করে bal (মজার ব্যাপার হচ্ছে, কিছু প্রোগ্রামারদের এসকিউএল, ব্যবহার করেও এ কড়িকাঠ। যে বিষয়টি জন্য, কিছু প্রোগ্রামারদের অনিচ্ছা এসকিউএল ব্যবহার এবং এড়ানোর মত অপারেশন যোগ দিতে, বা বলে যে দাবি করা অদ্ভুত জিনিষ কি করতে হবে COUNT(*)জাদুর অদক্ষ হয়।)

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

নিম্নলিখিত বেশিরভাগ চেনাশোনাগুলিতে গ্রহণযোগ্য।

b = a + 1
if a > b: # always False

এই ধরণের নোংরা চিন্তাভাবনা আপনাকে প্রলগে সমস্যায় ফেলবে।


2

একটি বিষয় হ'ল প্রলোগ সত্যই প্রথম অর্ডার প্রিডিটিক যুক্তিতে প্রোগ্রামিং করছেন না, যা গণনাগতভাবে জটিল হয়ে উঠতে পারে (আমি মনে করি না কতটা পরিমাণে, তবে এটি এনপিতে নেই, এবং যদি আপনি এটিতে পাটিগণিত যোগ করেন তবে এটি আনুষ্ঠানিকভাবে অনির্ধারিত)। অতএব, এটি একটি সরলকরণ।

যুক্তি অনুসারে, কোনও প্রস্তাব সত্য প্রমাণিত হতে পারে, মিথ্যা প্রমাণিত হতে পারে, বা কোনওভাবেই প্রমাণিত হতে পারে না। প্রোলোগ কেবল প্রমাণিত এবং প্রমাণিত নয়, "প্রমাণিত নয়" সাধারণত অর্থ মিথ্যা। তদ্ব্যতীত, প্রোলজ ধারাগুলির ক্রম কার্যকরকরণকে প্রভাবিত করতে পারে, যা যৌক্তিক ধারাগুলির ক্ষেত্রে নয়। আমি যে কোর্সে এটি ব্যবহার করেছি, আমি প্রোলোগকে একটি লজিক্যাল ভাষার চেয়ে প্যাটার্ন-ম্যাচিং ভাষা হিসাবে ভাবতে শুরু করি।

সুতরাং, প্রোলোগ প্রোগ্রামিং প্রোগল ভাষা হিসাবে তাত্ত্বিক নির্ভুলতার উপর এতটা নির্ভর করে না। এটি কিছু উপায়ে একটি দরকারী ভাষা, তবে এটি মূলধারার কাছাকাছি কোথাও নেই এবং এর সি ++ এর মতো ভাষার সরঞ্জাম এবং সম্প্রদায়গত উপকারও নেই।

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