एपीएल (प्रोग्रामिंग भाषा)

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

गणितीय अंकन
1957 में हार्वर्ड विश्वविद्यालय प्रारंभ करते हुए, केनेथ ई. इवरसन द्वारा सरणियों में परिवर्तन करने के लिए गणितीय संकेतन विकसित किया गया था। 1960 में, उन्होंने आईबीएम के लिए कार्य करना प्रारंभ किया, जहां उन्होंने एडिन फाल्कॉफ के साथ इस अंकन को विकसित किया और 1962 में इसे अपनी पुस्तक प्रोग्रामिंग भाषा में प्रकाशित किया। प्रस्तावना इसका आधार बताता है: "अनुप्रयुक्त गणित विभिन्न कार्यों के सटीक या अनुमानित मूल्यों की गणना के लिए स्पष्ट प्रक्रियाओं के डिजाइन और विश्लेषण से अधिक सीमा तक संबंधित है। ऐसी स्पष्ट प्रक्रियाओं को एल्गोरिदम या 'प्रोग्राम' कहा जाता है। क्योंकि कार्यक्रमों के विवरण के लिए प्रभावी संकेतन अधिक वाक्यात्मक संरचना प्रदर्शित करता है, इसे 'प्रोग्रामिंग भाषा' कहा जाता है।"

कंप्यूटर प्रणाली पर संक्षिप्त शोध रिपोर्ट के लिए आईबीएम के अंदर इस संकेतन का उपयोग किया गया था, जैसे कि बरोज़ बी5000 और इसका स्टैक मैकेनिज्म जब स्टैक मशीन और रजिस्टर मशीन का मूल्यांकन आगामी कंप्यूटरों के लिए आईबीएम द्वारा किया जा रहा था।

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

1979 में, आइवरसन को एपीएल पर अपने कार्य के लिए ट्यूरिंग अवार्ड मिला।

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

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

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

स्टैनफोर्ड विश्वविद्यालय के लॉरेंस एम. ब्रीड और फिलिप एस. अब्राम्स आईबीएम रिसर्च में टीम में सम्मिलित होने के बाद, उन्होंने फोरट्रान चतुर्थ में कार्यान्वयन प्रोग्राम पर अपना पूर्व कार्य जारी रखा, जो कि आईबीएम 7090 कंप्यूटर पर चल रहे संकेतन के एक भाग आईबीएम 7090/94 आईवीएसवाईएस ऑपरेटिंग प्रणाली के लिए किया गया था। आईबीएम 7090/94 आईबीएसवाईएस ऑपरेटिंग प्रणाली,। यह कार्य 1965 के अंत में समाप्त हो गया था और बाद में आईवीएसवाईएस (इवरसन प्रणाली के लिए) नाम दिया गया। 1966 में स्टैनफोर्ड विश्वविद्यालय टेक्निकल रिपोर्ट, एन इंटरप्रेटर फॉर इवरसन संकेतन में अब्राम्स द्वारा इस कार्यान्वयन के आधार का विस्तार से वर्णन किया गया था, इसके अकादमिक पहलू की औपचारिक रूप से निक्लॉस विर्थ द्वारा देखरेख की गई थी। पहले हेलरमैन की पीएटी प्रणाली की तरह, इस कार्यान्वयन में एपीएल वर्ण सेट सम्मिलित नहीं था, लेकिन कार्यों और ऑपरेटरों के लिए विशेष अंग्रेजी आरक्षित शब्दों का उपयोग किया गया था। प्रणाली को बाद में टाइम-शेयरिंग प्रणाली के लिए अनुकूलित किया गया था और नवंबर 1966 तक, इसे आईबीएम प्रणाली/360 मॉडल 50 कंप्यूटर के लिए टाइम-शेयरिंग मोड में चलाने के लिए फिर से प्रोग्राम किया गया था और आईबीएम में आंतरिक रूप से उपयोग किया गया था।

हार्डवेयर


कैथोड रे ट्यूब (सीआरटी) टर्मिनलों के व्यापक उपयोग से पहले एपीएल को प्रभावी ढंग से उपयोग करने की क्षमता में महत्वपूर्ण विकास, विशेष आईबीएम चयनकर्ता टाइपराइटर विनिमेय टाइपिंग तत्व का विकास था, जिस पर सभी विशेष एपीएल वर्ण थे। इसका उपयोग आईबीएम 1050 और आईबीएम 2741 टर्मिनल जैसे सेलेक्ट्रिक टाइपराइटर और टाइपिंग एलिमेंट मैकेनिज्म का उपयोग करके पेपर प्रिंटिंग टर्मिनल वर्कस्टेशन पर किया गया था। कीकैप्स को सामान्य कुंजियों के ऊपर रखा जा सकता है, यह दिखाने के लिए कि कौन से एपीएल वर्ण अंकित किए जाएंगे और उस कुंजी को हिट करने पर टाइप किया जाएगा। पहली बार, प्रोग्रामर टाइप कर सकता है और आइवरसन के संकेतन में उपयोग किए जाने वाले उचित एपीएल वर्णों को देख सकता है और उन्हें विचित्र अंग्रेजी कीवर्ड प्रस्तुतियों का उपयोग करने के लिए विवश नहीं किया जा सकता है। फाल्कॉफ़ और इवरसन के पास विशेष एपीएल सेलेक्ट्रिक टाइपिंग तत्व, 987 और 988 थे, जिन्हें 1964 के अंत में डिज़ाइन किया गया था, चूंकि उनका उपयोग करने के लिए कोई एपीएल कंप्यूटर प्रणाली उपलब्ध नहीं था। इवरसन ने एपीएल कैरेक्टर सेट के लिए आईबीएम सेलेक्ट्रिक टाइपिंग तत्व का उपयोग करने के विचार के लिए फाल्कॉफ़ को प्रेरणा के रूप में उद्धृत किया प्रेरणा के रूप में फाल्कॉफ़ का हवाला दिया। कई एपीएल प्रतीकों, यहां तक ​​​​कि चयनात्मक टाइपिंग तत्व पर एपीएल वर्णों के साथ, अभी भी दो वर्तमान तत्व वर्णों को ओवर-स्ट्राइक करके टाइप किया जाना था। उदाहरण ग्रेड अप कैरेक्टर है, जिसे डेल्टा (शिफ्ट-एच) और शेफर स्ट्रोक (शिफ्ट-एम) से बनाया जाना था। यह आवश्यक था क्योंकि एपीएल वर्ण सेट टाइपिंग तत्व पर अनुमत 88 वर्णों की तुलना में बहुत बड़ा था, तब भी जब अक्षर अपर-केस (राजधानियों) तक सीमित थे।

