2010-04-19 25 views
6

इसका क्या अर्थ है कि एक प्रोग्रामिंग भाषा एक औपचारिक प्रोग्रामिंग भाषा है? और कौन सी भाषाएं औपचारिक प्रोग्रामिंग भाषाएं हैं? और कौन अनौपचारिक प्रोग्रामिंग भाषाएं हैं?औपचारिक प्रोग्रामिंग भाषा क्या है?

मुझे अभी तक एक अच्छा स्पष्टीकरण नहीं मिला है।

+12

यह निर्भर करता है कि वे कैसे कपड़े पहनते हैं। :-) –

+0

औपचारिक रूप से टैग करने के लिए यह केवल 7 वां प्रश्न है - http://stackoverflow.com/questions/tagged/formal-भाषाएं - तो जो भी हो (या नहीं) यह फेसबुक नहीं है। या ट्विटर। – amelvin

+0

हो सकता है कि आप "औपचारिक" से हो, तो आपका मतलब ट्यूरिंग-पूर्ण है? – FrustratedWithFormsDesigner

उत्तर

9

हर प्रोग्रामिंग भाषा एक औपचारिक भाषा है के लिए कारण है, इसलिए कि यह "औपचारिक प्रोग्रामिंग भाषा" के बारे में बात करने के लिए मुझे ज्यादा समझ में नहीं आता है। (या करता है किसी को अनौपचारिक प्रोग्रामिंग भाषा पता है?)

औपचारिक भाषा गणितीय सटीक निर्माण नियमों वाली एक भाषा है। या, अधिक सटीक, यह कुछ वर्णमाला पर शब्दों का एक सेट है। उदाहरण के लिए, यदि आप अक्षर a, b और c से वर्णमाला लेते हैं, तो इस वर्णमाला पर एक औपचारिक भाषा एक सेट {a, aa, aba, ca} हो सकती है। बेशक ऐसी भाषा बहुत उपयोगी नहीं होगी - मुद्दा यह है कि निर्माण नियमों के एक सभ्य सेट के साथ आप सी या पोस्टस्क्रिप्ट जैसी भाषा बना सकते हैं।

के रूप में "निर्माण नियम," वे एक औपचारिक व्याकरण (CSS के लिए व्याकरण देखें), एक रेगुलर एक्सप्रेशन (ई-मेल पतों के लिए इस gorgeous regex देखने के रूप में RFC 822 द्वारा परिभाषित), एक automaton या एक सामान्य एल्गोरिथ्म हो सकता है ।


आप, लगता है आप एक छोटा सा और बात समझ में नहीं आता के लिए यह एक बहुत ही अच्छा स्पष्टीकरण :-) औपचारिक भाषाओं की अवधारणा के पीछे सोच की बहुत सी चीज़ें हैं नहीं है निराश न हों,। मैं सुझाव दूंगा कि आप Wikipedia entry को आजमाएं और पचें और अधिक ट्यूटोरियल और पुस्तकें देखें। यह मजेदार है और आप कंप्यूटर्स, नियमित अभिव्यक्तियों, ट्यूरिंग मशीनों और डिजिटल मानव जाति के अन्य चमत्कारों की पृष्ठभूमि के बारे में बहुत कुछ सीखेंगे।

+0

शायद छद्म कोड एक अनौपचारिक भाषा है? – tloflin

+0

"अनौपचारिक प्रोग्रामिंग" मेरे लिए एक विरोधाभास जैसा प्रतीत होता है, लेकिन आप सही हैं, मुझे लगता है कि छद्म कोड को अनौपचारिक प्रोग्रामिंग भाषा माना जा सकता है। ("प्रोग्रामिंग" की पर्याप्त अस्पष्ट व्याख्याओं के लिए) – zoul

+0

मैंने लोगों को औपचारिक प्रोग्रामिंग भाषा के बारे में बात सुनी है, इसलिए मैंने सोचा कि वहां कुछ अनौपचारिक प्रोग्रामिंग भाषा कहा जाता है। लेकिन मुझे नहीं लगता। छद्म कोड, जैसा कि उल्लेख किया गया है, शायद निकटतम। धन्यवाद – Orjanp

2

