COBOL के लिए शपथ क्यों? [बन्द है]


52

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

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


8
COBOL का ठीक है पदानुक्रमित डेटाबेस या फ्लैट फ़ाइलों में हेरफेर करने और एक विशाल डॉट-मैट्रिक्स प्रिंटर पर बड़े पाठ-केवल रिपोर्ट में डेटा पंप करने के लिए। लेकिन आजकल अधिकांश डेटा आरडीबीएमएस में हैं और अधिकांश प्रबंधक सुंदर रिपोर्ट की तरह हैं। COBOL बस इतनी अच्छी तरह से संभाल नहीं करता है।
पीडीआर

1
@ स्टीव ३४: हाँ! उन! सिवाय हमारे रेखा के मैट्रिक्स थे, और मैंने आज सुबह कॉफी नहीं पी थी जब मैंने यह लिखा था। - en.wikipedia.org/wiki/Line_matrix_printer
पीडीआर

3
COBOL के बिना एकल में, यदि आप थोड़ा खोज करते हैं, तो मुझे लगता है कि आप बहुत सारे डोमेन विशिष्ट भाषाओं को नोटिस करेंगे, यहाँ बहुत लोकप्रिय नहीं हैं (कम से कम कहने के लिए); COBOL, फोरट्रान, VB6, MATLAB ... सभी बहुत अच्छी भाषाएं, सिर्फ कंप्यूटर विज्ञान और उनके अंशों को पढ़ाने के लिए अच्छी नहीं हैं।
रुके

4
@ देखें - क्या वास्तव में सभी को डोमेन-विशिष्ट भाषाओं के रूप में गिना जाता है? यहां तक ​​कि MATLAB, IIRC, अभी भी सामान्य-प्रयोजन प्रोग्रामिंग में सक्षम है। मैंने सोचा कि डीएसएल ज्यादातर याक, लेक्स आदि जैसी चीजों पर लागू होता है - ऐसी भाषाएं जो वास्तव में एक काफी संकीर्ण कार्य करने में सक्षम हैं, जिससे अन्य सामान्य नाम "छोटी भाषाएं" बनती हैं। यह मेरे लिए कभी नहीं हुआ कि COBOL, फोरट्रान या VB को डोमेन-विशिष्ट कहा जा सकता है। बेशक वे प्रत्येक का उपयोग विशेष क्षेत्रों में करते हैं, लेकिन मुझे लगा कि वे अभी भी सामान्य प्रयोजन की भाषाएं मानी जाती हैं।
स्टीव314 10

1
@ स्टीव 314 - हां, ठीक है - हम कह सकते हैं कि दो पक्ष हैं। एक डोम ने कहा। केवल वे ही हैं जिनका आपने उल्लेख किया है, दूसरा अधिक सामान्य दृश्य लेता है और मेरे द्वारा उल्लेखित में भी मायने रखता है, जबकि अभी भी उन्हें सामान्य महत्वपूर्ण श्रेणी में रखा गया है। लेकिन व्यावहारिक रूप से, जहाँ भी आप इंजीनियरिंग और विज्ञान का उल्लेख करते हैं। अनि। आपको फोरट्रान या MATLAB, व्यवसाय मिलेगा ... COBOL ... शब्दावली का उपयोग करें जो आपको सबसे अधिक तर्कसंगत लगता है। मैं इसका उपयोग करता हूं क्योंकि मुझे लगता है कि यह ज्यादातर लोगों के साथ फिट बैठता है। किसी भी मामले में, उन्हें सामान्य रूप से सीएस समुदाय से किसी कारण से कोसने का उचित हिस्सा मिलता है।
रुके

जवाबों:


68

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

EDIT मैं प्राचीन अनुभव कहना चाहिए । मैंने 80 के दशक के अंत के बाद भाषा का इस्तेमाल कभी नहीं किया, हालांकि मैंने एक नई किताब खरीदी थी (पुरानी को हटाने के लिए जिसे मैंने घृणा में फेंक दिया था) ताकि मुझे कुछ संदर्भित हो ताकि मेरी डरावनी कहानियाँ बहुत विकृत न हों। लेकिन मुझे नहीं पता कि कम से कम पिछले 20 वर्षों में भाषा कैसे विकसित हुई है।

जाहिर है, कई लोगों के लिए, यह है और यह भी बहुत अधिक एक तीसरे हाथ पारित मुझे-नीचे नजरिए बात - सिर्फ इतना है कि "पुराने खराब है" देखने कि jonsca पहले से ही वर्णन किया है। लेकिन वास्तविक मुद्दे अंतर्निहित हैं।

बहुत अधिक चिंताजनक होना एक वास्तविक समस्या है - कोड को समझने के तरीके में बहुत अधिक अव्यवस्था है। यह अब तक का सबसे बड़ा मुद्दा है। जो लोग को देखो MOVE, ADDऔर MULTIPLYआतंक में आदि बयान, इस बात का एक थोड़ा अतिरंजित भय व्याप्त है सच - COMPUTEबयान अन्य भाषाओं में कार्य के करीब है। लेकिन उन सभी डिवीजनों और वर्गों में अभी भी बहुत अव्यवस्था है। COBOL में सीखी गई पहली चीजों में से एक हमेशा एक मानक पृष्ठ-ए-4-लॉन्ग SKELETON.COB की प्रतिलिपि बनाकर शुरू करना था।

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