वाणिज्यिक उपलब्धता
पहला एपीएल इंटरैक्टिव लॉगिन और एपीएल कार्यक्षेत्र का निर्माण 1966 में लैरी ब्रीड द्वारा आईबीएम 1050 टर्मिनल का उपयोग करके थॉमस जे. वाटसन रिसर्च सेंटर के पास आईबीएम मोहनसिक लैब्स में किया गया था, जो यॉर्कटाउन हाइट्स, न्यूयॉर्क में एपीएल का घर है।

आईबीएम मुख्य रूप से एपीएल को बाजार में प्रस्तुत करने के लिए उत्तरदायी था। एपीएल का पहला सार्वजनिक रूप से उपलब्ध संस्करण 1968 में आईबीएम 1130 के लिए जारी किया गया था। आईबीएम ने एपीएल\1130 मुफ्त में प्रदान किया था लेकिन बिना किसी दायित्व या समर्थन के। यह कम से कम 8k 16-बिट शब्दों की मेमोरी में चलता है, और समर्पित 1 मेगाबाइट हार्ड डिस्क का उपयोग करता है।

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

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

1973 में, आईबीएम ने एपीएल.SV जारी किया, जो उसी उत्पाद की निरंतरता थी, लेकिन जिसने एपीएल प्रणाली के बाहर सुविधाओं तक पहुँचने के साधन के रूप में साझा चर की प्रस्तुतकश की, जैसे कि ऑपरेटिंग प्रणाली फ़ाइलें। 1970 के दशक के मध्य में, आईबीएम मेनफ्रेम दुभाषिया को आईबीएम 5100 डेस्कटॉप कंप्यूटर पर उपयोग के लिए भी अनुकूलित किया गया था, जिसमें छोटा सीआरटी और एपीएल कीबोर्ड था, जब उस समय के अधिकांश अन्य छोटे कंप्यूटर केवल BASIC की प्रस्तुतकश करते थे। 1980 के दशक में, VSएपीएल प्रोग्राम प्रोडक्ट का संवादी मॉनिटर प्रणाली (CMS), टाइम शेयरिंग ऑप्शन (TSO), VSPC, MUSIC/SP, और CICS उपयोगकर्ताओं के साथ व्यापक उपयोग हुआ।

1973-1974 में, पैट्रिक ई. हैगर्टी ने स्पेरी यूनीवैक 1100/2200 श्रृंखला मेनफ्रेम कंप्यूटर की 1100 पंक्ति के लिए मैरीलैंड विश्वविद्यालय एपीएल दुभाषिया के कार्यान्वयन का निर्देशन किया। उस समय स्पेरी के पास कुछ नहीं था। 1974 में, छात्र एलन स्टीबेन्स को आंतरिक कार्य को प्रयुक्त करने का कार्य सौंपा गया था। ज़ेरॉक्स एपीएल जून 1975 से ज़ेरॉक्स 560 और सिग्मा 6, 7, और 9 मेनफ्रेम पर चलने वाले यूनिवर्सल टाइम-शेयरिंग प्रणाली #CP-V|CP-V और हनीवेल सीपी-6 के लिए उपलब्ध था।

1960 और 1970 के दशक में, कई टाइमशेयरिंग फर्मों का उदय हुआ जिन्होंने आईबीएम एपीएल\360 के संशोधित संस्करणों का उपयोग करके एपीएल सेवाओं को बेचा। दुभाषिया। उत्तरी अमेरिका में, आईपी ​​​​शार्प एसोसिएट्स, वैज्ञानिक समय साझाकरण निगम (STSC), टाइम शेयरिंग रिसोर्सेज (TSR) और द कंप्यूटर कंपनी (TCC) बेहतर ज्ञात थे। CompuServe ने 1978 में डिजिटल इक्विपमेंट कॉर्प और कार्नेगी मेलन के संशोधित संस्करण के आधार पर एपीएल इंटरप्रेटर के साथ बाजार में प्रवेश किया, जो DEC के KI और KL 36-बिट मशीनों पर चलता था। CompuServe का एपीएल इसके वाणिज्यिक बाजार और उपभोक्ता सूचना सेवा दोनों के लिए उपलब्ध था। 1980 के दशक के मध्य तक आईबीएम 4300 जैसे कम महंगे मेनफ्रेम और बाद में पर्सनल कंप्यूटर के आगमन के साथ, टाइमशेयरिंग उद्योग लगभग समाप्त हो गया था।

