वहाँ अधिक बहु प्राकृतिक भाषा प्रोग्रामिंग भाषा क्यों नहीं हैं?


9

क्या कोई प्रोग्रामिंग भाषाएं उपलब्ध हैं और एक से अधिक प्राकृतिक भाषाओं में उपलब्ध हैं?

उदाहरण के लिए, do..whileलूप के साथ अंग्रेजी संस्करण , लूप के साथ स्पेनिश संस्करण hacer..mientas, ए के साथ faire..pendantडच संस्करण और ए के साथ डच संस्करण doe..terwijl

एकमात्र 'प्रोग्रामिंग लैंग्वेज' जिसके बारे में मैं सोच सकता हूं कि यह माइक्रोसॉफ्ट वीबीए है।

बोनस प्रश्न: कई प्रोग्रामिंग भाषाएं क्यों हैं जो कई भाषाओं में आती हैं?


12
बेहतर या बदतर के लिए अंग्रेजी सबसे अधिक प्रोग्रामिंग भाषाओं का लिंगुआ फ्रेंका है।
रॉबर्ट हार्वे

13
That's a reason why the languages are in English, not why there are no other languages, for example no "Java Indonesian" or "C++ Swahili"- क्योंकि आपका जावा इंडोनेशियाई कार्यक्रम केवल इंडोनेशियन प्रोग्रामर द्वारा ही रखा जा सकेगा।
रॉबर्ट हार्वे

5
@DavidArno इस विषय को गैर-अंग्रेजी बोलने वाले देशों के लोगों को अंग्रेजी में कोड में मार दिया गया है ? और इससे जुड़े कई सवाल
gnat

8
@MartijnBurger अनुवाद कीवर्ड "मामूली मुद्दा", अनुवाद की तुलना में है मानक पुस्तकालय है, जो "भारी काम है।" और वह यह भी है कि किस वजह से इंटरऑपरेबिलिटी की समस्या होगी। एक बार संकलित किए जाने वाले कीवर्ड्स की वर्तनी पर जावा निर्भर नहीं करता है; लेकिन यह पैकेज, कक्षा और विधि के नामों की वर्तनी पर निर्भर करता है।
दान गेट्ज

3
@DanGetz अभी भी जावा (और संभवतः अन्य भाषाओं) में मुद्दा है कि खोजशब्द आरक्षित हैं। मैं String for;जावा में एक क्षेत्र को परिभाषित नहीं कर सकता क्योंकि यह कक्षा में एक निर्यात प्रतीक होगा। और वह यह है कि मैं किसी क्षेत्र का नाम नहीं दे सकता doeक्योंकि यह डच संस्करण में है और होने के public class Deer { String buck; String doe; }कारण doeक्षेत्र सुलभ नहीं होगा । सभी कीवर्ड जावा में आरक्षित शब्द हैं। अन्य लैंग्स में कीवर्ड के साथ संघर्ष करने वाले फ़ील्ड्स के लिए खराब चीजें होंगी।

जवाबों:


21

एक्सेल फ़ार्मुलों में फ़ंक्शन नाम स्थानीयकृत हैं, जहाँ आप अंग्रेज़ी शब्दांकन या स्थानीय समकक्ष का उपयोग कर सकते हैं।

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

कीवर्ड को अपारदर्शी मोनिकर्स के रूप में देखा जाना चाहिए, जो सिर्फ अंग्रेजी शब्दों के अर्थ के साथ संरेखित करने के लिए होता है। वहाँ बहुत सारे गैर-अंग्रेजी बोलने वाले प्रोग्रामर हैं जो यह नहीं जानते कि उनके आधे खोजशब्दों का क्या अर्थ है।


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

1
किसी स्क्रिप्ट में कीवर्ड का अनुवाद करना इतना कठिन क्यों है? निश्चित रूप से उन्हें पार्स करने के लिए अपेक्षाकृत आसान होना चाहिए क्योंकि वे पहले से ही विशेष रूप से इलाज कर रहे हैं।
SuperBiasedMan

साथ ही, एक्सेल वास्तव में एक प्राकृतिक भाषा प्रोग्रामिंग प्रणाली नहीं है, क्योंकि यह अंग्रेजी वाक्य संरचनाओं को निष्पादन योग्य कार्यक्रमों में अनुवाद नहीं करता है।
एंडरसन ग्रीन

16