इसके अलावा, हर अच्छी सुविधा के लिए, कम से कम एक असहनीय था। उदाहरण के लिए, चाहे कितना ही तुच्छ क्यों न हो, आपको शरीर को एक अलग प्रक्रिया में ले जाना होगा। PERFORM ... UNTIL ...और इसी तरह के बयान कर रहे हैं एक बयान - संरचनाओं ब्लॉक नहीं। एक अर्थ में, COBOL संरचित प्रोग्रामिंग का आविष्कार करने से पहले संरचित प्रोग्रामिंग का एक स्वाद था - एक थाGO TO , लेकिन इसका उपयोग हतोत्साहित किया गया था (कम से कम जब मैं कॉबोल का उपयोग करता था), लेकिन विशेष रूप से लूपिंग को अच्छी तरह से संभाला नहीं गया था।

वास्तव में, जो भाषा मैंने COBOL के बाद इस्तेमाल की थी, जो मुझे सबसे ज्यादा याद दिलाती थी ... dBase। जैसा कि एश्टन-टेट dBase III + में है। इन दिनों, लोगों को अब सभी मृत-या-मरने वाले क्लोन (क्लिपर, फॉक्सप्रो आदि) को याद करने की अधिक संभावना है, जिससे जेनेरिक नाम xBase हुआ - और अभी भी xHarbour में एक जीवित वंशज है। मुद्दा यह है कि ये डेटाबेस भाषाएं थीं, लेकिन एसक्यूएल जैसा कुछ भी नहीं है।

फिर भी, जहां एक विशेष डेटाबेस पर काम करने वाले प्रत्येक COBOL कार्यक्रम में उस डेटाबेस के विनिर्देश की एक प्रति (और प्रतियां असंगत समाप्त हो सकती हैं) को शामिल करने की आवश्यकता होती है, जो कि वास्तव में xBase में ऐसा नहीं है जहां डेटाबेस को पता है कि यह स्वयं की संरचना है।

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

ओह - और एक बात जो मैं कभी नहीं भूल पाऊंगा कि मेरी पहली कोबोल पाठ्यपुस्तक में SORTकमांड का वर्णन कैसे नहीं किया गया , यह कहते हुए कि यह पुस्तक के दायरे से बाहर है - जाहिर है, या तो लेखक छँटाई के विचार से सामना नहीं कर सकता, या यह माना जाता है कि COBOL छात्रों के छोटे से छोटे दिमागों का सामना करना पड़ सकता है [अंत में देखें संपादित करें]। इस तरह की बात ने COBOL को गंभीरता से लेना बहुत मुश्किल बना दिया।

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

जो समस्याएं जेएसपी संभाल सकती हैं, वे शायद उन चीजों के लिए एक अच्छी मार्गदर्शिका हैं जो कॉबोल अपेक्षाकृत अच्छी तरह से कर सकती हैं। लेकिन फिर भी, इसका मतलब यह नहीं है कि या तो JSP या COBOL उन समस्याओं को संभालने के अच्छे तरीके हैं।


संपादित करें 30 वीं जुलाई 2014 को

मुझे बस इसी से प्रतिष्ठा मिली, मुझे याद दिलाते हुए कि यह यहाँ है। जैसा कि होता है, कुछ पुरानी यादों के कारण, प्राचीन पुस्तक संग्रह के लिए, मैं अब एक बिंदु WRT को सही कर सकता हूं SORT

जब मैं सीखी गई पुस्तक को मूल रूप से अनुशंसित पाठ के रूप में इस्तेमाल किया गया था, जब रे वेलैंड द्वारा "COBOL में विधायी प्रोग्रामिंग" किया गया था। यह COBOL 85 को कवर नहीं करता है (हालांकि बाद के संस्करण "COBOL-85 में मैथडिकल प्रोग्रामिंग" था जिसे मैंने अभी तक नहीं देखा है)।

नीचे दिए गए टिप्पणी के प्रकार "आप उन्हें पढ़ने से पहले इनपुट फ़ाइलों को सॉर्ट करना चाहते थे, या ओएस के साथ आए सॉर्ट यूटिलिटी का उपयोग करके, इसे उत्पन्न करने के बाद आउटपुट फाइल को सॉर्ट करना चाहिए"। उस पर मेरे जवाब से, मैं "ओएस के साथ आया" बिंदु को याद किया। Kindall यूनिक्स दर्शन AFAICT को कुछ सुझाव दे रहा था, बिट्स के लिए इस्तेमाल की जाने वाली COBOL के साथ, यह कुछ अन्य चीजों के लिए उपयोग की जाने वाली OS उपयोगिता जैसे एक सॉर्ट उपयोगिता है, और संभवतः बिट्स को एक साथ गोंद करने के लिए एक बैच / स्क्रिप्टिंग / शेल भाषा का उपयोग किया जाता है। यह एक प्राचीन दुनिया में बहुत अधिक समझ में आता है जहां इंटरैक्टिव सॉफ्टवेयर गैर-मौजूद नहीं था, इसलिए आप वैसे भी काम के बैच जमा कर रहे होंगे (इसलिए "बैच भाषा")।