औपचारिक साधन अच्छी तरह परिभाषित हैं। निष्पादन योग्य कार्यक्रमों को परिभाषित करने के लिए उपयोग की जाने वाली प्रत्येक प्रोग्रामिंग भाषा को अच्छी तरह से परिभाषित किया जाना चाहिए ताकि मशीन इसे समझ सकें।

0

wikipedia से एक उद्धरण Thats

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

+0

औपचारिक विनिर्देश भाषाएं! = औपचारिक भाषाएं। – zoul

+0

सभी निकालें pls देखें "उन्होंने यह भी तर्क दिया कि कंप्यूटर के व्यवहार को प्रभावित करने वाले पाठक और यहां तक ​​कि ग्राफिकल इनपुट स्वरूप प्रोग्रामिंग भाषाएं हैं" –

0

औपचारिक भाषाएं ऐसी भाषाएं हैं जो केवल सुव्यवस्थितता के बारे में कुछ भी नहीं मानती हैं। इसका मतलब है कि पर्याप्त और आवश्यक शर्त अपने नियमों का पालन करना है। एक उदाहरण नियम:

उदाहरण के लिए। यदि हम दशमलव संख्याओं के लिए भाषा को {x | के रूप में परिभाषित करते हैं अग्रणी शून्य के बिना अंकों का सीमित सेट}। (बस डालें, decimals का मतलब अंकों का अनुक्रम है।)

तो यदि उपरोक्त नियम वाली औपचारिक भाषा औपचारिक होने के लिए है, तो उसे दिए गए नियम का पालन करना चाहिए।

लेकिन व्यावहारिक उपयोग में, यदि भाषा 001 को दशमलव संख्या के रूप में मानती है तो हम निष्कर्ष निकाल सकते हैं कि प्रोग्रामिंग भाषा औपचारिक नहीं है, क्योंकि यह नियम के अनुसार बिल्कुल परिभाषित नहीं है।

आम तौर पर भाषा पार्सर्स इन नियमों की जांच करता है। तो औपचारिक भाषा हमेशा अच्छी तरह से बनाई जानी चाहिए (अपने नियमों का सख्ती से पालन करना)

0

यह "औपचारिक भाषा" नहीं है यह प्रोग्रामिंग का एक औपचारिक तरीका है: Wikipedia। इसे एक विशिष्ट भाषा नहीं होने की आवश्यकता है बल्कि जिस तरह से आप विनिर्देश लिखते हैं और कोड को सत्यापित करते हैं।

0

अन्य उत्तर कंप्यूटर विज्ञान के अनुसार औपचारिक प्रोग्रामिंग भाषा की परिभाषा से संबंधित हैं। हालांकि, यह उत्तर सामाजिक (wannabe) विज्ञान के अनुसार औपचारिक प्रोग्रामिंग भाषा की परिभाषा से संबंधित है।

dictionary.com के अनुसार, 'औपचारिक' की परिभाषाओं में से एक being in accordance with the usual requirements, customs, etc.; conventional है।

औपचारिक प्रोग्रामिंग भाषा एक प्रोग्रामिंग भाषा है जिसका व्यापक रूप से उपयोग किया जाता है और इसके बारे में बात करने वाले व्यक्ति द्वारा स्वीकार किया जाता है। इसलिए, यह डोमेन और वार्तालाप विशिष्ट है। शायद शब्द का एक बेहतर तरीका 'लोकप्रिय' है, पारंपरिक ',' मुख्यधारा 'या' व्यापक रूप से स्वीकार्य 'प्रोग्रामिंग भाषा है। उदाहरण के लिए, व्यवसाय और उद्योग में यह SQL, Java, C#, C++, Python और PHP से संदर्भित करता है।

अनौपचारिक प्रोग्रामिंग भाषाओं के उदाहरण SPL (शेक्सपियर प्रोग्रामिंग भाषा), FORTRAN और CoffeeScript हैं। यह कहना अधिक सटीक है कि एक भाषा अधिक पारंपरिक है और इस प्रकार यह अपेक्षाकृत औपचारिक है कि एक भाषा औपचारिक है और दूसरा अनौपचारिक है। सब के बाद, Lisp वेबसाइट बनाने के लिए एक बहुत ही अनौपचारिक प्रोग्रामिंग भाषा होगी, लेकिन आर्टिफिशियल इंटेलिजेंस रिसर्च के विकास के लिए एक बहुत ही औपचारिक प्रोग्रामिंग भाषा होगी।