तीव्र एपीएल आईपी शार्प एसोसिएट्स से उपलब्ध था, पहले 1960 के दशक में टाइमशेयरिंग सेवा के रूप में, और बाद में 1979 के आसपास प्रारंभ होने वाले प्रोग्राम उत्पाद के रूप में। एक चर में अधिक ऑब्जेक्ट), फ़ाइल प्रणाली, नेस्टेड सरणियाँ और साझा चर।

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

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

माइक्रो कंप्यूटर
माइक्रो कंप्यूटर पर, जो 1970 के दशक के मध्य से उपलब्ध हो गया, BASIC प्रमुख प्रोग्रामिंग भाषा बन गई। फिर भी, कुछ माइक्रो कंप्यूटरों ने इसके अतिरिक्त एपीएल प्रदान किया - पहला इंटेल 8008-आधारित एमसीएम/70 था जो 1974 में जारी किया गया था। और जो मुख्य रूप से शिक्षा में उपयोग किया जाता था। इस समय की एक और मशीन 1977 में जारी हुई वीडियोब्रेन फैमिली कंप्यूटर थी, जिसे एपीएल/एस नामक एपीएल की अपनी बोली के साथ आपूर्ति की गई थी।

1981 में प्रस्तुत किए गए कमोडोर सुपरपेट में वाटरलू विश्वविद्यालय द्वारा विकसित एपीएल दुभाषिया सम्मिलित था।

1976 में, बिल गेट्स ने शौकियों के लिए अपने खुले पत्र में दावा किया कि माइक्रोसॉफ्ट कॉर्पोरेशन इंटेल 8080 और मोटोरोला 6800 के लिए एपीएल प्रयुक्त कर रहा था, लेकिन सॉफ्टवेयर पायरेसी के कारण शौकियों को [इसे] उपलब्ध कराने के लिए बहुत कम प्रोत्साहन था। यह कभी जारी नहीं किया गया था।