निम्नलिखित "COBOL में मैथडिकल प्रोग्रामिंग" के पृष्ठ 165-166 से उद्धृत किया गया है ...

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

COBOL प्रोग्राम के भीतर से रिकॉर्ड को छांटने की भी सुविधा है लेकिन यह दो कारणों से इस पुस्तक के दायरे से बाहर है:

(ए) ऑपरेटिंग सिस्टम का इंटरफ़ेस अक्सर काफी जटिल होता है और सिस्टम से सिस्टम में भिन्न होता है,

(b) सॉर्ट मॉड्यूल ANS '74 COBOL का एक वैकल्पिक हिस्सा है और छोटे कंप्यूटरों के लिए COBOL सिस्टम में लागू नहीं किया जा सकता है।

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

संक्षेप में, किंडल सही है - धारणा यह थी कि आमतौर पर छंटनी COBOL के बाहर की जाएगी। यहां तक ​​कि छोटे कंप्यूटरों के लिए 1974 के आसपास एक प्रोग्रामिंग भाषा से छंटनी करने का वास्तविक औचित्य भी हो सकता है।

ऊपर मैंने जो कहा था, वह मूल रूप से था जो आपको पुस्तक को फेंकने के कारण तथ्यों की जांच करने में सक्षम नहीं होने के लगभग 20 वर्षों के बाद मिलता है।

मुझे अभी भी इस ओर ध्यान देना चाहिए, कि मैंने 1988 और 1989 में 1974 की मानक (न कि 1985 के मानक) को कवर करने वाली इस अनुशंसित पुस्तक से COBOL का औपचारिक अध्ययन किया था। "COBOL फॉर स्टूडेंट्स" (पार्किंन, योर्क, बार्न्स) का तीसरा संस्करण - COBOL 85 को कवर करने वाला पहला संस्करण - 1990 तक प्रकाशित नहीं हुआ था। मुझे यकीन नहीं है, लेकिन मुझे लगता है कि "मेथोडिकल प्रोग्रामिंग" का COBOL 85 संस्करण 1994 तक प्रकाशित नहीं हुआ था।

लेकिन यह जरूरी नहीं है कि COBOL दुनिया को अपने पैरों को खींचता है - वैसे भी, उतना भी नहीं। नए मानकों को अपनाने में अभी भी, किसी भी भाषा के लिए समय लगता है।


5
+1 वास्तव में यह जानने के लिए कि आप किस बारे में बात कर रहे हैं। काश मैं आपको JSP के लिए एक और +1 दे पाता। क्या आपने कभी "डेल्टा" का उपयोग किया था? यह एक कोबोल जनरेटर था जैसे कि आप अपने जेएसपी को कोड में लिख सकते हैं, स्मृति परिभाषाओं (01 - 03 - 05) के समान शैली में और फिर अपने कोबोल को अंतराल में लिखें। मज़ा और निराशा दोनों नरक के रूप में।
पीडीआर

3
JSP पर विकिपीडिया पृष्ठ - en.wikipedia.org/wiki/Jackson_Structured_Programming । जब मैंने इसे सीखा, तो यह सब कागज पर किया गया था।
स्टीव 314

1
सॉर्ट करने का कारण हल की गई समस्या के रूप में माना गया था कि यह था। मेरे स्मरण से, COBOL ने वास्तव में एक बार (वर्तमान रिकॉर्ड और शायद पिछले वाले) में एक या दो से अधिक रिकॉर्ड स्मृति में होने को हतोत्साहित किया । आप उन्हें पढ़ने से पहले इनपुट फ़ाइलों को सॉर्ट करने वाले थे, या ओएस के साथ आए सॉर्ट यूटिलिटी का उपयोग करके, इसे उत्पन्न करने के बाद आउटपुट फाइल को सॉर्ट करने वाले थे।
किंडल

1
मैंने कुछ साल के लिए कुछ COBOL किया (संदर्भ के लिए, मैं केवल 26 वर्ष का हूं), और मैं आपके लिए एक बात स्पष्ट कर सकता हूं। अब आप अब आप के साथ इनलाइन कर सकते हैं, प्रत्येक पाश के लिए पैराग्राफ परिभाषित करने की जरूरत PERFORM UNTILकरने के लिए END-PERFORMब्लॉक। मुझे वास्तव में नफरत है कि मुझे पता है कि।
एजेंटकॉनड्रम

