चौथी पीढ़ी की प्रोग्रामिंग भाषा

चौथी पीढ़ी की प्रोग्रामिंग भाषा (4GL) कोई भी कंप्यूटर प्रोग्रामिंग भाषा है जो तीसरी पीढ़ी की प्रोग्रामिंग भाषाओं (3GL) पर उन्नति के रूप में कल्पना की गई भाषाओं के एक वर्ग से संबंधित है। प्रत्येक प्रोग्रामिंग भाषा पीढ़ी का उद्देश्य आंतरिक कंप्यूटर हार्डवेयर विवरणों की उच्च स्तर की अमूर्त परत प्रदान करना है, जिससे भाषा अधिक प्रोग्रामर-अनुकूल, शक्तिशाली और बहुमुखी बन जाती है। जबकि 4GL की परिभाषा समय के साथ बदल गई है, इसे केवल अंश्स और बाइट्स पर ध्यान केंद्रित करने के बजाय सूचनाओं के बड़े संग्रह के साथ अधिक संचालन करके टाइप किया जा सकता है। 4GL होने का दावा करने वाली भाषाओं में डेटाबेस प्रबंधन, रिपोर्ट जनरेटर, गणितीय अनुकूलन, ग्राफिकल यूजर इंटरफेस बिल्डर, या वेब विकास के लिए समर्थन शामिल हो सकता है। कुछ शोधकर्ताओं का कहना है कि 4जीएल डोमेन-विशिष्ट भाषाओं का एक सबसेट है। 4GL की अवधारणा को 1970 से 1990 के दशक तक विकसित किया गया था, 3GL के अधिकांश विकास को ओवरलैप करते हुए, 4GLs को गैर-प्रक्रियात्मक जावा (प्रोग्रामिंग भाषा) के रूप में पहचाना गया, 3GLs के एल्गोरिथम या प्रक्रियात्मक भाषाओं के विपरीत। जबकि C (प्रोग्रामिंग लैंग्वेज), C++, C Sharp (प्रोग्रामिंग लैंग्वेज)|C#, Java (प्रोग्रामिंग लैंग्वेज), और जावास्क्रिप्ट जैसे 3GLs विभिन्न प्रकार के उपयोगों के लिए लोकप्रिय बने हुए हैं, मूल रूप से परिभाषित 4GLs डेटाबेस, रिपोर्ट और पर केंद्रित हैं। वेबसाइटों। कुछ उन्नत 3जीएल जैसे पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), और पर्ल एक सामान्य-उद्देश्य वाले 3जीएल वातावरण में कुछ 4जीएल क्षमताओं को जोड़ते हैं, और पुस्तकालय (कम्प्यूटिंग) 4जीएल जैसी सुविधाओं के साथ सबसे लोकप्रिय 3जीएल के लिए ऐड-ऑन के रूप में विकसित किए गए हैं, जो 3जीएल और 4जीएल के मिश्रण वाली भाषाओं का निर्माण करते हैं, जो भेद को धुंधला करते हैं। 1980 और 1990 के दशक में पांचवीं पीढ़ी की प्रोग्रामिंग भाषाओं (5GL) को विकसित करने के प्रयास किए गए।

इतिहास
हालांकि पहले कागजों और चर्चाओं में इस्तेमाल किया गया था, 4GL शब्द का पहली बार औपचारिक रूप से जेम्स मार्टिन (लेखक) ने अपनी 1981 की पुस्तक एप्लिकेशन डेवलपमेंट विदाउट प्रोग्रामर्स में औपचारिक रूप से उपयोग किया था। गैर-प्रक्रियात्मक, उच्च-स्तरीय विनिर्देश भाषाओं को संदर्भित करने के लिए। कुछ आदिम तरीके से, प्रारंभिक 4जीएल को स्टर्लिंग सॉफ्टवेयर मार्क-IV (सॉफ्टवेयर) | मार्क-IV (1967) उत्पाद और स्पेरी कॉर्पोरेशन के मैपर (1969 आंतरिक उपयोग, 1979 रिलीज) में शामिल किया गया था।

