ऐतिहासिक रूप से एक एचएलएल कुछ सी, फोरट्रान या पास्कल की तरह है और एक वीएचएलएल रूबी या पायथन की तरह है। मैं 4GL, 5GL, DSL और LOP की शर्तों से परिचित हूं, और जिन्हें परिभाषाओं के लिए विकिपीडिया नहीं पढ़ना चाहिए। मुझे UHLLs की तलाश है।
मेरा सवाल यह है कि क्या कोई कंप्यूटर भाषाएं हैं जो परिमाण के एक और क्रम में अधिक उत्पादक हैं, और क्या कोई उन पर काम कर रहा है?
अधिक उत्पादक का मतलब कम लेखक कोड और कम प्रोग्रामर समय है ताकि परिणाम प्राप्त किया जा सके, कम बग और कम डिबगिंग, कोड और आवश्यकताओं के बीच घनिष्ठ वैचारिक लिंक, संशोधित करने और बनाए रखने का कम प्रयास।
मुख्य डोमेन जो मेरी रुचि है, सामान्य-उद्देश्य वाले व्यवसाय और उपभोक्ता अनुप्रयोग हैं, जिसमें GUI या ब्राउज़र फ्रंट एंड, डेटा दृढ़ता और अन्य प्रणालियों जैसे कि मुद्रण और ईमेल के कनेक्शन शामिल हैं। अन्य लोग अच्छी तरह से अन्य जगहों पर ध्यान केंद्रित कर सकते हैं।
मैं मानता हूं कि उन भाषाओं में से कुछ डोमेन-विशिष्ट हो सकती हैं, और वे बड़े और सक्षम अनुप्रयोग की कॉन्फ़िगरेशन क्षमता से थोड़ा अधिक हो सकती हैं। एक्सेल स्प्रेडशीट इस श्रेणी में आते हैं।
मैं मानता हूं कि उन भाषाओं में से कुछ सामान्य दिखाई दे सकती हैं, लेकिन वे अभी भी दायरे में संकीर्ण हो सकती हैं और कई समस्याओं के लिए अनुपयुक्त हो सकती हैं। उदाहरण के लिए, मैटलैब एक प्रोग्राम के लिए एक अच्छा विकल्प नहीं हो सकता है जो मुख्य रूप से उपयोगकर्ता इंटरैक्शन और टेक्स्टुअल डेटा से संबंधित है।
मैं कुछ विशेषताओं को जानता हूं जो VHLL के साथ सादृश्य द्वारा UHLL में हो सकते हैं। मैं निम्नलिखित में से एक या अधिक खोजने की उम्मीद करूंगा (और सूची में जोड़ने के लिए स्वतंत्र महसूस करूंगा):
- GUI फॉर्म की एक ड्राइंग GUI फॉर्म के लिए प्रोग्राम है
- पंक्तियों, स्तंभों और शीर्षों वाली एक तालिका एक डेटाबेस में एक तालिका के लिए कार्यक्रम है
- डिक्लेरेटिव लॉजिक कहता है कि क्या करना चाहिए और कब, बिना आईएफ स्टेटमेंट के
- डेटा के सेट पर संचालन, बिना किसी छोरों के
- गैर-अनुक्रमिक निष्पादन जैसे डेटा संचालित, पैटर्न मिलान, पेड़ चलना
प्रश्न के लिए प्रेरणा यह है कि मैं कंप्यूटर की जो आवश्यकता या आवश्यकता है, उसे पूरा करने के लिए अपेक्षाकृत सरल व्यावसायिक आवश्यकताओं को बड़ी मात्रा में अनुवाद करने की सरासर मेहनत से तंग आ गया हूं। सवाल वास्तव में दूसरों को खोजने के बारे में है जो मेरे दर्द को साझा करते हैं और भाषाओं के स्तर को बढ़ाने और कंप्यूटर को अधिक परिश्रम करने के लिए काम कर रहे हैं। यह 1970 -80 के दशक में एक प्रमुख फोकस था, लेकिन क्या अब भी ऐसा हो रहा है?
ये मेरे प्रश्न के कुछ सुझाए गए उत्तर हैं, जो मुझे उन भाषाओं को संक्षेप में प्रस्तुत करने के लिए प्रदान किए गए हैं या जिनके बारे में मुझे पता है, और जो मेरे विचार में कम हैं।
कई भाषाएं हैं जो एचएलएल या वीएचएलएल हैं और इसमें व्यक्तिगत विशेषताएं हैं जो उच्च स्तर से संबंधित हैं। मैंने उनमें से अधिकांश का उपयोग किया है (अक्सर बुरी तरह से)। उनमे शामिल है
- लिस्प, अपने मैक्रोज़ और आत्म-संशोधित करने की क्षमता के साथ
- हास्केल, डेटा निर्भरता और पैटर्न मिलान के साथ
- एसक्यूएल, जो पंक्तियों और तालिकाओं में काम करता है
- Rebol, जो चालाक लगता है, लेकिन मैं वास्तव में यह नहीं मिलता है
- एपीएल (और जे), इसके बहुआयामी सरणियों और अल्ट्रा-कॉम्पैक्ट ऑपरेटरों के साथ
- LINQ के साथ C #
- AWK / पर्ल / पायथन / रूबी अद्भुत संग्रह और निर्मित रेगीक्स के साथ
इन भाषाओं में UHLL होने के लिए बहुत कम स्तर की विशेषताएं हैं। प्रोग्रामर को अभी भी किसी भी उपयोगी कार्यक्रम के लिए कई निम्न स्तर के निर्माणों को लिखना है।
आरएडी / 4 जीएल पैकेज हैं। मैंने कुछ का उपयोग किया है:
- dBase / Foxpro
- डाटाफ्लेक्स / पावरफ्लेक्स (मेरा उत्पाद)
- पहुंच
- PowerBuilder
और बहुत अधिक मैंने उपयोग नहीं किया है। अधिकतर भाषा एचएलएल सबसे अच्छी होती है, लेकिन पैकेज में भाषा और पैकेज के बीच एक रूपरेखा और विशेषाधिकार प्राप्त कनेक्शन होते हैं ताकि अनुप्रयोगों को तेजी से बनाया जा सके। मुझे यकीन नहीं है कि यह दृष्टिकोण भाप से क्यों निकल गया, लेकिन किसी भी मामले में यूएचएलएल यह नहीं है।
कच्चे ढांचे / पुस्तकालय हैं। मैंने कुछ उपयोग किया है:
- रेल
- जावा जगा और स्विंग
- .NET विंडोज फॉर्म, WPF और ASP.NET।
ये वर्तमान में कला की स्थिति हैं। वे प्रोग्रामर को हर मोड़ पर जटिलता से निपटने के लिए कार्यान्वयन की भाषा में फंस गए। यह UHLL नहीं है, लेकिन इनमें से किसी एक के ऊपर UHLL का निर्माण किया जा सकता है।
यूएमएल और रेशनल के टूलसेट जैसे डिज़ाइन टूल हैं, जिन्हें मैं अच्छी तरह से नहीं जानता। जहाँ तक मैं देख सकता हूँ कि वे व्यवसाय की आवश्यकताओं को स्पष्ट करने में मदद करते हैं, लेकिन कभी भी प्रोग्रामिंग कदम की जगह नहीं ले सकते। मैं प्रोग्रामर्स को खत्म नहीं करना चाहता, बस समय और मेहनत के हिसाब से ज्यादा काम करना चाहिए।
इसलिए सभी दावेदारों को हटाकर मैं सोच सकता हूं, मुझे उम्मीद है कि कोई और बेहतर उम्मीदवार प्रदान कर सकता है।
लेट एडिट: मुझे लगता है कि मेरे पास एक जवाब है: वोल्फ्राम लैंग्वेज। http://www.wolfram.com/wolfram-language/