पिछली शताब्दी में, विशेष रूप से 1960-1970 के दशक में, वे कुछ गैर-अंग्रेजी आधारित प्रोग्रामिंग भाषाएं हैं। फ्रांस में, हमारे पास फ्रेंच-दिखने वाले कीवर्ड के साथ PAF & LSE था । WW2 जर्मनी में K.Zuze द्वारा प्लैंकल्कल था। सोवियत संघ में, ईशोव ने रूसी कीवर्ड के साथ कुछ भाषाओं (जैसे रैपिरा ) को डिज़ाइन किया । IIRC PAF (मेरे दिवंगत पिता द्वारा डिजाइन और कार्यान्वित किया गया जब मैं एक बच्चा था - 1960 के दशक की शुरुआत में) अंग्रेजी-दिखने वाले (या रूसी-दिखने वाले या जर्मन-दिखने वाले) कीवर्ड के साथ भी बेचा जा सकता था। और कुछ भाषाओं, जैसे एपीएल , में कोई भी कीवर्ड नहीं था। अन्य भाषाओं ( PL / I ) को आरक्षित नहीं किया थाकीवर्ड। और आप प्रीप्रोसेसर तकनीकों (जैसे कि आज C में, #define si ifऔर #define sinon elseफ्रांसीसी छात्रों के लिए ....) के साथ खोजशब्दों को फिर से परिभाषित कर सकते हैं ; पीएल / I या कॉमन लिस्प में भी इसी तरह के मैक्रो- आधारित चाल संभव हैं।

लेकिन आई.टी.ज्यादातर एक अंग्रेजी बोलने वाले देश (अमेरिका) में विकसित किया गया था। इसलिए प्रोग्रामिंग भाषाओं और उनके कार्यान्वयन में अंग्रेजी विनिर्देश और प्रलेखन और अंग्रेजी कीवर्ड थे। इसलिए, प्रत्येक डेवलपर को तकनीकी अंग्रेजी पढ़ने में सक्षम होना चाहिए, और प्रोग्रामिंग भाषा "स्थानीय" करने के लिए कोई अतिरिक्त मूल्य नहीं है (और यहां तक ​​कि ऐसा करने से अन्य सॉफ़्टवेयर का उपयोग करना अधिक कठिन होता है, जैसा कि कहीं और उत्तर दिया गया है)। अंग्रेजी बोलने वाले देशों के वर्तमान तकनीकी और किफायती प्रभुत्व के लिए सभी इंजीनियरों को आज अंग्रेजी पढ़ने की आवश्यकता है (मुझे यकीन है कि उत्तर कोरियाई, चीनी, या ईरानी सॉफ्टवेयर इंजीनियर अंग्रेजी में प्रलेखन पढ़ने में सक्षम हैं और अंग्रेजी कीवर्ड और पहचानकर्ताओं के साथ कोड पढ़ने में सक्षम हैं) । तो एक प्रोग्रामिंग भाषा को "स्थानीयकृत" करने के लिए और अधिक पर्याप्त मूल्य नहीं है (शायद हाई स्कूल के बच्चों को प्राथमिक प्रोग्रामिंग सिखाने के लिए)।

साथ ही, अंग्रेजी में कई छोटे कीवर्ड हैं ( अंग्रेजी sinonमें फ्रेंच में तुलना करें else, या अंग्रेजी mettreमें फ्रेंच putमें), इसलिए अंग्रेजी में कीवर्ड का उपयोग करने में एक छोटा फायदा है ...।

शायद एक सदी में, चीन प्रमुख आईटी देश बन सकता है और कुछ चीनी आधारित प्रोग्रामिंग भाषा पनप सकती है। हम नहीं जानते कि तब क्या होगा ...।

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


Plankalküll मत भूलना !
एरिक Eidt

धन्यवाद।
होमोफोनिक

मुझे नहीं पता, लेकिन मैंने इसे उखाड़ फेंका, इसलिए यह अब (केवल अफसोस) तटस्थ है। मुझे यह एक अच्छा जवाब लगा।
मावग का कहना है कि मोनिका

5
अंग्रेजी आयरलैंड गणराज्य की दो आधिकारिक भाषाओं में से एक है, जो यूरोपीय संघ का सदस्य है।
मैथ्यू फ्लिन

9

बहुत अच्छे कारण हैं कि पेशेवर प्रोग्रामिंग भाषाओं का अनुवाद नहीं किया जाता है।

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

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

3) प्रोग्रामर को वैसे भी अंग्रेजी जानना आवश्यक है। HTTP, CSS, HTML जैसे कई मानक पहचानकर्ताओं के लिए वैसे भी अंग्रेजी भाषा का उपयोग करते हैं। इनका अनुवाद नहीं किया जा सकता क्योंकि शब्द मानक में बेक किए गए हैं।