'4जीएल' की स्थापना के लिए प्रेरणा और निरंतर रुचि कई हैं। यह शब्द सॉफ्टवेयर उत्पादों के एक बड़े सेट पर लागू हो सकता है। यह एक ऐसे दृष्टिकोण पर भी लागू हो सकता है जो अधिक अर्थ गुणों और कार्यान्वयन शक्ति की तलाश करता है। जिस तरह 3GL ने प्रोग्रामर को अधिक शक्ति प्रदान की, उसी तरह 4GL ने भी विकास के माहौल को व्यापक आबादी के लिए खोल दिया।

पंच कार्ड के भीतर डेटा की 4जीएल समर्थित प्रविष्टि के लिए प्रारंभिक इनपुट योजना#आईबीएम 80-कॉलम प्रारूप और वर्ण कोड|पंच किए गए कार्ड की 72-वर्ण सीमा (सीक्वेंसिंग के लिए उपयोग की जाने वाली 8 बाइट्स) जहां एक कार्ड का टैग प्रकार या फ़ंक्शन की पहचान करेगा. कुछ कार्डों के विवेकपूर्ण उपयोग के साथ, [[पंच कार्ड युग में कंप्यूटर प्रोग्रामिंग]] विभिन्न प्रकार की प्रसंस्करण और रिपोर्टिंग क्षमता प्रदान कर सकती है, जबकि तीसरी पीढ़ी की प्रोग्रामिंग भाषा में कोडित समतुल्य कार्यक्षमता, शायद, एक पूरे बॉक्स या अधिक कंप्यूटर को समाहित कर सकती है। पंच कार्ड युग में प्रोग्रामिंग। हार्डवेयर के रूप में 72-वर्ण प्रारूप वर्ण प्रति पंक्ति बड़ी मेमोरी और टर्मिनल इंटरफेस के लिए आगे बढ़े। यहां तक ​​कि इसकी सीमाओं के साथ, इस दृष्टिकोण ने अत्यधिक परिष्कृत अनुप्रयोगों का समर्थन किया।

जैसे-जैसे इंटरफेस में सुधार हुआ और लंबी स्टेटमेंट लंबाई और व्याकरण-चालित इनपुट हैंडलिंग की अनुमति मिली, अधिक शक्ति प्राप्त हुई। इसका एक उदाहरण घुमंतू सॉफ्टवेयर पेज पर वर्णित है।


 * नोमाड की शक्ति का एक और उदाहरण निकोलस रॉलिंग्स द्वारा एनसीएसएस के बारे में कंप्यूटर इतिहास संग्रहालय के लिए उनकी टिप्पणियों में दिखाया गया है (नीचे उद्धरण देखें)। वह रिपोर्ट करता है कि जेम्स मार्टिन (लेखक) ने रॉर्लिंग्स से एक मानक समस्या के लिए घुमंतू समाधान के लिए कहा, जिसे मार्टिन ने इंजीनियर की समस्या कहा: इंजीनियरों को 6% वृद्धि दें, जिनकी नौकरी की रेटिंग औसतन 7 या उससे बेहतर थी। मार्टिन ने COBOL के एक दर्जन पृष्ठ प्रदान किए, और फिर स्टर्लिंग सॉफ़्टवेयर से MARK-IV (सॉफ़्टवेयर) के केवल एक या दो पृष्ठ प्रदान किए। रॉर्लिंग्स ने एक सेट-एट-टाइम ऑपरेशन करते हुए निम्नलिखित एकल कथन की पेशकश की ...

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

एटचिसन, टोपेका और सांता फ़े रेलवे रेलमार्ग ने एक प्रणाली विकसित करने के लिए MAPPER का उपयोग किया, एक ऐसी परियोजना में जो 4GL, सॉफ्टवेयर प्रोटोटाइप और एंड-यूज़र कंप्यूटिंग का एक प्रारंभिक उदाहरण था। विचार यह था कि प्रोग्रामरों को रेल संचालन की पेचीदगियों को सिखाने की तुलना में रेल विशेषज्ञों को MAPPER का उपयोग करना सिखाना आसान था। प्रारंभिक (और पोर्टेबल) भाषाओं में से एक, जिसमें 4GL विशेषताएँ थीं, एक गणितीय सॉफ़्टवेयर कंपनी मेथेमेटिका में जेराल्ड सी. कोहेन द्वारा विकसित रामिस सॉफ्टवेयर था। कोहेन ने मैथेमेटिका को छोड़ दिया और एक समान रिपोर्टिंग-उन्मुख 4GL बनाने के लिए सूचना बिल्डर्स की स्थापना की, जिसे FOCUS कहा जाता है।