1
@ नील मुझे केवल उसके लिए बात स्पष्ट कर रहे थे, क्योंकि वह स्वीकार करता है कि उसका अनुभव पुराना है, यहां तक ​​कि COBOL मानकों द्वारा भी। मैं COBOL85 के बारे में आपकी बात प्राप्त करता हूं, लेकिन वहां बहुत सारे पुराने कोड हैं जो या तो शुरू होने से पहले शुरू हो गए थे, या उन लोगों द्वारा लिखे गए थे जिनके सिर पिछले संस्करण में फंस गए थे। आप वास्तव में एक कोडबेस को 85 मानकों तक नहीं मान सकते हैं, लेकिन अगर ऐसा है, तो भी यह एक असुविधाजनक भाषा है। पुराने प्रोग्रामर तेजी से रिटायर हो रहे हैं, और उनकी जगह बहुत कम नए प्रोग्रामर COBOL में काम करना चाहते हैं। मुझे पता है कि मैं फिर से सामान नहीं छूना चाहूंगा।
AgentConundrum

43

आज के अधिकांश खर्च कुछ COBOL लिखने के बाद मुझे लगता है कि मैं कुछ वर्तमान इनपुट दे सकता हूं।

पहले BAD सामान: -

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

गलतफहमी, यानी उन आलोचनाओं को आमतौर पर प्रिय पुरानी भाषा के खिलाफ लगाया जाता है जो अमान्य या अप्रासंगिक हैं।

  • शब्दाडंबर। तो आप कुछ अतिरिक्त वर्ण टाइप करें! यह एक गंभीर मुद्दा नहीं है। कई मामलों में COBOL जावा कहने की तुलना में कम क्रिया है।

  • "COBOL FILES" आप इस शब्द को बहुत आस-पास देखते हैं। ऐसी कोई बात नहीं है कि COBOL किसी भी फ़ाइल प्रारूप के बारे में और किसी भी फ़ाइल संगठन के बारे में बस संभाल सकता है।

  • कोई मल्टी थ्रेडिंग नहीं। उन वातावरणों में जहां COBOL पनपता है, बहु-थ्रेडिंग को आमतौर पर CICS या IMS जैसे कंटेनर में छोड़ दिया जाता है, जो प्रोग्रामर की तुलना में इस पर अच्छे होते हैं, जो कि खराब होते हैं।

और अच्छी चीजें - COBOL के कुछ पहलू अन्य भाषाओं से बेहतर हैं: -

  • डेटा संरचनाएं। COBOL में जटिल डेटा संरचनाओं और विषम डेटा प्रकारों को परिभाषित करने के लिए एक संक्षिप्त और लचीला वाक्यविन्यास है।
  • दशमांश अंकगणित। इसमें दशमलव अंकगणित यानी अंकगणित के लिए मूल समर्थन है, जैसा कि लेखाकारों द्वारा समझा जाता है, उचित गोलाई आदि के साथ।
  • टाइम्स के साथ चल रहा है। COBOL के कुछ पहलू आश्चर्यजनक रूप से आधुनिक हैं। XML समर्थन में निर्मित, OO प्रोग्रामिंग के लिए समर्थन, जावा वर्गों का उपयोग करने की क्षमता आदि।
  • DB2, CICS इत्यादि के साथ एकीकरण यह केवल IBM के मेनफ्रेम COBOL पर लागू होता है (लेकिन अभी तक चल रहे COBOL का सबसे बड़ा हिस्सा है) लेकिन DB2, CICS और अन्य मेनफ्रेम वातावरण के साथ एकीकरण से डेटा बेस समर्थित चीजों को कोड करना आसान हो जाता है किसी अन्य वातावरण की तुलना में वेब सेवाएँ।
  • स्क्रीन हैंडलिंग। एएस / 400 और माइक्रोफोकस कोबोल पर लागू मानक स्क्रीन हैंडलिंग उत्कृष्ट है।
  • प्रदर्शन। कई सालों से COBOL कंपाइलर बहुत ही उच्च निष्पादन निष्पादन योग्य उत्पादन कर रहे हैं। केवल देशी C और देशी असेंबलर ने IBM मेनफ्रेम पर COBOL को हराया।

तो यह सब 1950 में एक समिति द्वारा एक साथ रखा गया था कि कुछ के लिए काफी अच्छा कर रही है। यदि कोई मौजूदा एप्लिकेशन COBOL में कार्यान्वित किया गया है और वह कार्य करता है तो इसे फिर से लिखने का कोई कारण नहीं है। जब तक कि वास्तव में एक अच्छा कारण नहीं है कि मुझे नई परियोजनाओं के लिए COBOL का उपयोग करने का कोई औचित्य नहीं दिखता है।


2
मेरे जवाब में, मैं कहता हूं कि COBOL डेटा संरचनाओं के लिए खराब है। क्या यह "डेटा संरचना" का अर्थ में अंतर है? हो सकता है कि रिकॉर्ड-लेआउट उपकरण उत्कृष्ट हों, लेकिन COBOL अभी भी द्विआधारी पेड़ों आदि के लिए गलत भाषा है? या हो सकता है कि COBOL का मेरा अनुभव अभी बहुत पुराना था या अन्यथा सीमित था? मुख्य प्रश्न - क्या COBOL में संकेत हैं? (चिंताजनक रूप से, एक त्वरित Google हाँ का सुझाव देता है, हालांकि मेरी पुरानी पुस्तक सुझाव देती है)। मुझे लगता है कि मेरे लिए उन सभी प्यारे प्रतिनिधि बिंदुओं को अर्जित करने वाले उत्तर को वापस लेने से नफरत होगी, लेकिन अगर मैं गलत हूँ ...
स्टीव 314

