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

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

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

1980 और 1990 के दशक में पांचवीं पीढ़ी की प्रोग्रामिंग भाषाओं (5जीएल) को विकसित करने के प्रयास किए गए।

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

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

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

हार्डवेयर के रूप में 72-वर्ण प्रारूप वर्ण प्रति पंक्ति बड़ी मेमोरी और टर्मिनल अंतराफलक के लिए आगे बढ़े। यहां तक ​​कि इसकी सीमाओं के साथ, इस दृष्टिकोण ने अत्यधिक परिष्कृत अनुप्रयोगों का समर्थन किया।

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

यह भी देखें

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