आर्क (प्रोग्रामिंग भाषा)

From Vigyanwiki
आर्क
Paradigmsबहु-प्रतिमान: कार्यात्मक, मेटा, प्रक्रियात्मक
परिवारलिस्प
द्वारा डिज़ाइन किया गयापॉल ग्राहम
Developersपॉल ग्राहम, रॉबर्ट मॉरिस,
आर्क समुदाय
पहली प्रस्तुति29 January 2008; 16 years ago (2008-01-29)
Stable release
3.2 / 28 October 2018; 5 years ago (2018-10-28)[1]
टाइपिंग अनुशासनगतिशील
कार्यान्वयन भाषारैकेट
प्लेटफॉर्मIA-32, x86-64
ओएसलिनक्स
लाइसेंसआर्टिस्टिक लाइसेंस 2.0
फ़ाइल नाम एक्सटेंशनएस.आर्क
वेबसाइटआर्कभाषा.ओआरजी
Major implementations
आर्क, अनारकी, आर्केडिया, इंद्रधनुष
Influenced by
लिस्प, योजना

आर्क विशेष प्रकार की प्रोग्रामिंग भाषा होती है, जो लिस्प भाषा (प्रोग्रामिंग भाषा) की बोली (कंप्यूटिंग) होती है, जिसे पॉल ग्राहम (प्रोग्रामर) और रॉबर्ट टप्पन मॉरिस द्वारा विकसित किया गया है। यह आर्टिस्टिक लाइसेंस 2.0 के अनुसार जारी किया गया मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर (प्रोग्रामिंग भाषा) होता है।

इतिहास

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

1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
 Maclisp
 Interlisp
 MDL
 Lisp Machine Lisp
 Scheme  R5RS  R6RS  R7RS small
 NIL
 ZIL (Zork Implementation Language)
 Franz Lisp
 Common Lisp  ANSI standard
 Le Lisp
 MIT Scheme
 T
 Chez Scheme
 Emacs Lisp
 AutoLISP
 PicoLisp
 Gambit
 EuLisp
 ISLISP
 OpenLisp
 PLT Scheme  Racket
 GNU Guile
 Visual LISP
 Clojure
 Arc
 LFE
 Hy

लक्ष्य

लोकप्रिय होने के निबंध में[3] ग्राहम ने भाषा के लिए अपने कुछ लक्ष्यों का वर्णन किया है। जबकि अनेक लक्ष्य बहुत सामान्य हैं ("आर्क हैक करने योग्य होता है", "अतः अच्छी पुस्तकालय (कम्प्यूटिंग) होती है"), उन्होंने कुछ विशेष बातें बताईं थी। उदाहरण के लिए, उनका मानना ​​है कि भाषा का संक्षिप्त होना आवश्यक होता है।

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

उन्होंने यह भी कहा है कि किसी भाषा के लिए केवल कम संख्या में स्वयंसिद्ध सिद्धांतों को क्रियान्वित करना उत्तम होता है, यदि इसका तात्पर्य यह होता है कि भाषा में वह विशेषताएं नही होती है जो बड़े संगठन चाहते हैं, जैसे कि ऑब्जेक्ट-ओरिएंटेशन (OO) इत्यादि। इसके अतिरिक्त, ग्राहम का मानना ​​है कि OO उपयोगी नहीं होता है जिससे कि इसकी विधि और सॉफ़्टवेयर डिज़ाइन पैटर्न केवल अच्छे डिज़ाइन होते हैं, और वह OO को क्रियान्वित करने के लिए उपयोग की जाने वाली भाषा सुविधाओं को आंशिक रूप से गलत मानते हैं।[4][5] इस प्रकार सन्न 2008 में आर्क के परिचय में, ग्राहम ने कहा था कि इसका लाभ इसकी संक्षिप्तता है।[6]

सामान्यतः लिस्प प्रोग्रामर्स के मध्य विवाद यह है कि भाषा के एस-अभिव्यक्तियों को वाक्यविन्यास के अन्य रूपों द्वारा पूरक किया जाता है या नहीं किया जाता है। इस प्रकार ग्राहम का मानना यह ​​है कि अतिरिक्त वाक्यविन्यास का उपयोग उन स्थितियों में किया जाता है जहां शुद्ध एस-अभिव्यक्ति अत्यधिक क्रियात्मक होती है, अतः मुझे नहीं लगता है कि हमें लिस्प में वाक्यविन्यास प्रारंभ करने का धार्मिक रूप से विरोध करना चाहिए। इस प्रकार ग्राहम भी सोचते हैं कि प्रोग्रामर को अच्छी प्रोफाइलिंग (कंप्यूटर प्रोग्रामिंग) देकर दक्षता संबंधी समस्याओं का समाधान किया जा सकता है।[7]

स्वागत

सन्न 2008 में जारी होने पर, आर्क ने मिश्रित प्रतिक्रियाएँ उत्पन्न की थी, जिससे कि कुछ लोगों ने इसे केवल लिस्प या स्कीम (प्रोग्रामिंग भाषा) का विस्तार कहा था, न कि अपने आप में प्रोग्रामिंग भाषा। इस प्रकार अन्य लोगों ने लिस्प को केवल आवश्यक चीजें उपलब्ध कराने के लिए आर्क की सराहना की थी। इसके जारी होने के कुछ ही समय पश्चात्, आर्क को जावास्क्रिप्ट में पोर्ट कर दिया गया था, और इसे ग्रहण (सॉफ्टवेयर) पर आधारित एकीकृत विकास वातावरण (आईडीई) स्कीम स्क्रिप्ट द्वारा समर्थित किया जा रहा था।[8]