3
दशमलव अंकगणित में एक नकारात्मक पहलू है: आपको यह कहना होगा कि आपको कितने अंक चाहिए। मुझे याद है कि जब हम एक समूह के भीतर किसी कार्यक्रम में क्लॉज़ में बहुत कम 9एस होते हैं, तो मुझे कीड़े ढूंढने लगते हैं PIC
डेविड थोरले

2
मेरी (बिना सूचना के) धारणा यह है कि COBOL विशेष रूप से कठोर, निश्चित-आकार के रिकॉर्ड में डेटा से निपटने में अच्छा है। इतना अच्छा नहीं, शायद, गतिशील डेटा संरचनाओं पर। यदि मैं गलत हूं तो मुझे सही करों।
बैरी ब्राउन

@ स्टीव ३१४ - yep पॉइंटर्स लगभग १ ९ were५ में आए लेकिन थोड़े लंगड़े थे क्योंकि आप उन्हें केवल लिंकेज सेक्शन में सामान करने के लिए सेट कर सकते थे। बाद के संस्करणों ने आपको कुछ भी इंगित करने की अनुमति दी।
जेम्स एंडरसन

1
@Structures - जबकि इसकी राख और पेड़ों आदि के मामले में पायथन मानकों तक नहीं है। यह सी या जावा के रूप में अच्छा है - इसके अलावा एक सी ++ प्लस बूस्ट या जावा प्लस संग्रह पुस्तकालय के रूप में अच्छा नहीं है। एक बार फिर मानक पुस्तकालयों और कार्यों के मूल्य की सराहना करने में विफलता ने अपने लंबे जीवन में भाषा को अपंग कर दिया है।
जेम्स एंडरसन

27

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

फिर संस्करणों के बीच भी बड़ी असंगति की बात है।

मैं विकिपीडिया में भाषा के लिए आलोचना और रक्षा अनुभाग पढ़ने का सुझाव दूंगा - http://en.wikipedia.org/wiki/COBOL#Criticism_and_defense


20
किसी दिन वे एक तिजोरी कोड की खोज करेंगे जिसे उन्होंने दिज्कस्ट्रा द्वारा लिखित भाषाओं में लिखा था।
जोंस्का

7
@ जोंस्का - आप पैसे के लिए क्या करेंगे इस पर आपको आश्चर्य होगा।
जेएफओ

3
कम से कम 70 के दशक तक असंगत संस्करण IIRC बहुत आम था, और 80 के दशक में भी बेसिक था। दिज्क्स्ट्रा शायद मेरे जवाब में मेरे द्वारा बताए गए एक मुद्दे के आधार पर अपनी बात बना रहा था - COBOL डेटा संरचना कोडिंग के लिए अच्छा नहीं है (या इसका मतलब अच्छा है)। इसलिए, "शिक्षण प्रोग्रामिंग" या "शिक्षण कंप्यूटर विज्ञान" के एक विशेष मूल्य के लिए, COBOL वास्तव में जहर है। बेशक, क्योंकि COBOL उस के लिए अभिप्रेत नहीं है, यह एक बहुत अनुचित दावा है - लेकिन फिर, IIRC, संदर्भ यह था कि कुछ लोग COBOL का उपयोग करके इन चीजों को सिखाने की कोशिश कर रहे थे
स्टीव 314

2
दिज्क्स्त्र <- एक आदमी जो बहुत ज्यादा बात करता है ...
रूक


9

यह उम्र है और वाचालता आमतौर पर ऐसी चीजें हैं जो लोगों को इसके बारे में कराहती हैं।

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

जाहिरा तौर पर किसी भी अन्य भाषा की तुलना में जंगली में अधिक COBOL है। हालाँकि, लगभग 20 वर्षों तक आईटी में काम करने के बाद (बैंकिंग में 15) मैंने कभी भी एक भी प्रणाली का सामना नहीं किया है जो इसमें लागू की गई थी।


मैंने सुना है कि किसी ने पास होने में बैंकिंग का उल्लेख किया है, जो एकमात्र कारण है कि मैंने इसे शामिल किया है, लेकिन मैं निश्चित रूप से आपके शब्द को किसी और के लिए ले जाऊंगा।
jonsca

4
मैंने बैंकिंग में 20 साल तक काम किया, लगभग सभी कोबोल में। विभिन्न बैंकों ने चीजों को अलग-अलग तरीके से किया है जो मुझे लगता है।
ट्रू डब

मुझे पता है कि कम से कम एक प्रमुख ईआरपी सिस्टम है (या लगभग 2007 तक) इसमें बहुत सारे COBOL हैं।
एलन बी

2
यह आईबीएम नहीं था जिसने COBOL को डिजाइन किया था। मुख्य उदाहरण अमेरिकी नौसेना और UNIVAC थे।
जेम्स एंडरसन

