क्या एक प्रणाली 100% डेटा संचालित हो सकती है?


44

मेरा नया बॉस कई सालों से इस प्रोजेक्ट पर काम कर रहा है। मैं केवल कुछ सप्ताह यहां रहा हूं, लेकिन मुझे यकीन नहीं है कि यह संभव है। वह एक प्रणाली डिजाइन करना चाहते हैं जो "100% डेटा संचालित" है।

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

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

मुझे नहीं पता कि आप सिस्टम के बिना डेटा का उपयोग करके तर्क को कैसे परिभाषित कर सकते हैं ताकि आप वास्तविक प्रोग्रामिंग कर रहे हों।

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

क्या इस तरह का 100% डेटा संचालित अनुप्रयोग संभव है?


4
यदि आप अपनी प्रोग्रामिंग भाषा लिखते हैं तो ही। यदि आपको वास्तव में बहुत सारे अनुप्रयोगों को लिखने की आवश्यकता है जो समान हैं, तो आपको बेहतर लाइब्रेरी, बेहतर आर्किटेक्चर, या एक चरम मामले में एक डोमेन विशिष्ट भाषा (डीएसएल) की आवश्यकता हो सकती है।
माइकल के

6
मुझे लगता है कि आपको 'डेटा द्वारा संचालित' से जो मतलब है उसे परिभाषित करना होगा।
ग्रैंडमास्टरबी

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

20
बेशक आप यह कर सकते हैं! डेटा को फ़ाइल सिस्टम पर जावा स्रोत फ़ाइलों के रूप में संग्रहीत किया जाता है। हम बस संकलित करते हैं और वहां जाते हैं और आप वहां जाते हैं। 100% लचीलापन, 100% डेटा-संचालित।
जेरेमी स्टीन

6
@JeremyStein ने मुझे हराया। मैं यह कहने जा रहा था कि मेरा डेटा सबवर्सन में संग्रहीत किया गया था, और निरंतर एकीकरण प्रणाली और अन्य परिनियोजन प्रक्रियाओं के माध्यम से मेरे 'कॉन्फ़िगरेशन' में परिवर्तन लागू होते हैं।
मि। मिन्दर

जवाबों:


46

आपके बॉस को इस टुकड़े को पढ़ना चाहिए: बैड कर्मा: "विज़न" प्रोजेक्ट, आंतरिक प्लेटफ़ॉर्म प्रभाव या दूसरे सिस्टम प्रभाव के बारे में सावधानी की कहानी।

सार

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

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

परियोजना 1990 के दशक की शुरुआत में हुई, और यह कस्टम-निर्मित ऑर्डर-एंट्री और ग्राहक-सेवा अनुप्रयोग था, जिसे अब ग्राहक-संबंध प्रबंधन या सीआरएम के रूप में संदर्भित किया जाता है। सिस्टम की मुख्य कार्यक्षमता में शामिल हैं:

  • आदेश प्रविष्टि और सूची
  • ग्राहक सेवा, हेल्प डेस्क
  • सामान्य खाता बही, प्राप्य, बिलिंग और देय खाते

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

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

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

यह सभी देखें

http://en.wikipedia.org/wiki/Inner-platform_effect


3
+1 भीतरी-प्लेटफ़ॉर्म प्रभाव। मुझे लगता है कि यह TDWTF इसे अच्छी तरह से

4
यह हास्यास्पद है जब लोग एक छोटे से कोड को लिखने की लागत को देखने में विफल रहते हैं, एक पूरे मंच के निर्माण की तुलना में बहुत कम है।
brifeucht

9
@ ब्रायनफ़ुच: असीम रूप से कॉन्फ़िगर किए गए प्लेटफ़ॉर्म का विचार मोहक है।
रॉबर्ट हार्वे