चूंकि प्रोग्रामरों को वैसे भी अंग्रेजी जानने की जरूरत है, इसलिए केवल प्रोग्रामिंग भाषाओं के अनुवादित संस्करण बनाने के लिए कमियां और कोई लाभ नहीं होगा।

पेशेवर प्रोग्रामर के विपरीत आकस्मिक प्रोग्रामर के लिए अभिप्रेत भाषाओं के लिए, यह अनुवादित संस्करणों को बनाने के लिए समझ में आता है। यह VBA के लिए मामला है और मेरा मानना ​​है कि AppleScript भी अनुवादित संस्करणों में मौजूद है।


5

मुझे किसी अन्य भाषा के बारे में नहीं पता, सिवाय इसके कि मूल रूप से बेसिक के कुछ पुराने गूढ़ संस्करण को छोड़कर, जो बहुत सारे अजीब एहसानों में आने के लिए प्रेरित था, इसलिए मैं बोनस प्रश्न पर टिकूंगा: क्यों कुछ अनुवादित प्रोग्रामिंग भाषाएं हैं:

मेरा मानना ​​है कि यह केवल एक जोड़ा जटिलता है जो संकलक और पुस्तकालय कार्यान्वयनकर्ताओं के लिए एक बड़ी आवश्यकता नहीं है। यहाँ कुछ कारण हैं जो मेरी राय में योगदान करते हैं।

  • यदि आप "सार्वभौमिक" भाषा से नहीं चिपके हैं तो आप अपने कोड के दर्शकों को सीमित कर देंगे। यकीन है, हर कोई अंग्रेजी नहीं जानता है, लेकिन हर भाषा के लिए वही सच है।
  • सभी शब्दों में एकल शब्द कीवर्ड जरूरी नहीं है कि सभी भाषाओं में एक ही शब्द हो। मैंने कभी जांच नहीं की है, लेकिन मैं कल्पना कर सकता हूं कि सी ++ के एकल बहु-शब्द प्रकार "लंबे लंबे" से निपटने के लिए विशेष आवरण की एक उचित मात्रा है।
  • यदि आप खोजशब्दों का अनुवाद करना शुरू करते हैं, तो क्या आप स्थानों पर विचार करेंगे, और संख्याएँ कैसे स्वरूपित होंगी? उदाहरण के लिए कोमा बनाम एक विभाजक के रूप में अवधि। या आवश्यकता है कि जर्मन संज्ञा पूंजीकृत हैं?
  • किसी दिए गए कार्यक्रम में पाठ का अधिकांश हिस्सा चर, तरीके और वर्ग के नाम हैं, टिप्पणियों का उल्लेख करने के लिए नहीं। हालांकि, निश्चित रूप से अन्य भाषाओं में लिखी जाने वाली लाइब्रेरी हैं, सभी उपयोगकर्ताओं की सेवा करने के लिए सभी पुस्तकालयों के स्रोत कोड अनुवाद बनाए रखना अधिकांश डेवलपर्स के लिए बहुत बड़ा बोझ होगा, ऐसे कोड के आसपास चर्चाओं में अतिरिक्त जटिलता का उल्लेख नहीं करना है।
  • कंपाइलरों को सभी कार्यान्वित भाषाओं को समझना होगा। शायद एक ही फ़ाइल में कई भाषाएँ भी। एक कंप्यूटर के लिए एक छोटी उपलब्धि निश्चित रूप से, लेकिन अतिरिक्त काम। शायद आप अंत में एक ही कीवर्ड के साथ अलग-अलग भाषाओं में अलग-अलग अर्थों, या शब्दों को अच्छी तरह से पढ़ने के लिए बहुत अस्पष्ट होने का सामना करेंगे।
  • (ठीक है, विचार किया गया) निश्चित रूप से अधिकांश लोग जिन्हें एमएस ऑफिस के दस्तावेजों को अलग-अलग भाषाओं में क्रमादेशित और स्वरूपित करना पड़ा है, वे इस विचार को खारिज कर देंगे क्योंकि यह परेशानी के लायक नहीं है।

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


3