8
"COBOL को डिज़ाइन करते समय IBM का मुख्य उद्देश्य यह था कि" एक बैंक प्रबंधक को एक कार्यक्रम लिखने की अनुमति दी जानी चाहिए "। एक महान लक्ष्य, हालांकि मुझे पता है कि प्रबंधकों के विशाल बहुमत भी मुझे एक वेबसाइट के लिए सरल साहित्य नहीं लिख सकते हैं, अकेले COBOL लिखें।
maple_shaft

8

COBOL के बारे में इतना बुरा क्या है?

कुछ भी तो नहीं।

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

1997 में, गार्टनर ग्रुप ने बताया कि दुनिया का 80% कारोबार COBOL पर अस्तित्व में 200 बिलियन से अधिक कोड और नए कोड की अनुमानित 5 बिलियन लाइनों के साथ चलता है। ( विकिपीडिया के माध्यम से )

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

यदि पुराने कोड को देखने में कोई समस्या है, तो जब तक आप UI या उसके सामने वेब इंटरफ़ेस को थप्पड़ मार सकते हैं, तब तक अधिकांश उपयोगकर्ताओं को अंतर पता नहीं चलेगा।


1
भाषाएँ उपयोगकर्ताओं के लिए हैं?
जेएफओ

16
"कोड की पंक्तियाँ" एक अच्छी क्रॉस-भाषा माप नहीं है। कोबोल कुख्यात क्रिया है। कोड एनॉल की वे 5 बिलियन लाइनें शायद सत्रह रेगीज़ के बराबर हैं;)
MSalters

3
कभी-कभी COBOL काम के लिए सही उपकरण है - कई बार ऐसा नहीं होता है। कठिन हिस्सा लोगों को अंतर पहचानने के लिए मिल रहा है।
ट्रूडब

1
काफी सच, @TrueDub। मेरे वाक्य में थोड़ी बिक्री हुई, लेकिन इसका मतलब यह नहीं था।
जोंस्का

3
@TrueDub: यदि COBOL किसी कार्य के लिए सही उपकरण है, तो मैं उस कार्य को नहीं करना चाहता, जब तक मेरे पास विकल्प हैं। वहाँ और अधिक दिलचस्प काम कर रहे हैं मैं अच्छी तरह से भुगतान कर सकते हैं।
डेविड थॉर्नले

5

लोग COBOL को नापसंद करते हैं क्योंकि इसमें सीमित अनुप्रयोग है। यह व्यापार, वित्त, और कंपनियों और सरकारों के लिए प्रशासनिक प्रणालियों के लिए डिज़ाइन किया गया था।

इन सभी में क्या समानता है? डेटा। बहुत सारे और बहुत सारे डेटा।

लगता है कि कौन डेटा को क्रंच करने के लिए डिज़ाइन किया गया था और नाश्ते के लिए बहुत सारी फाइलें हैं? क्या आप कॉमन बिजनेस-ओरिएंटेड लैंग्वेज कह सकते हैं ?

50 साल पहले COBOL बड़े संगठनों के लिए सबसे अच्छी चीज थी जिसमें बहुत सारे डेटा का प्रबंधन किया जाता था। आज बड़ी मात्रा में डेटा को प्रबंधित करने के बेहतर तरीके हैं इसलिए COBOL अब प्रासंगिक नहीं है। या यह है?

आइए सरकारों पर विचार करें। सरकार को ट्रैक करने के लिए क्या डेटा चाहिए? लोग आईडी, जन्म प्रमाण पत्र, चिकित्सा रिकॉर्ड, करों (ओह ... हाँ ... करों) आदि आदि और वे इन infos को अनिश्चित काल तक, आज और 50 साल पहले भी धारण करना चाहिए।

लोगों ने कुछ जवाबों में बैंकों का भी खंडन किया और वास्तव में बैंक COBOL के भारी उपयोगकर्ता हैं। क्यों? क्योंकि अन्य प्रकार की कंपनियों के विपरीत बैंकों का आमतौर पर इतिहास होता है। कुछ सैकड़ों वर्षों से मौजूद हैं ( उदाहरण के लिए यह एक )।

इसका मतलब है कि 50 साल से कुछ डेटा अभी भी हमारे साथ, 7 अक्टूबर, 2011 को यहां होना चाहिए। अब हमारे पास SQL ​​सर्वर और C # या Oracle और जावा है, लेकिन 50 साल पहले COBOL और फाइलें थीं।

जैसे-जैसे समय बीतता गया गोव्स और बैंकों के आंकड़े बढ़ते गए और बड़े होते गए और सिस्टम को माइग्रेट करना अधिक से अधिक महंगा हो गया। जिसका अर्थ है कि उन्हें COBOL में बने रहना चाहिए और व्यवसाय विकसित होने के रूप में निरंतर और विकसित होना चाहिए। कुछ बैंक धीरे-धीरे पलायन कर रहे हैं जबकि अन्य सिर्फ मेनफ्रेम के सामने एक अच्छा वेब 2.0 इंटरफ़ेस छड़ी करते हैं (सी # और जावा ज्यादातर उपयोग किए जाते हैं)। क्या आप विरासत कोड कह सकते हैं? (COBOL हाथ से हाथ (चरम) विरासत कोड के साथ चला जाता है, कुछ जो अस्तित्व के दशकों में बहुत से लोगों द्वारा छुआ गया था - एक और चीज जिसे हम प्रोग्रामर पसंद नहीं करते हैं: डी)।

और अब आपके पास गतिविधि का एक आला है। COBOL में अब सीमित अनुप्रयोग है और आपका अनुभव प्रभावित होता है

और COBOL में आने वाले लोगों को अंततः पता चलता है कि आप साल-दर-साल एक ही काम करते हैं, साल-दर-साल और जब तक वे जागते हैं तब तक वे बाजार पर प्रतिस्पर्धी नहीं रह जाते हैं क्योंकि लोग अब PHP, Java, C # चाहते हैं। , REST, jQuery और केवल बैंक ही COBOL लोगों की तलाश करते हैं।

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

PS और COBOL अन्य लोगों द्वारा उल्लिखित अन्य सभी कारणों से खराब है :)