1
इनर प्लेटफ़ॉर्म इफ़ेक्ट मुझे गूगल लाइब्रेरियों जैसे कि अमरूद की याद दिलाता है, जहाँ अगर स्टेटमेंट्स का उपयोग करने के बजाय कोड को प्रिडेटेट उदाहरणों से भरा जाता है। यह सिर्फ भयानक है।
luke1985

3
@RobertHarvey और निर्माण के लिए मजेदार। जब तक मुझे अंत उपयोगकर्ताओं का समर्थन करने की आवश्यकता नहीं है;)
brifeucht

17

इसका उत्तर हां है, पूरी तरह से डेटा-संचालित प्रणाली बनाना संभव है और हां, यह आमतौर पर एक बुरा विचार है।

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

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

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

आप एक ऐसी भाषा भी लागू करते हैं जिसमें तार्किक संचालन को कोड करने की क्षमता होती है। मेरी सिफारिश है कि मौजूदा भाषा जैसे लुआ या शायद पायथन का उपयोग किया जाए। जहाँ भी तार्किक संचालन की आवश्यकता हो, आप इस कोड के टुकड़े एम्बेड करते हैं।

ऐसा करने से आप प्रत्येक फॉर्म, रिपोर्ट, टेबल आदि को लागू करने के लिए आवश्यक लेखन की मात्रा को काफी हद तक कम कर सकते हैं। सिस्टम डेटा-संचालित होने लगता है, लेकिन केवल एक बिंदु तक।

इस बिंदु पर आपने अभी एक नया 4GL लागू किया है। यदि आप ऐसा करते हैं तो सफलतापूर्वक करें, कृपया मुझे बताएं। ज्यादातर लोग निराशाजनक रूप से विफल होते हैं। मैं आपकी उपलब्धि पर सबसे पहले बधाई दूंगा।


2
अच्छा लिख ​​दिया। SAP (ERP सिस्टम) ऐसी प्रणाली का शास्त्रीय उदाहरण है। आप इसमें प्रोग्राम नहीं करते हैं, आप इसे "कॉन्फ़िगर" करते हैं। जो कुछ भी महत्वपूर्ण पाने के लिए इतना जटिल है, कि इसने इसके चारों ओर एक संपूर्ण कंसल्टेंसी उद्योग खड़ा कर दिया है।
टन

@ स्वर: धन्यवाद। मुझे एसएपी के साथ कोई पहला अनुभव नहीं है, लेकिन मैं समझता हूं कि एसएपी / आर 3 और एबीएपी इस विवरण के करीब आते हैं, और युद्ध-कहानियों के एक प्रमुख जनरेटर हैं: क्या गलत है और कितनी बार बजट से बाहर निकला। फिर भी कंपनी पैसे के ढेर लगाती है।
david.pfx

जैसा कि किसी को जो SAP का पहला हाथ अनुभव था, मैं टिप्पणी करना चाहूंगा ... (क्या कोई मुझे अब शरण का रास्ता दिखा सकता है?)
Shawty

6

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

एक "स्क्रिप्टिंग भाषा", मोटे तौर पर बोलना, एक भाषा रनटाइम है जहां यह कोड इनपुट मानव-पठनीय है। कंपाइलर उपयोगकर्ता और रनटाइम के बीच एक अतिरिक्त कदम रखता है। Malbolge और APL जैसी "जोक" भाषाओं को किसी भी रूप में मानव-पठनीय नहीं होना चाहिए। लेकिन यह सभी एक ही स्तर पर एक ही बात है, और वैसे भी मानव-पठनीय का मतलब यह नहीं है कि सभी संभावित उपयोगकर्ताओं के पास इसे पढ़ने या लिखने का कौशल है, या उन्हें विकसित करने की उम्मीद की जा सकती है।

ऐसे अच्छे कारण हैं कि आप सामान्य रूप से सीधे उपयोगकर्ताओं के लिए भाषा रनटाइम को उजागर नहीं करते हैं। मुख्य है कि लचीलापन हटाने से सुविधा बढ़ जाती है।