एपीएल2
1980 के दशक की प्रारंभ में, जिम ब्राउन (कंप्यूटर वैज्ञानिक) के नेतृत्व में आईबीएम एपीएल विकास ने एपीएल भाषा का नया संस्करण प्रयुक्त किया, जिसमें इसकी प्राथमिक वृद्धि के रूप में नेस्टेड सरणियों की अवधारणा सम्मिलित थी, जहां सरणी में अन्य सरणियाँ हो सकती हैं, और नई भाषा सुविधाएँ जो नेस्टेड सरणियों को प्रोग्राम वर्कफ़्लो में एकीकृत करने की सुविधा प्रदान करती हैं। केन इवरसन, अब एपीएल भाषा के विकास के नियंत्रण में नहीं थे, उन्होंने आईबीएम छोड़ दिया और आईपी शार्प एसोसिएट्स में सम्मिलित हो गए, जहां उनके प्रमुख योगदानों में से शार्प एपीएल के विकास को उनकी दृष्टि के अनुरूप बनाने का निर्देश दे रहा था।  एपीएल2 को पहली बार 1984 में कन्वर्सेशनल मॉनिटर प्रणाली और टाइम शेयरिंग ऑप्शन के लिए जारी किया गया था। एपीएल2 वर्कस्टेशन संस्करण (Windows, OS/2, आईबीएम AIX, Linux, और Solaris (ऑपरेटिंग प्रणाली) बाद में आया।

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

आधुनिक कार्यान्वयन
एपीएलX, डायलॉग, et al. द्वारा एपीएल के विभिन्न कार्यान्वयनों में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए एक्सटेंशन, .NET फ्रेमवर्क के लिए समर्थन, XML-सरणी रूपांतरण आदिम, रेखांकन, ऑपरेटिंग प्रणाली इंटरफेस और लैम्ब्डा कैलकुलस एक्सप्रेशन सम्मिलित हैं। फ्रीवेयर संस्करणों में लिनक्स के लिए जीएनयू एपीएल और विंडोज के लिए एनएआरएस2000 (जो वाइन के अनुसार लिनक्स पर चलता है) सम्मिलित हैं। ये दोनों विभिन्न भाषा विस्तारों के साथ एपीएल2 के अधिक पूर्ण संस्करण हैं।

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

कैरेक्टर सेट
अद्वितीय, गैर-मानक चरित्र सेट की अपनी पसंद के लिए एपीएल की आलोचना और प्रशंसा की गई है। कुछ जो इसे सीखते हैं वे उत्साही अनुयायी बन जाते हैं। 1960 और 1970 के दशक में, कुछ टर्मिनल डिवाइस या यहां तक ​​कि डिस्प्ले एपीएल कैरेक्टर सेट को पुन: उत्पन्न कर सकते थे। सबसे लोकप्रिय लोगों ने विशेष एपीएल प्रकार के तत्व के साथ उपयोग किए जाने वाले आईबीएम चयनकर्ता प्रिंट तंत्र को नियोजित किया। प्रारंभी एपीएल कंप्यूटर टर्मिनल में से (लाइन-मोड ऑपरेशन केवल, पूर्ण स्क्रीन नहीं) टेक्सास इंस्ट्रूमेंट्स टीआई मॉडल 745 था (c. 1977) पूरे एपीएल कैरेक्टर सेट के साथ जिसमें एपीएल टाइम-शेयरिंग सर्विस या रिमोट कंप्यूटर जॉब, रिमोट जॉब एंट्री चलाने के लिए रिमोट मेनफ्रेम के साथ इंटरैक्ट करने के लिए डुप्लेक्स (दूरसंचार) दूरसंचार मोड सम्मिलित हैं।

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

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

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

प्रारंभिक एपीएल कार्यान्वयन (c. 1970 या तो) में कोई प्रोग्रामिंग लूप-बहाव को काबू करें स्ट्रक्चर नहीं था, जैसे  या   लूप्स, और   निर्माण। इसके अतिरिक्त, उन्होंने सरणी संचालन का उपयोग किया, और संरचित प्रोग्रामिंग निर्माणों का उपयोग अक्सर आवश्यक नहीं था, क्योंकि एक बयान में पूर्ण सरणी पर ऑपरेशन किया जा सकता था। उदाहरण के लिए, द   समारोह  फॉर-लूप पुनरावृति को प्रतिस्थापित कर सकता है: ιN जब अदिश धनात्मक पूर्णांक पर प्रयुक्त किया जाता है तो आयामी सरणी (वेक्टर), 1 2 3 ... देता है। कार्यक्रम नियंत्रण प्रवाह स्पष्ट रूप से और सफाई से अलग किया जा सकता है।

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

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

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

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

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

एपीएल साहित्य में प्रयुक्त कुछ शब्दों के अर्थ गणित और कंप्यूटर विज्ञान की सामान्यता दोनों से भिन्न हैं।

सिंटेक्स
एपीएल में कार्यों, ऑपरेटरों और वाक्य-विन्यास का स्पष्ट प्रतिनिधित्व है, इस प्रकार भाषा में विस्तारित सुविधाओं के स्पष्ट और स्पष्ट बयान के लिए आधार प्रदान करता है, और उन पर प्रयोग करने के लिए उपकरण।

हैलो, दुनिया
यह हैलो, दुनिया प्रदर्शित करता है:

<वाक्यविन्यास प्रकाश लैंग = एपीएल> 'नमस्ते दुनिया' एपीएल में डिज़ाइन थीम कुछ मामलों में डिफ़ॉल्ट क्रियाओं को परिभाषित करना है जो अधिकांश अन्य प्रोग्रामिंग भाषाओं में वाक्यविन्यास त्रुटियों का उत्पादन करेगी।

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

घातांक
इस विषय का एक अन्य उदाहरण यह है कि एपीएल में घातांक को इस प्रकार लिखा जाता है 2*3, जो 2 की घात 3 को बढ़ाने का संकेत देता है (इसे इस प्रकार लिखा जाएगा 2^3 कुछ अन्य भाषाओं में और 2**3 फोरट्रान और पायथन में)। अनेक भाषाओं का प्रयोग करते हैं * गुणन को दर्शाने के लिए, जैसा कि 2*3, लेकिन एपीएल उपयोग करना चुनता है 2×3. चूँकि, यदि कोई आधार निर्दिष्ट नहीं है (जैसा कि कथन के साथ है *3 एपीएल में, या ^3 अन्य भाषाओं में), अधिकांश प्रोग्रामिंग भाषाओं में इसे वाक्यविन्यास त्रुटि के रूप में देखा जाएगा। एपीएल, चूंकि, लापता आधार को प्राकृतिक लघुगणक स्थिर ई (गणितीय स्थिरांक) मानता है, और व्याख्या करता है *3 जैसा 2.71828*3.

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

6 लॉटरी नंबर चुनें
यह तत्काल-मोड अभिव्यक्ति पिक 6 लॉटरी नंबरों का विशिष्ट सेट उत्पन्न करती है: 1 से 40 तक के छह छद्म-यादृच्छिक पूर्णांक, गैर-दोहराव की गारंटी, और उन्हें आरोही क्रम में क्रमबद्ध प्रदर्शित करता है:

<वाक्यविन्यास प्रकाश लैंग = एपीएल> एक्स[⍋x←6?40] 

उपरोक्त बहुत कुछ करता है, संक्षेप में, चूंकि यह नए विकिपीडिया के लिए जटिल प्रतीत हो सकता है: एपीएलर। यह निम्नलिखित एपीएल कार्यों को जोड़ती है (जिन्हें आदिम भी कहा जाता है और ग्लिफ़ ):
 * सबसे पहले क्रियान्वित किया जाने वाला (एपीएल दायें से बायें तरफ से क्रियान्वित होता है) डायाडिक फंक्शन है  (नामित   जब डायाडिक) जो सरणी डेटा संरचना देता है जिसमें 1 से निर्दिष्ट अधिकतम (सही तर्क: इस मामले में 40) तक यादृच्छिक पूर्णांकों की चुनिंदा संख्या (बाएं तर्क: 6 इस मामले में) सम्मिलित है, जो कि, यदि अधिकतम ≥ वेक्टर कहा जाता है लंबाई, गैर-दोहराव होने की गारंटी है; इस प्रकार, 1 से 40 तक के 6 यादृच्छिक पूर्णांक उत्पन्न/बनाएँ।
 * यह वेक्टर तब सौंपा गया है चर के लिए , क्योंकि बाद में इसकी जरूरत है।
 * इस सदिश को तब मठवासी द्वारा आरोही क्रम में क्रमबद्ध किया जाता है  फलन, जिसके पास इसके सही तर्क के रूप में अगले असंतुलित क्लोज-ब्रैकेट या क्लोज-कोष्ठक तक इसके अधिकार के लिए सब कुछ है। का परिणाम   वह सूचकांक है जो अपने तर्क को आरोही क्रम में रखेगा।
 * फिर का उत्पादन  चर को अनुक्रमित करने के लिए उपयोग किया जाता है , जिसे हमने पहले इस उद्देश्य के लिए सहेजा था, जिससे इसके मदों को आरोही क्रम में चुना जा सके।

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

मठवासी समकक्ष भी कहा जाता है, जो केवल 1 और इसके एकमात्र ऑपरेंड [इसके दाईं ओर] के बीच यादृच्छिक पूर्णांक लौटाता है। इस प्रकार, रोल-प्लेइंग गेम प्रोग्राम अभिव्यक्ति का उपयोग कर सकता है   बीस तरफा पासा फेंकने के लिए।

अभाज्य संख्या
निम्न व्यंजक 1 से R तक सभी अभाज्य संख्याएँ ढूँढ़ता है। समय और स्थान दोनों में, गणना जटिलता है $$O(R^2)\,\!$$ (बिग ओ संकेतन में)।

<वाक्यविन्यास प्रकाश लैंग = एपीएल> (~R∊R∘.×R)/R←1↓⍳R 

दाएँ से बाएँ निष्पादित, इसका अर्थ है:
 * आयोटा  वेक्टर बनाता है जिसमें से पूर्णांक होते हैं   प्रति   (यदि   कार्यक्रम के प्रारंभ में,   है  )
 * इस सदिश का पहला तत्व छोड़ें ( समारोह), यानी,  . इसलिए   है
 * समूह  नए वेक्टर के लिए (, असाइनमेंट आदिम), यानी,
 * ई> प्रतिकृति ऑपरेटर डायाडिक (बाइनरी) है और दुभाषिया पहले इसके बाएं तर्क का मूल्यांकन करता है (पूरी तरह से कोष्ठक में):
 * का बाहरी उत्पाद उत्पन्न करें  से गुणा , यानी, मैट्रिक्स जो R बटा R की गुणन सारणी है (  ऑपरेटर), यानी,

(ध्यान दें, यह मानता है कि एपीएल मूल 1 है, यानी सूचकांक 1 से प्रारंभ होता है। एपीएल को मूल के रूप में 0 का उपयोग करने के लिए सेट किया जा सकता है, ताकि  है , जो कुछ गणनाओं के लिए सुविधाजनक है।)
 * वेक्टर का निर्माण उसी लंबाई के रूप में करें  साथ   प्रत्येक स्थान पर जहां इसी संख्या में   बाहरी उत्पाद मैट्रिक्स में है (, सेट समावेशन या तत्व या एप्सिलॉन ऑपरेटर), यानी,
 * तार्किक रूप से वेक्टर में मूल्यों को नकारें (नहीं) (शून्य को इकाइयों में और इकाइयों को शून्य में बदलें) (, तार्किक नहीं या टिल्ड ऑपरेटर), यानी,
 * आइटम का चयन करें  जिसके लिए संबंधित तत्व है   (  प्रतिकृति ऑपरेटर), यानी,

छँटाई
निम्नलिखित अभिव्यक्ति शब्द की लंबाई के अनुसार मैट्रिक्स एक्स में संग्रहीत शब्द सूची को क्रमबद्ध करती है:

<वाक्यविन्यास प्रकाश लैंग = एपीएल> एक्स[⍋X+.≠' ';] 

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

<वाक्यविन्यास प्रकाश लैंग = एपीएल> जीवन ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵} 