पीएस 2। In 1997, the Gartner Group reported that 80% of the world's business ran on COBOL with over 200 billion lines of code in existence and with an estimated 5 billion lines of new code annually.वास्तव में? और दिन कैसे मापा गया? क्या वे हर कंपनी को शब्द में करते हैं और उनसे पूछते हैं कि उनके पास COBOL की कितनी लाइनें हैं या क्या हैं?


4

दो विशेषताएं।

  • ALTER कथन शुद्ध बुराई है। हालांकि शायद ही कभी अधिक आधुनिक COBOL अनुप्रयोगों में उपयोग किया जाता है, लेकिन इसका उपयोग "पुराने दिनों" में किया गया था क्योंकि यह "IF-GOTO" के समकक्ष संरचना की तुलना में अधिक कुशल था। जब कंप्यूटर में केवल 32K RAM होता था, तो प्रत्येक निर्देश मायने रखता था। इसने एक अलग गंतव्य के लिए एक गोटो बयान को संशोधित किया।

    इसने कुछ कोड को अपारदर्शी बना दिया क्योंकि कोड स्वयं स्टेटफुल था।

  • डेटा संरचना में REDEFINES खंड (जैसे unionC) एक स्थायी समस्या है। शब्द "मुक्त संघ" - यानी, एक विभेदक के बिना ओवरलेड डेटा संरचनाएं - समस्या को संक्षेप में प्रस्तुत करने का एक तरीका है। दो REDEFINES उपनामों को डेटा द्वारा विशिष्ट रूप से प्रतिष्ठित नहीं किया जा सकता है; केवल प्रोग्राम लॉजिक का व्यापक पठन बाइट्स की दो वैकल्पिक व्याख्याओं के अर्थ को निर्धारित कर सकता है ।

    इसने कई डेटा संरचनाओं को अपारदर्शी बना दिया क्योंकि डेटा को कोड के बिना नहीं समझा जा सकता है।

इन दो निर्माणों द्वारा अंग्रेजी जैसी वाक्य रचना की पठनीयता पराजित हुई।

[मुझे मध्यस्थों द्वारा चेतावनी दी गई है कि छोटे उत्तर आपके महत्वपूर्ण और दिलचस्प प्रश्न को खारिज कर रहे हैं। यदि आपको यह पता चलता है, तो आप विवरण मांग सकते हैं। या इसे ध्वजांकित करें ताकि मध्यस्थ इसे हटा सकें।]


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

कभी-कभी आपके जवाब मुझे खारिज कर देते हैं, लेकिन यह सिर्फ बेकार है। मुझे नहीं पता कि आप यहां मदद करने की कोशिश कर रहे हैं, लेकिन यह बुरी तरह से कर रहा है, या यदि आप सिर्फ अपने आप से बात कर रहे हैं। मैं आपसे पूछ सकता था कि 'शुद्ध बुराई' से आपका क्या मतलब है, लेकिन ऊपर दिए गए अच्छे उत्तरों की सुंदरता यह है कि मुझे कुछ सीखने के लिए बातचीत शुरू करने की आवश्यकता नहीं है।
एरिक विल्सन

@ EricWilson: मेरे जवाब को इतनी अच्छी तरह से खारिज करने के लिए धन्यवाद। इससे मुझे यह समझने में मदद मिली कि और क्या जोड़ने की जरूरत है।
S.Lott

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

@ S.Lott अपने परिवर्धन के लिए धन्यवाद (आप भी @ स्टीव 314), मैंने कुछ दिलचस्प सीखा, और मेरे वोट को उलट दिया।
एरिक विल्सन

3