यदि आपके पास एक भाषा है जिसे एक स्तर पर "प्रतीकात्मक टैग" के रूप में परिभाषित किया गया है और दूसरे पर "सतह टैग पदनाम" हैं, तो उनके बीच अच्छी तरह से परिभाषित मैपिंग के साथ, यह निश्चित रूप से संभव होगा।

एक ऐसी भाषा की कल्पना करें जहां आपके पास if, while... do, switchऔर मानक में किसी भी तरह से परिभाषित अन्य सभी कीवर्ड हैं, आप सिस्टम टोकन को "टोकन प्रारूप" में रख सकते हैं, गैर-टोकन रूप में लिखे गए स्थानीय कोड के साथ। तब वास्तविक संकलक टोकन स्तर पर काम करता है और चीजें अच्छी हो सकती हैं।

हालाँकि, यह पूरी कहानी नहीं है। आप अभी भी उन स्थितियों में समाप्त हो जाएंगे, जहां आपने पुस्तकालयों को कहीं से प्राप्त किया है जो "मानक पुस्तकालय" नहीं है, फ़ंक्शन नामों के द्वारा हस्तक्षेप किया गया है। और उन भाषाओं के बीच एक विहित मानचित्रण नहीं होगा और या तो एक स्थानीय भाषा में अनुवाद की आवश्यकता होगी, जो कि प्रयोग करने योग्य हो, या आप अपने स्रोत कोड में भाषाओं के मिश्मश के साथ समाप्त हो जाएं।


2

दिए गए सभी उत्तर महान उत्तर हैं, लेकिन मैं अपने दो सेंट वैसे भी दूंगा।

संयुक्त राज्य अमेरिका और ब्रिटेन के तकनीकी, सांस्कृतिक और आर्थिक प्रभुत्व की गणना की शुरुआत में , यह केवल तार्किक बना दिया कि अंग्रेजी शब्दों का उपयोग करके सबसे सफल भाषाएं क्या बनाई गई थीं।

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

हाल ही में खुले स्रोत और मुफ्त सॉफ्टवेयर आंदोलन ने सॉफ्टवेयर के निर्माण को एक प्रयास बना दिया जो पहले की तुलना में अधिक वैश्विक है। कुछ ओपन सॉफ्टवेयर परियोजनाएं, जिनमें कुछ प्रोग्रामिंग प्लेटफॉर्म, भाषाएं और रूपरेखा सैकड़ों सहयोगी शामिल हैं बड़ी परियोजनाएं हैं।

श्रीलंका के एक व्यक्ति के साथ सहयोग करने के लिए इज़राइल का एक व्यक्ति किस भाषा का उपयोग करेगा? ज्यादातर शायद वे एक दूसरे की मूल भाषा नहीं बोलते या पढ़ते नहीं हैं। तो अंग्रेजी बचाव के लिए आता है।

यह पसंद है या नहीं, अंग्रेजी वैश्विक प्रयासों की भाषा है । और इसलिए नहीं कि अमेरिका इसे आगे बढ़ा रहा है बल्कि इसलिए क्योंकि दुनिया इसे खींच रही है।

Paraphrasing Jay वाकर :

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

देखें वीडियो, "अंग्रेजी उन्माद"

जमीनी स्तर:

प्रोग्रामिंग भाषाएं जो विभिन्न भाषाओं का उपयोग करती हैं, वे मौजूद रहेंगी और उनका आविष्कार किया जाना जारी रहेगा (जैसे ग्राफिकल-टोकन-आधारित स्क्रैच), लेकिन कम से कम निकट भविष्य में ते हे तुलनात्मक रूप से कुछ ही होगा।


-2

अंग्रेजी भी एक "उच्चारण मुक्त" भाषा है, आपके पास कोई भी अजीब चरित्र नहीं है जिसे एएससीआईआई से अलग एन्कोडिंग की आवश्यकता है। अगर मैं एक इतालवी कीबोर्ड लेआउट या जैसे चरित्रों का उपयोग करता हूं, तो मैं इतालवी हूं और कभी-कभी मुझे एन्कोडिंग त्रुटियों का सामना करना पड़ता है। इसके अलावा "और" का अनुवाद "अल्टिमेंटी" में किया गया है, "इन" "डेंट्रो" है ... जो निराशाजनक होगा।


9
हालांकि यह सर्कुलर तर्क है - ASCII मानक चारसेट बन गया क्योंकि अंग्रेजी कंप्यूटिंग का लिंगुआ फ्रेंका है।
जैक्सबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.