यदि मैं एक एसओ पद लिखना चाहता हूं, तो मैं इसे टाइप करना चाहता हूं। मैं इसे आउटपुट करने के लिए C ++ प्रोग्राम लिखने के बजाय पूरी तरह से सक्षम हूं, लेकिन मैं एक वेब ब्राउज़र का उपयोग नहीं करूंगा जिसने एक नियमित टेक्स्ट बॉक्स के बजाय C ++ प्रोग्राम एडिटर को उजागर किया। जो लोग C ++ नहीं जानते हैं वे न केवल ब्राउज़र का उपयोग करेंगे, वे नहीं कर सकते।

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

इसलिए यदि आप 100% डेटा-चालित प्रणाली को अपनाने वाले हैं, तो सही डेटा को देखते हुए कुछ भी कर सकते हैं, आपके पास खुद से पूछने के लिए दो प्रश्न हैं:

  1. क्या हम प्रोग्रामिंग भाषाओं का आविष्कार करने के व्यवसाय में हैं, या हमें होना चाहिए?
  2. क्या हमारी नई प्रोग्रामिंग भाषा पहले से मौजूद लोगों की तुलना में हमारे उद्देश्यों के लिए बेहतर (हमारे उद्देश्यों के लिए) होगी और क्या हम इसका समर्थन और विकास करेंगे जैसा कि इसकी आवश्यकता है?

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

कुछ भाषाएं दूसरों की तुलना में कठिन या आसान हैं, विशेष रूप से यदि वे आर जैसे उद्देश्य के लिए विशिष्ट हैं तो कुछ उपयोगकर्ता उन्हें बहुत आसान पाएंगे। जो आप शायद नहीं करेंगे, वह सामान्य रूप से प्रोग्रामिंग को सामान्य रूप से आसान बनाता है। किसी भी समय दुनिया में संभवतः कई लोग / संगठन हैं जो ऐसा करने की क्षमता रखते हैं, लेकिन आपके बॉस / कंपनी को ईमानदारी से विचार करना होगा कि उसमें वह शामिल है या नहीं।

गेम के लिए अक्सर एक ट्रिक का उपयोग किया जाता है, जो खेल इंजन के लिए लुआ बाइंडिंग को उजागर करना है। यह डिजाइनरों को अपेक्षाकृत आसान भाषा में कार्यक्रम करने की अनुमति देता है, लेकिन फिर भी एक "वास्तविक" प्रोग्रामर को संलग्न करता है, जहां प्रदर्शन या इंजन या प्लेटफॉर्म की विशेष कार्यक्षमता तक पहुंचने के लिए आवश्यक है। जहाँ तक इंजन का सवाल है, परिणामी लुआ लिपि "डेटा" है। वे सभी को शामिल करने की ज़रूरत नहीं है, जिसे आप "लॉजिक" कहते हैं, जो कि डेटा को कॉन्फ़िगर करने के विपरीत है, और अक्सर वे बहुत सारे प्लॉट और पर्यावरण को परिभाषित करते हैं, लेकिन पूरे गेमप्ले को नहीं। यह 100% डेटा-चालित नहीं है और यह निश्चित रूप से 100% त्रुटि-मुक्त नहीं है, लेकिन यह एक दिलचस्प व्यावहारिक समझौता है।


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

4

मैंने एक कंपनी में काम किया जहां यह लक्ष्य था। SQL के स्निपेट को डेटाबेस टेबल में स्टोर किया जाता था, रनटाइम पर पढ़ा जाता है, और निष्पादित किया जाता है। प्रदर्शन भयानक था, जैसा कि आप कल्पना कर सकते हैं, और बग लगातार थे। बिना किसी स्टैक के निशान या किसी और चीज के साथ डिबग करना भी असंभव था, जो जीवन को आसान बनाता है।

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