मैंने कई अच्छे वर्षों के लिए COBOL में प्रोग्राम किया है। इसकी वाक्य रचना आज की भाषाओं की तुलना में सरल है और आपको इसे प्राप्त करने के लिए बहुत अधिक सिद्धांत की आवश्यकता नहीं है। COBOL ने IBM के CICS (एक ऑन-लाइन ट्रांजेक्शन मैनेजमेंट सिस्टम) के साथ बहुत अच्छी तरह से काम किया और प्रोग्रामर को 1 से कई हजारों तक के उपयोगकर्ताओं की एप्लिकेशन संख्या को स्केल करने के लिए कोड में नोट करने की आवश्यकता है। सीआईसी ने एक चरित्र आधारित जीयूआई प्रदान किया जो स्क्रीन के साथ प्रदर्शन की इकाई के रूप में काम करता है (कोई विंडोज़ नहीं)। आप मेनफ्रेम पर (IBM के GDDM) का उपयोग करके चार्ट प्रदर्शित कर सकते हैं। COBOL अनुक्रमित फ़ाइलों (VSAM और ISAM) के साथ-साथ DB2 (SQL आधारित रिलेशनल) और IMS से भी बात कर सकता है। COBOL / CICS बहुत ही मजबूत वातावरण है और आप इसे कुछ हफ्तों में सीख सकते हैं। इसका मतलब है कि आप व्यवसाय पर ध्यान केंद्रित करते हैं न कि तकनीक पर, इसलिए आप एमवीएम, जावास्क्रिप्ट और इस तरह सीखने पर नहीं कोडिंग पर 8 में से 7 घंटे काम करते हैं।

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

VB, DBase, FoxPro और Clipper जैसी भाषाओं में DOS पर तुलनीय COBOL की तुलना में PC पर 'डेटाबेस' तक पहुँचने के बेहतर तरीके थे इसलिए COBOL हार गया। सीआईसी को लंबे समय तक डॉस या यूनिक्स पर सस्ता नहीं बनाया गया था, इसलिए इसका मूल्य इन वातावरणों पर मौजूद नहीं था।

आज, COBOL .NET के साथ समर्थित है, लेकिन मुझे लगता है कि यह मेनफ़्रेम (और संभवतः एएस / 400) को छोड़कर सभी प्लेटफार्मों पर लड़ाई हार गया है, जहां मिशन-महत्वपूर्ण अनुप्रयोगों की बड़ी संख्या के कारण यह अभी भी वहां है जो पूरी तरह से निर्भर हैं यह।


"इंटरफ़ेस की तरह विंडोज के लिए समर्थन की कमी" .... netcobol.com/products/Fujitsu-NetCOBOL-for-.NET/overview के
JoelFan

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

2

हेह, मैं 80 के दशक की शुरुआत में कॉलेज गया था, और लोग तब भी COBOL से बदनाम थे। मुझे लगता है कि सबसे बड़ी समस्या इसकी वाचालता है - एक सरल "हैलो, दुनिया!" COBOL में शायद पचास से अधिक लाइनें हैं, जिनमें से 95% को बॉयलरप्लेट की आवश्यकता होती है। यह सिर्फ एक बहुत ही सुरुचिपूर्ण या आकर्षक भाषा नहीं है। यह भी कल की समस्याओं को संभालने के लिए डिज़ाइन किया गया था, और लगभग 1970 के बाद विकसित होने वाले प्रतिमानों के लिए वास्तव में खुद को उधार नहीं देता है। यह एक बहुत अच्छी रिपोर्ट पीढ़ी की भाषा है - जब तक कि आपकी रिपोर्ट हेडर और फुटर के साथ संख्याओं के अंतहीन स्तंभ हैं। यदि आप कहीं ग्राफ या लोगो में रहना चाहते हैं, तो इसे भूल जाइए। मुझे लगता है कि यह अभी भी "डेटा प्रोसेसिंग" -प्रकार के कार्यों के लिए सबसे तेज़ भाषा है (5M एटीएम लेनदेन के साथ एक निश्चित प्रारूप फ़ाइल लें और प्रत्येक के लिए एक सरल संतुलन समायोजन करें) लेकिन कितने डेवलपर्स किसी भी प्रकार की चीजों को करते हैं? और आजकल बहुत सारे सिस्टम XML या JSON का उपयोग करते हैं, मुझे COBOL के साथ कुछ भी पार्स करने की कोशिश करने के बारे में सोचने से नफरत होगी (वास्तव में, मुझे COBOL में सामान्य रूप से पार्स करने के बारे में सोचने से नफरत होगी!)


1
"हैलो वर्ल्ड" कितनी लाइनें लेता है ?. XML को पार्सिंग / जनरेट करना - अब भाषा में बनाया गया है। हो सकता है कि आपको अपना ज्ञान आधार अपग्रेड करना चाहिए। यह उत्तर 1960 के COBOL के युग का है।
नीलबेल

दिलचस्प। मुझे एक दशक के लिए COBOL के साथ काम नहीं करना पड़ा, लेकिन पिछली बार जब मैंने इसे देखा तो इसे वैसे ही लिखा गया था जैसा कि मुझे याद है, IDENTIFICATION DIVISION, WORKING-STORAGE सेक्शन और सभी। मुझे लगता है कि वे सभी "आवश्यक टिप्पणियां" (AUTHOR, DATE-WRITTEN, SOURCE-COMPUTER, OBJECT-COMPUTER) अब वैकल्पिक हैं। XML पार्सिंग उस प्रभावशाली को नहीं देखता है - आपको फ़ाइल संरचना को प्रतिबिंबित करने के लिए डेटा डिवीजन की संरचना करनी है, कोई SAX या DOM- शैली प्रसंस्करण नहीं है। यह जानने के लिए अच्छा है, हालांकि।
TMN
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.