उदाहरण

आर्क में हैलो वर्ल्ड:

 (prn "Hello, World")

आर्क की कठोरता को स्पष्ट करने के लिए, ग्राहम संक्षिप्त कार्यक्रम का उपयोग करता है। इस प्रकार यह यूआरएल /"कहा" पर क्षेत्र के साथ फॉर्म तैयार करता है। सामान्यतः जब फॉर्म सबमिट किया जाता है, तब यह पृष्ठ पर ले जाता है जिसमें लिंक होता है जिस पर लिखा होता है कि यहां क्लिक करें, जो फिर मूल इनपुट क्षेत्र के मान वाले पृष्ठ पर ले जाता है।[9]

(defop said req
  (aform [onlink "click here" (pr "you said: " (arg _ "foo"))]
    (input "foo") 
    (submit)))

संस्करण

आधिकारिक संस्करण

आर्क का प्रथम सार्वजनिक रूप से जारी संस्करण 29 जनवरी, सन्न 2008 को उपलब्ध कराया गया था,[10] जिससे कि रैकेट (प्रोग्रामिंग भाषा) पर क्रियान्वित किया गया था (जिसे तब पीएलटी-स्कीम नाम दिया गया था)। इस प्रकार रिलीज़ टार संग्रह के रूप में आती है, जिसमें आर्क के लिए रैकेट स्रोत कोड होता है। सामान्यतः ट्यूटोरियल[11] और चर्चा मंच[12] भी उपलब्ध होता हैं, अतः फ़ोरम उसी प्रोग्राम का उपयोग करता है जो हैकर संदेश करता है, और आर्क में लिखा गया है।

अनौपचारिक संस्करण

आधिकारिक आर्क शाखा में अपडेट की कमी के कारण, अभ्यास के आर्क समुदाय के कुछ सदस्यों ने अनौपचारिक संशोधनों, विस्तार और पुस्तकालयों के साथ अपने स्वयं के भंडार प्रारंभ किए गये है। इस प्रकार संस्करण, अनारकी,[13] अनुमति करता है[14] किसी को भी परियोजना में परिवर्तन प्रस्तुत करना होता है और उसके पास समुदाय प्रबंधित विकी होता है।[15]

रेनबो[16] जावा (प्रोग्रामिंग भाषा) में आर्क का कार्यान्वयन करता है।

आर्केडिया[17] आर्क में सी (प्रोग्रामिंग भाषा) का कार्यान्वयन करता है।

संदर्भ

  1. "Arc Forum: Tell Arc: Arc 3.2". Arclanguage.org. Retrieved 2018-11-07.
  2. "Arc Forum: install". Arclanguage.org. Retrieved 2018-11-07.
  3. Graham, Paul (May 2001). "लोकप्रिय होना". PaulGraham.com. Retrieved 2018-12-05.
  4. Graham, Paul. "आर्क विशेष रूप से ऑब्जेक्ट-ओरिएंटेड क्यों नहीं है?". PaulGraham.com. Retrieved 2018-12-05.
  5. Graham, Paul. "आर्क अक्सर पूछे जाने वाले प्रश्न". PaulGraham.com. Retrieved 2018-12-05.
  6. Huber, Mathias (2008-02-08). "आर्क प्रोग्राम को छोटा बनाता है". Linux Magazine. Lawrence, Kansas: Linux New Media USA. Retrieved 2018-11-25.
  7. Graham, Paul (May 2001). "भाषा डिज़ाइन के बारे में पाँच प्रश्न". PaulGraham.com. Retrieved 2018-12-05.
  8. "वेब पायनियर ने आलोचकों पर लिस्प गौंटलेट से प्रहार किया". The Register. UK. 2008-02-07.
  9. Graham, Paul (February 2008). "आर्क चैलेंज लें". PaulGraham.com. Retrieved 2018-12-05.
  10. Graham, Paul (29 January 2008). "आर्क आउट". PaulGraham.com. Retrieved 2018-12-05.
  11. "आर्क ट्यूटोरियल". Paul Graham. Retrieved 2018-12-05..
  12. "आर्क फोरम". Arc language.
  13. Rapp, Kenneth (kennethrapp) (14 November 2018). "अराजकता". GitHub. Retrieved 2018-12-05.
  14. Agaram, Kartik (akkartik) (27 May 2013). "Announcement: anarki is no longer world-committable". Arc Forum. Arc language. Retrieved 2018-12-05.
  15. "आर्क लैंग विकी". Sites. Retrieved 2018-12-05.
  16. Dalton, Conan (conanite) (12 October 2010). "इंद्रधनुष". GitHub. Retrieved 2018-12-05.
  17. Kim, Taegyoon (kimtg) (19 August 2018). "आर्केडिया". GitHub. Retrieved 2018-12-05.

बाहरी संबंध