आर्क (प्रोग्रामिंग भाषा)
Paradigms | Multi-paradigm: functional, meta, procedural |
---|---|
परिवार | Lisp |
द्वारा डिज़ाइन किया गया | Paul Graham |
Developers | Paul Graham, Robert Morris, Arc community |
पहली प्रस्तुति | 29 January 2008 |
Stable release | 3.2
/ 28 October 2018[1] |
टाइपिंग अनुशासन | Dynamic |
कार्यान्वयन भाषा | Racket |
प्लेटफॉर्म | IA-32, x86-64 |
ओएस | Linux |
लाइसेंस | Artistic License 2.0 |
फ़ाइल नाम एक्सटेंशनएस | .arc |
वेबसाइट | arclanguage |
Major implementations | |
Arc, Anarki, Arcadia, Rainbow | |
Influenced by | |
Lisp, Scheme |
आर्क एक प्रोग्रामिंग भाषा है, जो लिस्प (प्रोग्रामिंग भाषा) भाषा की एक बोली (कंप्यूटिंग) है, जिसे पॉल ग्राहम (प्रोग्रामर) और रॉबर्ट टप्पन मॉरिस द्वारा विकसित किया गया है। यह कलात्मक लाइसेंस 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] ग्राहम ने भाषा के लिए अपने कुछ लक्ष्यों का वर्णन किया है। जबकि कई लक्ष्य बहुत सामान्य हैं (आर्क हैक करने योग्य होना चाहिए, अच्छी पुस्तकालय (कम्प्यूटिंग) होनी चाहिए), उन्होंने कुछ विशेष बातें बताईं। उदाहरण के लिए, उनका मानना है कि भाषा का संक्षिप्त होना ज़रूरी है:
It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he'll have to type. If this isn't precisely how hackers think, a language designer would do well to act as if it were.
उन्होंने यह भी कहा कि किसी भाषा के लिए केवल कम संख्या में स्वयंसिद्ध सिद्धांतों को लागू करना बेहतर होता है, भले ही इसका मतलब यह हो कि भाषा में वे विशेषताएं न हों जो बड़े संगठन चाहते हैं, जैसे कि ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |ऑब्जेक्ट-ओरिएंटेशन (ओओ)। इसके अलावा, ग्राहम का मानना है कि OO उपयोगी नहीं है क्योंकि इसके तरीके और सॉफ़्टवेयर डिज़ाइन पैटर्न केवल अच्छे डिज़ाइन हैं, और वह OO को लागू करने के लिए उपयोग की जाने वाली भाषा सुविधाओं को आंशिक रूप से गलत मानते हैं।[4][5] 2008 में आर्क के परिचय में, ग्राहम ने कहा कि इसका एक लाभ इसकी संक्षिप्तता है।[6] लिस्प प्रोग्रामर्स के बीच एक विवाद यह है कि भाषा के एस-अभिव्यक्तियों को वाक्यविन्यास के अन्य रूपों द्वारा पूरक किया जाना चाहिए या नहीं। ग्राहम का मानना है कि अतिरिक्त वाक्यविन्यास का उपयोग उन स्थितियों में किया जाना चाहिए जहां शुद्ध एस-अभिव्यक्ति अत्यधिक क्रियात्मक होगी, मुझे नहीं लगता कि हमें लिस्प में वाक्यविन्यास शुरू करने का धार्मिक रूप से विरोध करना चाहिए। ग्राहम भी सोचते हैं कि प्रोग्रामर को अच्छी प्रोफाइलिंग (कंप्यूटर प्रोग्रामिंग) देकर दक्षता संबंधी समस्याओं का समाधान किया जाना चाहिए।[7]
स्वागत
2008 में रिलीज़ होने पर, आर्क ने मिश्रित प्रतिक्रियाएँ उत्पन्न कीं, कुछ लोगों ने इसे केवल लिस्प या स्कीम (प्रोग्रामिंग भाषा) का विस्तार कहा, न कि अपने आप में एक प्रोग्रामिंग भाषा। अन्य लोगों ने लिस्प को केवल आवश्यक चीजें उपलब्ध कराने के लिए आर्क की सराहना की। इसके जारी होने के कुछ ही समय बाद, आर्क को जावास्क्रिप्ट में पोर्ट कर दिया गया था, और इसे ग्रहण (सॉफ्टवेयर) पर आधारित एक एकीकृत विकास वातावरण (आईडीई) स्कीमस्क्रिप्ट द्वारा समर्थित किया जा रहा था।[8]
उदाहरण
हैलो वर्ल्ड इन आर्क:
(prn "Hello, World")
आर्क की कठोरता को स्पष्ट करने के लिए, ग्राहम एक संक्षिप्त कार्यक्रम का उपयोग करता है। यह यूआरएल /said पर एक फ़ील्ड के साथ एक फॉर्म तैयार करता है। जब फॉर्म सबमिट किया जाता है, तो यह एक पेज पर ले जाता है जिसमें एक लिंक होता है जिस पर लिखा होता है कि यहां क्लिक करें, जो फिर मूल इनपुट फ़ील्ड के मान वाले पेज पर ले जाता है।[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] आर्क इन सी (प्रोग्रामिंग भाषा) का कार्यान्वयन है।
संदर्भ
- ↑ "Arc Forum: Tell Arc: Arc 3.2". Arclanguage.org. Retrieved 2018-11-07.
- ↑ "Arc Forum: install". Arclanguage.org. Retrieved 2018-11-07.
- ↑ Graham, Paul (May 2001). "लोकप्रिय होना". PaulGraham.com. Retrieved 2018-12-05.
- ↑ Graham, Paul. "आर्क विशेष रूप से ऑब्जेक्ट-ओरिएंटेड क्यों नहीं है?". PaulGraham.com. Retrieved 2018-12-05.
- ↑ Graham, Paul. "आर्क अक्सर पूछे जाने वाले प्रश्न". PaulGraham.com. Retrieved 2018-12-05.
- ↑ Huber, Mathias (2008-02-08). "आर्क प्रोग्राम को छोटा बनाता है". Linux Magazine. Lawrence, Kansas: Linux New Media USA. Retrieved 2018-11-25.
- ↑ Graham, Paul (May 2001). "भाषा डिज़ाइन के बारे में पाँच प्रश्न". PaulGraham.com. Retrieved 2018-12-05.
- ↑ "वेब पायनियर ने आलोचकों पर लिस्प गौंटलेट से प्रहार किया". The Register. UK. 2008-02-07.
- ↑ Graham, Paul (February 2008). "आर्क चैलेंज लें". PaulGraham.com. Retrieved 2018-12-05.
- ↑ Graham, Paul (29 January 2008). "आर्क आउट". PaulGraham.com. Retrieved 2018-12-05.
- ↑ "आर्क ट्यूटोरियल". Paul Graham. Retrieved 2018-12-05..
- ↑ "आर्क फोरम". Arc language.
- ↑ Rapp, Kenneth (kennethrapp) (14 November 2018). "अराजकता". GitHub. Retrieved 2018-12-05.
- ↑ Agaram, Kartik (akkartik) (27 May 2013). "Announcement: anarki is no longer world-committable". Arc Forum. Arc language. Retrieved 2018-12-05.
- ↑ "आर्क लैंग विकी". Sites. Retrieved 2018-12-05.
- ↑ Dalton, Conan (conanite) (12 October 2010). "इंद्रधनुष". GitHub. Retrieved 2018-12-05.
- ↑ Kim, Taegyoon (kimtg) (19 August 2018). "आर्केडिया". GitHub. Retrieved 2018-12-05.