एचटीएमएल टैग हटाना
निम्नलिखित उदाहरण में, डायलॉग में भी, पहली पंक्ति चर के लिए कुछ HTML कोड प्रदान करती है  और फिर सभी HTML टैग्स को हटाने के लिए एपीएल एक्सप्रेशन का उपयोग करता है (स्पष्टीकरण):

<वाक्यविन्यास प्रकाश लैंग = एपीएल> txt←' यह जोर दिया गया पाठ है।  ' {⍵ /⍨ ~{⍵∨≠\⍵}⍵∊'<>'} txt यह बल दिया गया पाठ है। 

नामकरण
एपीएल का नाम आइवरसन की पुस्तक प्रोग्रामिंग भाषा के प्रारंभी अक्षर से लिया गया है, भले ही पुस्तक इस लेख में वर्णित कार्यान्वित प्रोग्रामिंग भाषा के अतिरिक्त #Mathematical_notation|Iverson's गणितीय संकेतन का वर्णन करती है। नाम का उपयोग केवल वास्तविक कार्यान्वयन के लिए किया जाता है, जो #एपीएल\360|एपीएल\360 से प्रारंभ होता है।

आईबीएम में एपीएल \ 360 के कार्यान्वयन के दौरान 1966 में एडिन फाल्कॉफ़ ने नाम गढ़ा:

एपीएल को कभी-कभी ऐरे प्रोग्रामिंग भाषा या ऐरे प्रोसेसिंग भाषा के रूप में फिर से व्याख्या की जाती है, जिससे एपीएल संक्षिप्त नाम बन जाता है।



लोगो
एपीएल विक्रेताओं के बीच हमेशा सहयोग रहा है, और संयुक्त सम्मेलन 1969 से 2010 तक नियमित रूप से आयोजित किए गए थे। इस तरह के सम्मेलनों में, एपीएल मर्केंडाइजिंग को अक्सर सौंप दिया जाता था, जिसमें एपीएल रूपांकनों या विक्रेता लोगो का संग्रह होता था। आम सेब थे (सेब और एपीएल के उच्चारण में समानता पर वाक्य के रूप में) और कोड स्निपेट ⍺*⎕ जो एपीएल वाक्यविन्यास और प्रतीकों # एपीएल2 कीबोर्ड फलन द्वारा निर्मित प्रतीक हैं जो एपीएल संशोधक कुंजी को पकड़कर और एपीएल टाइप करते समय मैपिंग लेआउट का प्रतीक हैं।

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