इसके अलावा, यह संपादकीय हो सकता है, लेकिन जिन जगहों पर मैंने सामना किया है, वे "पूरी तरह से डेटा-संचालित" प्रोग्रामिंग चाहते हैं, वास्तव में उनके प्रोग्रामर को महत्व नहीं देते हैं। वे कोड को लागत केंद्र के रूप में सोचते हैं, कुछ को आउटसोर्स करने या अनदेखा करने के लिए।


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

4

आपका मतलब है कि आपका बॉस चाहता है कि आप इसे लिखें:

[
  {
    "statement": "Assignment ",
    "variable": "App",
    "value": {
      "type": "Function",
      "arguments": [],
      "function-body": [
        {}
      ]
    }
  },
  {
    "statement": "Assignment",
    "variable": "App.prototype.action",
    "value": {
      "type": "Function",
      "arguments": [
        "data"
      ],
      "function-body": [
        {
          "statement": "Call",
          "function-name": "console.log",
          "arguments": [
            "data"
          ]
        }
      ]
    }
  }
]

इसे उत्पन्न करने के लिए:

var App = function () {};
App.prototype.action = function ( data ) {
    console.log( data );
}

पहला JSON है और दूसरा जावास्क्रिप्ट है

Clearification

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

क्या इस तरह का 100% डेटा संचालित अनुप्रयोग संभव है?

यहीं से मेरी शुरुआत हुई। मेरे उत्तर के साथ मैं मूल पोस्ट से सहमत होने की कोशिश कर रहा हूं कि: यह संभव है, लेकिन आप सही हैं, यह समस्या को केवल एक स्तर पर बिना किसी स्पष्ट [लाभ] के उच्चतर स्थानांतरित कर देगा


प्रोग्रामर दौरा वैचारिक प्रश्न हैं और चीजों की व्याख्या करने के लिए उत्तर अपेक्षित हैं । स्पष्टीकरण के बजाय कोड डंप फेंकना आईडीई से व्हाइटबोर्ड पर कोड कॉपी करने जैसा है: यह परिचित लग सकता है और यहां तक ​​कि कभी-कभी समझ में आता है, लेकिन यह अजीब लगता है ... बस अजीब है। व्हाइटबोर्ड में संकलक नहीं है
gnat

@gnat टिप्पणी के लिए धन्यवाद; मैंने अपना उत्तर अपडेट कर दिया है, इसे और अधिक स्पष्ट करने की कोशिश कर रहा हूं। कृपया मुझे बताएं कि क्या यह अभी भी पर्याप्त स्पष्ट नहीं लगता है।
महदी

0

आप यकीनन तर्क कर सकते हैं, मुझे लगता है, कि किसी भी वेब ब्राउज़र एप्लिकेशन को 1 % संचालित डेटा माना जा सकता है ।

बेशक, यह वेब पर एप्लिकेशन बनाने के लिए सरल या आसान नहीं बनाता है, वास्तव में यह उन्हें बहुत कठिन बनाता है।

अपने बॉस को बताएं कि वह वेब ब्राउज़र को पुन: स्थापित कर रहा है, और उसे अंततः कुछ जटिल बनाने के लिए जावास्क्रिप्ट को फिर से बनाना होगा।

1 यदि आप प्लगइन्स, जावास्क्रिप्ट और एचटीएमएल 5 को अनदेखा करते हैं ।


-1

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

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

के रूप में 100% डेटा संचालित है, अगर संकलक या दुभाषिया खोल को समझ सकता है, तो संगणना चालित होती है। यदि डेटा में शेल या इंटरफ़ेस के समान अंतर्निहित संरचना है, तो डेटा को संकलक या दुभाषिया द्वारा भी संचालित किया जा सकता है। मुझे लगता है कि मैथेमेटिका एक अच्छी व्याख्या है कि मैं आपको हां के साथ क्यों जवाब देता हूं।


1
यह पोस्ट पढ़ना मुश्किल है (पाठ की दीवार)। क्या आप इसे बेहतर आकार में संपादित करना चाहेंगे ?
gnat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.