बाद के 4GL प्रकार एक डेटाबेस सिस्टम से जुड़े हुए हैं और तकनीकों और संसाधनों के उपयोग में पहले के प्रकारों से बहुत अलग हैं जो समय के साथ कंप्यूटिंग के सामान्य सुधार के परिणामस्वरूप हुए हैं।

4GL दृश्य में एक दिलचस्प मोड़ यह अहसास है कि उपयोगकर्ता द्वारा किए गए ग्राफिकल इंटरफेस और एंड-यूज़र कंप्यूटिंग एक ऐसी 'भाषा' बनाते हैं जिसे कम समझा जाता है।

प्रकार
कई अलग-अलग प्रकार के 4जीएल मौजूद हैं:
 * टेबल-चालित (कोड रहित) प्रोग्रामिंग, आमतौर पर एक रनटाइम फ्रेमवर्क और लाइब्रेरी के साथ चलती है। कोड का उपयोग करने के बजाय, डेवलपर मेमोरी या डेटा टेबल हेरफेर कमांड की पूर्व-निर्धारित सूची में एक ऑपरेशन का चयन करके अपने तर्क को परिभाषित करता है। दूसरे शब्दों में, कोडिंग के बजाय, डेवलपर तालिका-संचालित एल्गोरिदम प्रोग्रामिंग का उपयोग करता है (इस उद्देश्य के लिए उपयोग की जा सकने वाली नियंत्रण तालिकाएं भी देखें)। इस प्रकार की 4GL भाषा का एक अच्छा उदाहरण PowerBuilder है। इस प्रकार के उपकरणों का उपयोग व्यावसायिक अनुप्रयोग विकास के लिए किया जा सकता है, जिसमें आमतौर पर व्यावसायिक डेटा हेरफेर और रिपोर्टिंग दोनों की अनुमति देने वाले पैकेज शामिल होते हैं, इसलिए वे जीयूआई स्क्रीन और रिपोर्ट संपादकों के साथ आते हैं। जब अधिक हार्डवेयर/OS विशिष्ट संचालन के लिए आवश्यकता उत्पन्न होती है तो वे आमतौर पर एक सामान्य 3GL से उत्पन्न निचले स्तर के DLL के साथ एकीकरण की पेशकश करते हैं।
 * रिपोर्ट जेनरेटर|रिपोर्ट-जेनरेटर प्रोग्रामिंग लैंग्वेज डेटा फॉर्मेट और जनरेट की जाने वाली रिपोर्ट का विवरण लेती हैं और उससे वे या तो सीधे आवश्यक रिपोर्ट जनरेट करती हैं या वे रिपोर्ट जनरेट करने के लिए एक प्रोग्राम तैयार करती हैं। आईबीएम आरपीजी भी देखें
 * इसी तरह, फॉर्म जेनरेटर एप्लिकेशन सिस्टम के उपयोगकर्ताओं के साथ ऑनलाइन बातचीत का प्रबंधन करते हैं या ऐसा करने के लिए प्रोग्राम तैयार करते हैं।
 * अधिक महत्वाकांक्षी 4जीएल (कभी-कभी चौथी पीढ़ी के वातावरण कहा जाता है) कंप्यूटर एडेड सॉफ्टवेयर इंजीनियरिंग टूल्स, स्क्रीन के विनिर्देशों और रिपोर्ट के आउटपुट से स्वचालित रूप से पूरे सिस्टम को उत्पन्न करने का प्रयास करते हैं, और संभवतः कुछ अतिरिक्त प्रोसेसिंग लॉजिक के विनिर्देश भी।
 * डेटा प्रबंधन 4जीएल जैसे एसएएस सिस्टम, एसपीएसएस और स्टाटा सांख्यिकीय विश्लेषण और रिपोर्टिंग के लिए डेटा की तैयारी में डेटा हेरफेर, फाइल रीशेपिंग, केस चयन और डेटा प्रलेखन के लिए परिष्कृत कोडिंग कमांड (कंप्यूटिंग) प्रदान करते हैं।
 * तथाकथित XTalk भाषाएँ, शुरुआत में 1987 में Apple के हाइपरकार्ड के साथ विकसित हुईं। हाइपरकार्ड सुपरकार्ड, टूलबुक और लाइवकोड जैसे अधिक आधुनिक और शक्तिशाली कार्यक्रमों के पूर्वज थे।