प्रयोग
एपीएल का उपयोग वित्तीय सॉफ़्टवेयर और बीमा अनुप्रयोगों सहित कई उद्देश्यों के लिए किया जाता है, कृत्रिम होशियारी,

तंत्रिका - तंत्र

और रोबोटिक्स। यह तर्क दिया गया है कि एपीएल गणना उपकरण है और प्रोग्रामिंग भाषा नहीं है; इसकी प्रतीकात्मक प्रकृति और सरणी क्षमताओं ने इसे डोमेन विशेषज्ञ और डेटा वैज्ञानिक के बीच लोकप्रिय बना दिया है जिनके पास कंप्यूटर प्रोग्रामर के कौशल की आवश्यकता नहीं है या नहीं है।

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

आज, उदाहरण के लिए, एपीएल वाणिज्यिक और वैज्ञानिक अनुप्रयोगों की विस्तृत श्रृंखला में उपयोग में है

निवेश प्रबंधन,

परिसंपत्ति प्रबंधन,

स्वास्थ्य देखभाल,

और डीएनए प्रोफाइलिंग, और शौकीनों द्वारा।

एपीएल360
पहचानने योग्य एपीएल प्रतीकों का उपयोग करते हुए एपीएल का पहला कार्यान्वयन एपीएल\360 था जो आईबीएम प्रणाली/360 पर चलता था, और नवंबर 1966 में पूरा हुआ था। चूंकि उस समय केवल आईबीएम के भीतर ही उपयोग में रहा। 1973 में इसके कार्यान्वयनकर्ताओं, लॉरेंस एम. ब्रीड, रिचर्ड एच. लैथवेल और रोजर मूर (कंप्यूटर वैज्ञानिक) को एसोसिएशन फॉर कंप्यूटिंग मशीनरी (ACM) की ओर से ग्रेस मरे हूपर पुरस्कार से सम्मानित किया गया। यह एपीएल \ 360 के डिजाइन और कार्यान्वयन में उनके कार्य के लिए दिया गया था, इंटरैक्टिव प्रणाली के लिए सादगी, दक्षता, विश्वसनीयता और प्रतिक्रिया समय में नए मानक स्थापित करना।

1975 में, आईबीएम 5100 माइक्रो कंप्यूटर ने एपीएल\360 प्रस्तुत किया कंप्यूटर के लिए दो बिल्ट-इन ROM-आधारित व्याख्या की गई भाषाओं में से एक के रूप में, कीबोर्ड और डिस्प्ले के साथ पूर्ण है जो भाषा में उपयोग किए जाने वाले सभी विशेष प्रतीकों का समर्थन करता है।

एपीएल\360 के महत्वपूर्ण विकासों में CMS/एपीएल सम्मिलित है, जिसने कन्वर्सेशनल मॉनिटर प्रणाली और एपीएलSV की वर्चुअल मेमोरी क्षमताओं का उपयोग किया, जिसने साझा चर, प्रणाली चर और प्रणाली फ़ंक्शंस प्रस्तुत किए। बाद में इसे आईबीएम प्रणाली/370 और वर्चुअल स्टोरेज पर्सनल कंप्यूटिंग प्लेटफॉर्म पर 1983 में इसके अंतिम रिलीज तक पोर्ट किया गया, जिसके बाद इसे एपीएल2 से बदल दिया गया।

एपीएल\1130
1968 में, एपीएल\1130 पहला सार्वजनिक रूप से उपलब्ध एपीएल प्रणाली बन गया, आईबीएम द्वारा आईबीएम 1130 के लिए बनाया गया। यह आईबीएम द्वारा जारी किया गया सबसे लोकप्रिय आईबीएम टाइप-III लाइब्रेरी सॉफ्टवेयर बन गया।

एपीएल*प्लस और शार्प एपीएल
एपीएल*Plus और Sharp एपीएल, एपीएल\360 के संस्करण हैं, जिसमें व्यवसाय-उन्मुख एक्सटेंशन जैसे कि डेटा स्वरूपण और बाहरी फ़ाइलों में एपीएल सरणियों को संग्रहीत करने की सुविधा सम्मिलित है। वे मूल आईबीएम एपीएल\360 विकास दल के विभिन्न सदस्यों को नियोजित करते हुए दो कंपनियों द्वारा संयुक्त रूप से विकसित किए गए थे।

दो कंपनियाँ थीं आई. पी. शार्प एसोसिएट्स (आईपीएसए), एपीएल\360 सेवा कंपनी जिसका गठन 1964 में इयान शार्प, रोजर मूर और अन्य लोगों द्वारा किया गया था, और वैज्ञानिक समय साझाकरण निगम, टाइम-शेयरिंग और परामर्श सेवा कंपनी, जिसका गठन 1969 में लॉरेंस ब्रीड और अन्य द्वारा किया गया था। अन्य। दोनों ने मिलकर एपीएल*Plus विकसित किया और उसके बाद एक साथ कार्य करना जारी रखा लेकिन एपीएल*Plus और Sharp एपीएल के रूप में एपीएल को अलग-अलग विकसित किया। STSC ने एपीएल*Plus को VAX 11 के लिए बनाए जा रहे संस्करणों के साथ कई प्लेटफ़ॉर्म पर पोर्ट किया, पीसी और यूनिक्स, जबकि आईपीएसए ने पर्सनल कंप्यूटर के आगमन के लिए अलग दृष्टिकोण लिया और अतिरिक्त पीसी-आधारित आईबीएम-संगत मेनफ्रेम | पीसी-एक्सटी/360 हार्डवेयर का उपयोग करके शार्प एपीएल को इस प्लेटफॉर्म पर उपलब्ध कराया। 1993 में, सॉलिटॉन इनकॉर्पोरेटेड का गठन तीव्र एपीएल का समर्थन करने के लिए किया गया था और इसने तीव्र एपीएल को एसएएक्स (यूनिक्स के लिए तीव्र एपीएल) में विकसित किया।, एपीएल*प्लस एपीएल2000 एपीएल+विन के रूप में जारी है।

