2011-01-16 13 views
14

क्या लॉजिकल प्रोग्रामिंग के लिए प्रोलॉग की तुलना में कोई नई भाषा है?तर्क प्रोग्रामिंग के लिए प्रोलॉग की तुलना में नई प्रोग्रामिंग भाषा

+1

विकिपीडिया में तर्क प्रोग्रामिंग भाषाओं की एक सूची है: https://en.wikipedia.org/wiki/Category:Logic_programming_languages ​​ –

उत्तर

9

Mercury अच्छा और आधुनिक है, और प्रोलॉग जैसा दिखता है।

बुध एक नई तर्क/कार्यात्मक प्रोग्रामिंग भाषा है, जो उन्नत स्थिर विश्लेषण और त्रुटि पहचान सुविधाओं के साथ घोषणात्मक प्रोग्रामिंग की स्पष्टता और अभिव्यक्ति को जोड़ती है। इसका अत्यधिक अनुकूलित निष्पादन एल्गोरिदम मौजूदा तर्क प्रोग्रामिंग सिस्टम से अधिक, और पारंपरिक प्रोग्रामिंग सिस्टम के करीब दक्षता प्रदान करता है। बुध बड़े पैमाने पर कार्यक्रम के विकास की समस्याओं को संबोधित करता है, मॉड्यूलरिटी, अलग संकलन, और कई अनुकूलन/समय व्यापार-बंद की इजाजत देता है।

+1

मैं बुध को एक महान लॉजिकल प्रोग्रामिंग भाषा के रूप में भी आगे रखूंगा। यह भी ध्यान रखें कि बुध का वाक्यविन्यास प्रोलॉग की तरह दिख सकता है, लेकिन ऐसा लगता है कि आप मजबूत प्रकार प्रणाली के कारण हास्केल में प्रोग्रामिंग कर रहे हैं। इसके अलावा यदि आपको लॉजिक वैरिएबल जैसे कुछ आम तौर पर प्रोलॉग फीचर्स की ज़रूरत है, तो बुध उनका समर्थन नहीं करता है। अभ्यास से बचने से आपके कार्यक्रम को और अधिक बनाए रखने योग्य बना दिया जाएगा :-)। अस्वीकरण: मैं बुध परियोजना पर काम करता हूं, कोड रखरखाव के बारे में अवलोकन व्यक्तिपरक और अनावश्यक हैं। अन्य टिप्पणियां उद्देश्य हैं। –

+1

तर्क चर की कमी एक बड़ा नुकसान की तरह लगती है। क्या यह प्रोलॉग/एलपी का एक सुंदर केंद्रीय पहलू नहीं है? – ib84

5

Curry नामक एक बहुत ही आशाजनक कार्यात्मक तर्क प्रोग्रामिंग भाषा है। अपनी नवीनता के बावजूद करी को इस्तेमाल करना आसान होना चाहिए यदि आप पहले से ही हास्केल और प्रोलॉग को जानते हैं क्योंकि यह इन दोनों भाषाओं से सीधे प्रभावित था।

करी एक सहज तरीके से जोड़ती है कार्यात्मक प्रोग्रामिंग (नेस्टेड भाव, उच्च क्रम काम करता है, आलसी मूल्यांकन), तर्क प्रोग्रामिंग से सुविधाओं (तार्किक चर, आंशिक डेटा संरचनाओं, निर्मित खोज) , और समवर्ती प्रोग्रामिंग (तार्किक चर पर सिंक्रनाइज़ेशन के साथ अभिव्यक्ति के समवर्ती मूल्यांकन)।

1

Oz/Mozart एक बहु प्रतिमान प्रोग्रामिंग भाषा तर्क प्रोग्रामिंग का समर्थन करता है कि के रूप में यह में से एक सुविधाओं है। मैंने इसका कभी भी उपयोग नहीं किया है, इसलिए मैं यह नहीं कह सकता कि यह अच्छा है या नहीं। हालांकि यह निश्चित रूप से दिलचस्प लगता है।

अस्वीकरण: मैं बुध परियोजना पर काम करता हूं और ओज़/मोजार्ट और बुध के बीच एक विकल्प में बुध का चयन करता हूं।

+0

कृपया, ओज़/मोजार्ट के लिंक को सही करें। – nbro

2

यह मत भूलना कि प्रोलॉग कई नए एक्सटेंशन के लिए होस्ट है जिसे अपने अधिकार में भाषा माना जा सकता है। विशेष रूप से सीएलपी (आर), सीएलपी (क्यू), सीएलपी (एफडी) जैसी बाधाएं। सीएचआर जैसे अधिक सामान्य एक्सटेंशन, लेकिन कई टाइप किए गए दृष्टिकोण भी।

ये भाषाएं आमतौर पर मौजूदा प्रोलॉग सिस्टम में लाइब्रेरी के रूप में शिप करती हैं। उस सेटिंग में आपको जो मिलता है वह अक्सर से-स्क्रैच सिस्टम की तुलना में काफी परिपक्व और स्थिर कार्यान्वयन होता है। आखिरकार, कई प्रोलॉग सिस्टम लगभग 30 वर्ष पुराने हैं।

3

Logtalk एक ऑब्जेक्ट-उन्मुख तर्क प्रोग्रामिंग भाषा है जो प्रोलॉग भाषा को बड़े पैमाने पर प्रोग्रामिंग के लिए उपयुक्त फीचर सेट के साथ विस्तारित करती है और कोड इंकैप्यूलेशन और पुन: उपयोग तंत्र में ध्यान केंद्रित करती है। बैकएंड कंपाइलर के रूप में यह अत्यधिक पोर्टेबल समर्थन है जो सबसे सक्रिय रूप से प्रोलॉग कार्यान्वयन को बनाए रखता है। अन्य उल्लेखनीय विशेषताओं में प्रोटोटाइप और कक्षाओं, प्रोटोकॉल (इंटरफेस), सिंडक्शन, घटक-आधारित प्रोग्रामिंग, ईवेंट-संचालित प्रोग्रामिंग और उच्च स्तरीय मल्टी-थ्रेडिंग प्रोग्रामिंग दोनों के लिए समर्थन शामिल है। वर्तमान वितरण में प्रोग्रामिंग उदाहरणों, प्रोग्रामिंग टूल्स, लाइब्रेरीज़, और टेक्स्ट एडिटर्स और सिंटैक्स हाइलाइटर्स प्रोग्रामिंग और प्रकाशन कोड कोड के लिए समर्थन का एक बड़ा सेट शामिल है।

संबंधित मुद्दे