कुछ 4GL में एकीकृत उपकरण होते हैं जो सभी आवश्यक सूचनाओं के आसान विनिर्देशन की अनुमति देते हैं:


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

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

सामान्य उपयोग / बहुमुखी

 * चौथा आयाम (सॉफ्टवेयर)
 * ACCELL/SQL|Accell/SQL (4GL) गुप्ता टेक्नोलॉजीज से।
 * Broadcom 2e Synon 4GL RPG/COBOL जेनरेटर
 * CA-Telon 4GL Cobol/PLI जनरेटर
 * बिगुल (प्रोग्रामिंग भाषा)
 * क्लिपर (प्रोग्रामिंग भाषा)
 * पावरहाउस (प्रोग्रामिंग भाषा)
 * डेटाफ्लेक्स (माइक्रोसॉफ्ट विंडोज, वेब, मोबाइल)
 * डेटाट्राईव
 * डीबेस
 * फाइलमेकर
 * केंद्र
 * Forte 4GL|Forte TOOL (लेन-देन संबंधी वस्तु-उन्मुख भाषा)
 * जीनएक्सस
 * हार्बर (प्रोग्रामिंग भाषा)
 * हाइपर कार्ड (विकास और समर्थन समाप्त कर दिया गया)
 * आईबीएम वाजिब ईजीएल (एंटरप्राइज जनरेशन लैंग्वेज)
 * लैब व्यू
 * LANSA (विकास पर्यावरण)
 * लिंक 4 जीएल
 * लाइवकोड
 * एम पावर
 * प्राकृतिक
 * हर स्टूडियो एसडीके
 * ओरेकल एप्लीकेशन डेवलपमेंट फ्रेमवर्क
 * आउटसिस्टम (उत्पादकता/PaaS)
 * जेमिक्स/क्यूबा प्लेटफॉर्म (उत्पादकता/ढांचा)
 * पावरबिल्डर
 * आर: बेस
 * शीरपावर4जीएल (केवल माइक्रोसॉफ्ट विंडोज़)
 * SQLWindows/टीम डेवलपर
 * यूनिफेस (प्रोग्रामिंग भाषा)
 * यूनिक्स शैल
 * विजुअल फॉक्सप्रो (विकास और समर्थन समाप्त कर दिया गया)
 * एक्सबेस ++
 * षोजो
 * जिम:X

डेटाबेस क्वेरी भाषाएं

 * केंद्र
 * चौथा आयाम (सॉफ्टवेयर)
 * इनफॉर्मिक्स-4जीएल
 * प्राकृतिक
 * ओपनएज एडवांस्ड बिजनेस लैंग्वेज
 * खुला रास्ता|ओपनरोड (इंग्र्स 4जीएल)
 * रामिस सॉफ्टवेयर
 * एसक्यूएल
 * जिम:X

रिपोर्ट जनरेटर
प्रारूपों की एक विस्तृत श्रृंखला में रिपोर्ट बनाने के लिए फ़ाइलों या डेटाबेस से डेटा निकालने का कार्य रिपोर्ट जनरेटर टूल द्वारा किया जाता है।
 * लिंक 4 जीएल
 * ओरेकल रिपोर्ट्स
 * प्रगति 4जीएल प्रश्न/परिणाम
 * आरपीजी प्रोग्रामिंग भाषा|आरपीजी-II
 * जिम:X