1985 में, एसटीएससी के इयान शार्प और डेन डायर को संयुक्त रूप से एपीएल में उत्कृष्ट योगदान के लिए आइवरसन पुरस्कार | केनेथ ई. इवरसन पुरस्कार मिला।

एपीएल2
एपीएल2, आईबीएम द्वारा एपीएल का महत्वपूर्ण पुन: कार्यान्वयन था जिसे 1971 से विकसित किया गया था और पहली बार 1984 में जारी किया गया था। यह भाषा में कई जोड़ प्रदान करता है, जिनमें से सबसे उल्लेखनीय नेस्टेड (गैर-आयताकार) सरणी समर्थन है। संपूर्ण एपीएल2 उत्पाद और सेवा दल को 2007 में आइवरसन पुरस्कार से सम्मानित किया गया था।

2021 में, आईबीएम ने एपीएल2 को लॉग-ऑन सॉफ़्टवेयर को बेच दिया, जो लॉग-ऑन एपीएल2 के रूप में उत्पाद को विकसित और बेचते हैं।

एपीएलजीओएल
1972 में, एपीएलजीओएल को एपीएल के प्रायोगिक संस्करण के रूप में जारी किया गया था, जिसने संरचित प्रोग्रामिंग भाषा को भाषा ढांचे में जोड़ा। इंटरस्टेटमेंट कंट्रोल, कंडीशनल स्टेटमेंट एक्जीक्यूशन और स्टेटमेंट स्ट्रक्चरिंग के साथ-साथ एल्गोरिथम के इरादे को स्पष्ट करने के लिए स्टेटमेंट जोड़े गए। इसे 1977 में Hewlett-Packard के लिए प्रयुक्त किया गया था।

डायलॉग एपीएल
डायलॉग एपीएल को सबसे पहले यूनाइटेड किंगडम की कंपनी डायलॉग लिमिटेड द्वारा जारी किया गया था। 1983 में तथा,, आईबीएम AIX, Linux (रास्पबेरी पाई सहित), macOS और Microsoft Windows प्लेटफ़ॉर्म के लिए उपलब्ध है। यह ऑब्जेक्ट उन्मुख प्रोग्रामिंग का समर्थन करने के लिए एक्सटेंशन के साथ एपीएल 2 पर आधारित है, कार्यात्मक प्रोग्रामिंग, और मौन प्रोग्रामिंग। लाइसेंस व्यक्तिगत/गैर-व्यावसायिक उपयोग के लिए निःशुल्क हैं।

1995 में, दो विकास दल - जॉन एम. स्कोल्स (कंप्यूटर वैज्ञानिक) और पीटर डोनेली - को दुभाषिया पर उनके कार्य के लिए आइवरसन पुरस्कार से सम्मानित किया गया। Gitte Christensen और Morten Kromberg 2016 में Iverson अवार्ड के संयुक्त प्राप्तकर्ता थे।

एनएआरएस2000
एनएआरएस2000 बॉब स्मिथ द्वारा लिखित ओपन-सोर्स एपीएल दुभाषिया है, जो 1970 और 1980 के दशक में वैज्ञानिक समय साझाकरण निगम के प्रमुख एपीएल डेवलपर और कार्यान्वयनकर्ता हैं। एनएआरएस2000 में उन्नत सुविधाएँ और नए डेटाटाइप सम्मिलित हैं और मूल रूप से Microsoft Windows और वाइन (सॉफ़्टवेयर) के अनुसार अन्य प्लेटफ़ॉर्म पर चलते हैं। इसका नाम 1980 के दशक के विकास उपकरण एनएआरएस (नेस्टेड एरेज़ रिसर्च प्रणाली) के नाम पर रखा गया है।

एपीएलएक्स
एपीएलX, एपीएल2 पर आधारित और कई एक्सटेंशन के साथ, एपीएल की पार मंच प्रोग्रामिंग भाषा बोली है, जिसे पहली बार 2002 में यूनाइटेड किंगडम की कंपनी Microएपीएल द्वारा जारी किया गया था।.

जीएनयू एपीएल
जीएनयू एपीएल, ISO/IEC 13751:2001 में निर्दिष्ट विस्तारित एपीएल का निःशुल्क कार्यान्वयन है और इस प्रकार एपीएल2 का कार्यान्वयन है। यह लिनक्स पर चलता है (रास्पबेरी पीआई सहित), मैकोज़, कई बीएसडी बोलियां, और विंडोज़ पर (या तो अपने सभी प्रणाली कार्यों के पूर्ण समर्थन के लिए सिग्विन का उपयोग कर रहा है या मूल 64-बिट विंडोज बाइनरी के रूप में इसके कुछ प्रणाली फलन गायब हैं) जीएनयू एपीएल आंतरिक रूप से यूनिकोड का उपयोग करता है और इसे स्क्रिप्ट किया जा सकता है। यह जुरगेन सॉरमैन द्वारा लिखा गया था।