डेटा हेरफेर, विश्लेषण और रिपोर्टिंग भाषाएं

 * एबी इनिशियो (कंपनी)
 * ए बी ए पी
 * ऑडिट कमांड भाषा
 * बिगुल प्रोग्रामिंग भाषा
 * CorVision
 * कलिनेट
 * कलिनेट|एडीएस/ऑनलाइन (प्लस ट्रांजैक्शन प्रोसेसिंग)
 * Easytrieve
 * केंद्र
 * ग्राफ टॉक
 * आईडीएल (प्रोग्रामिंग भाषा)
 * इगोर प्रो
 * इनफॉर्मिक्स-4जीएल
 * जेएमपी (सांख्यिकीय सॉफ्टवेयर)
 * जूडोस्क्रिप्ट
 * LANSA (विकास पर्यावरण)
 * एम-पावर
 * लैब व्यू
 * लाइवकोड
 * सिनकॉम
 * मैपर (सॉफ्टवेयर) (यूनिसिस|यूनिसिस/स्पेरी) एबीएपी बीआईएस का हिस्सा है
 * MARK-IV (सॉफ्टवेयर)|MARK-IV (स्टर्लिंग सॉफ्टवेयर|स्टर्लिंग/इंफॉर्मेटिक्स) अब विजन: CA का निर्माता
 * MATLAB के एक घटक Simulink
 * प्राकृतिक
 * घुमंतू सॉफ्टवेयर
 * जीएनयू ऑक्टेव
 * पीएल/एसक्यूएल
 * प्रगति 4 जीएल
 * आर (प्रोग्रामिंग भाषा)
 * रामिस सॉफ्टवेयर
 * एस प्रोग्रामिंग भाषा
 * साइलैब
 * एसएएस संस्थान
 * एसपीएसएस
 * एसक्यूएल पीएल
 * दूसरी तिमाही समीक्षा
 * स्टाटा
 * सिनोन
 * वोल्फ्राम भाषा
 * एक्सबेस++
 * XQuery
 * एक्सएसएलटी
 * जिम:X

सॉफ़्टवेयर निर्माता

 * चौथा आयाम (सॉफ्टवेयर)
 * लाइवकोड
 * MATLAB की गाइड
 * ओम्निस स्टूडियो
 * खुला रास्ता
 * प्रगति 4GL ऐपबिल्डर
 * सुपर टॉक
 * विजुअल डेटा फ्लेक्स
 * जोजो
 * XUL का उपयोग XQuery के साथ किया जा सकता है
 * जिम:X

गणितीय अनुकूलन

 * एआईएमएमएस
 * एएमपीएल
 * सामान्य बीजगणितीय मॉडलिंग प्रणाली
 * गणित कार्यक्रम
 * मतलब
 * गणित
 * जिम:X

डेटाबेस संचालित जीयूआई अनुप्रयोग विकास

 * सी/अल
 * जाति
 * आईबीएम सिस्टमबिल्डर|एसबी+/सिस्टमबिल्डर
 * एकीकृत दृष्टि
 * जिम:X

=== कम कोड / कोई कोड विकास मंच नहीं ===


 * 1C: एंटरप्राइज़ प्रोग्रामिंग भाषा
 * ऐपसेलरेटर
 * एपियन कॉर्पोरेशन
 * वीजा कौशल
 * द्रोण मुख्यालय
 * उल्टी करना
 * कोनी, इंक.
 * LANSA (विकास पर्यावरण)
 * एम-पावर
 * मेंडिक्स
 * आउटसिस्टम
 * पेगासिस्टम्स
 * पीएनएमसॉफ्ट
 * प्रगति 4 जीएल
 * अभी मरम्मत करें
 * सर्वोय
 * विजीऐप्स
 * WEM (प्रोग्रामिंग भाषा)

स्क्रीन पेंटर और जेनरेटर

 * ओरेकल फॉर्म
 * प्रगति 4जीएल प्रावधान
 * आईबीएम सिस्टमबिल्डर|एसबी+/सिस्टमबिल्डर
 * जिम:X

वेब विकास भाषाएं

 * सक्रिय वीएफपी
 * सीएफएमएल
 * LANSA (विकास पर्यावरण)
 * आउटसिस्टम
 * वेवमेकर
 * वेबसाइटों

संगीत प्रोग्रामिंग भाषा

 * मैक्सएमएसपी

यह भी देखें

 * पहली पीढ़ी की प्रोग्रामिंग भाषा
 * दूसरी पीढ़ी की प्रोग्रामिंग भाषा
 * तीसरी पीढ़ी की प्रोग्रामिंग भाषा
 * पांचवीं पीढ़ी की प्रोग्रामिंग भाषा
 * चौथी पीढ़ी की प्रोग्रामिंग भाषाओं की सूची
 * डोमेन-विशिष्ट प्रोग्रामिंग भाषा
 * रैपिड अनुप्रयोग का विकास