जीएनयू परियोजना के संस्थापक रिचर्ड स्टॉलमैन, एपीएल के प्रारंभी अंगीकार थे, जिन्होंने 1969 की गर्मियों में हाई स्कूल के छात्र के रूप में टेक्स्ट एडिटर लिखने के लिए इसका उपयोग किया।

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

फिर भी, एपीएल को संभवतः ही कभी विशुद्ध रूप से व्याख्यायित किया जाता है और संकलन या आंशिक संकलन तकनीकों का उपयोग किया जाता है, या किया गया है, जिसमें निम्नलिखित सम्मिलित हैं:

मुहावरा पहचान
अधिकांश एपीएल दुभाषिए प्रोग्रामिंग मुहावरे की पहचान का समर्थन करते हैं और एकल संक्रियाओं के रूप में सामान्य मुहावरों का मूल्यांकन करते हैं। उदाहरण के लिए, मुहावरे   को एक ऑपरेशन के रूप में मूल्यांकन करके का मूल्यांकन करके   एकल ऑपरेशन के रूप में (जहाँ   बूलियन वेक्टर है और   सरणी है), दो मध्यवर्ती सरणियों के निर्माण से बचा जाता है।

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

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

एसटीएससी एपीएल कंपाइलर एक बायटेकोड ऑप्टिमाइज़र और एक कंपाइलर का एक संकर है - यह मशीन कोड के कार्यों के संकलन को सक्षम बनाता है, बशर्ते इसके उप-फ़ंक्शन और ग्लोबल्स घोषित किए गए हों, लेकिन दुभाषिया अभी भी एक रनटाइम लाइब्रेरी के रूप में उपयोग किया जाता है और ऐसे कार्यों को निष्पादित करता है जो करते हैं संकलन आवश्यकताओं को पूरा नहीं करते हैं। 

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

मानक
एपीएल को अमेरिकी राष्ट्रीय मानक संस्थान (एएनएसआई) कार्य समूह X3J10 और मानकीकरण के लिए अंतर्राष्ट्रीय संगठन (आईएसओ) और अंतर्राष्ट्रीय इलेक्ट्रोटेक्निकल कमीशन (IEC), ISO/IEC संयुक्त तकनीकी समिति 1 उपसमिति 22 कार्य समूह 3 द्वारा मानकीकृत किया गया है। मूल एपीएल भाषा है आईएसओ 8485:1989 में निर्दिष्ट है, और विस्तारित एपीएल भाषा ISO/IEC 13751:2001 में निर्दिष्ट है।

एपीएल को अमेरिकी राष्ट्रीय मानक संस्थान (एएनएसआई) कार्य समूह X3J10 और मानकीकरण के लिए अंतर्राष्ट्रीय संगठन (आईएसओ) और अंतर्राष्ट्रीय इलेक्ट्रोटेक्निकल कमीशन (IEC), ISO/IEC संयुक्त तकनीकी समिति 1 उपसमिति 22 कार्य समूह 3 द्वारा मानकीकृत किया गया है। मूल एपीएल भाषा है आईएसओ 8485:1989 में निर्दिष्ट है, और विस्तारित एपीएल भाषा ISO/IEC 13751:2001 में निर्दिष्ट है।

अग्रिम पठन

 * An एपीएल Machine (1970 Stanford doctoral dissertation by Philip Abrams)
 * A Personal History Of एपीएल (1982 article by Michael S. Montalbano)
 * A Programming Language by Kenneth E. Iverson
 * एपीएल in Exposition by Kenneth E. Iverson
 * Brooks, Frederick P.; Kenneth Iverson (1965). Automatic Data Processing, System/360 Edition. ISBN 0-471-10605-4.
 * 
 * Brooks, Frederick P.; Kenneth Iverson (1965). Automatic Data Processing, System/360 Edition. ISBN 0-471-10605-4.
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 

वीडियो

 * - एपीएल के मूल विकासकर्ताओं के साथ 1974 का टॉक शो स्टाइल साक्षात्कार।
 * - रॉबर्ट स्पेंस (इंजीनियर), इंपीरियल कॉलेज लंदन द्वारा 1975 में एपीएल का लाइव प्रदर्शन।
 * - डायलॉग लिमिटेड के जॉन स्कोल्स द्वारा 2009 का एक ट्यूटोरियल जो एपीएल की एकल पंक्ति में कॉनवे के गेम ऑफ लाइफ को प्रयुक्त करता है।
 * - ग्रीम रॉबर्टसन द्वारा 2009 में एपीएल का परिचय।

ऑनलाइन संसाधन

 * , ऑनलाइन एपीएल प्राइमर
 * एपीएल2C, एपीएल संकलक के लिंक का स्रोत
 * एपीएल2C, एपीएल संकलक के लिंक का स्रोत

श्रेणी: .NET प्रोग्रामिंग भाषा श्रेणी:एपीएल प्रोग्रामिंग भाषा परिवार श्रेणी:ऐरे प्रोग्रामिंग भाषाएँ श्रेणी:कमांड शैल श्रेणी:गतिशील प्रोग्रामिंग भाषाएँ श्रेणी:गतिशील रूप से टाइप की गई प्रोग्रामिंग भाषाएँ श्रेणी:कार्यात्मक भाषाएँ श्रेणी:आईबीएम सॉफ्टवेयर श्रेणी:1964 में बनाई गई प्रोग्रामिंग भाषाएँ श्रेणी: आईएसओ मानक के साथ प्रोग्रामिंग भाषाएँ श्रेणी:प्रोग्रामिंग भाषाएँ श्रेणी:होमोइकोनिक प्रोग्रामिंग भाषा